GSCapture: add volume slider and scale recorded audio
Description of Changes
Fixes #12700
- Added an audio capture volume slider
- Made a new AudioCaptureVolume setting stored in GS config, defaulting to 80%.
- Applied the volume multiplier when feeding samples to the FFmpeg encoder
Originally I was going to add libavfilter but I couldn't justify adding that library for one feature so that's why I did this the way I did.
Rationale behind Changes
Giving users a volume control makes built-in recording behave more like standard capture tools where mic/system levels can be balanced before hitting "Record."
Suggested Testing Steps
- Start a capture with default settings, then inspect the resulting video to confirm the recorded audio is quieter than before.
- Change the slider to e.g. 50% and 100%, capture again, and confirm the output volume scales accordingly for the video capture
Did you use AI to help find, test, or implement this issue or feature?
No.
Latest changes seems to cause crackling on the audio.
https://github.com/user-attachments/assets/b54a01ee-6801-4b76-822f-d90711be179c
My capture settings:
Latest changes seems to cause crackling on the audio.
Crash.Twinsanity_SLUS-20909_20251201215551.mp4 My capture settings:
Oh yeah, yikes let me go ahead and try to fix that.
If the PR is not in a reviewable state please draft it. I just spent time looking at the code to find that it needs to be changed 💔
If the PR is not in a reviewable state please draft it. I just spent time looking at the code to find that it needs to be changed 💔
Sowy I forgor
