mirror of
https://github.com/libretro/RetroArch.git
synced 2024-11-23 16:09:47 +00:00
ea81928e39
* 🎵 Fast forward audio resampling. Solves #15160. Previously, we avoided doing any resampling while fastforwarding based on the assumption it was impossible to make the audio not crackle due to both flush-to-flush timing fluctuations and timer accuracy. However, turns out this is not the case. The audio doesn't "crackle" per se when the timing fluctuates! It's just that the sounds don't make sense since the time compression and decompression caused by the flush time fluctuations mess with the audio consistency. To work around that, we introduce a running average flush delta time that makes sure the audio is both resampled to approximately the correct rate and consistent. This was tested in two settings: - Limited rate fastforwarding (2x-4x) - Unlimited fastforwarding In both cases it seems to work well, but with unlimited fastforwarding it's just high pitched and annoying, so this is probably the most useful in the 2x to 4x range. * Move declartion to support C89 * resampling ratio upper and lower bounds * Add toggle for speeding up audio |
||
---|---|---|
.. | ||
common | ||
drivers | ||
drivers_resampler | ||
audio_defines.h | ||
audio_driver.c | ||
audio_driver.h | ||
audio_thread_wrapper.c | ||
audio_thread_wrapper.h | ||
librsound.c |