* 🎵 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
* Use wp_viewporter
* Set buffer scale to highest of displays the window is touching
* Fixes fullscreen issue mentioned in #15168
* Simplify process of adding new wayland protocols
As mentioned in https://github.com/libretro/RetroArch/issues/14954,
audio device selection works only if respective functions are
implemented in audio driver.
Added sink listing and selection. Common menu code takes care of the rest.
* Update and rename Blargg_NTSC_SNES_Custom_pseudo_PCE_PSX_SNES_Composite.filt to Blargg_NTSC_SNES_Custom_pseudo_PCE_SNES_Composite.filt
Change "their" to "his" in the credits because it's the appropriate pronoun.
Remove "PSX" from the filename because it doesn't seem to work with any currently available PSX core.
* Update and rename Blargg_NTSC_SNES_Custom_pseudo_PCE_PSX_SNES_S-Video.filt to Blargg_NTSC_SNES_Custom_pseudo_PCE_SNES_S-Video.filt
Change "their" to "his" in the credits because it's the appropriate pronoun.
Remove "PSX" from the filename because it doesn't seem to work with any currently available PSX core.
* Update and rename Blargg_NTSC_SNES_Custom_pseudo_PCE_PSX_SNES_RGB.filt to Blargg_NTSC_SNES_Custom_pseudo_PCE_SNES_RGB.filt
Change "their" to "his" in the credits because it's the appropriate pronoun.
Remove "PSX" from the filename because it doesn't seem to work with any currently available PSX core.
* Update Blargg_NTSC_SNES_Custom_pseudo_MD_S-Video.filt
Change "their" to "his" in the credits because it's the appropriate pronoun.
* Update Blargg_NTSC_SNES_Custom_pseudo_MD_Composite.filt
Change "their" to "his" in the credits because it's the appropriate pronoun.
* Rename Blargg_NTSC_SNES_Custom_pseudo_PCE_SNES_Composite.filt to Blargg_NTSC_SNES_Custom_pseudo_PCE_SNES_PSX_Composite.filt
Change "their" to "his" in the credits because it's the appropriate pronoun.
Revert filename to include "PSX" becsuse it works under certain conditions based on feedback.
* Rename Blargg_NTSC_SNES_Custom_pseudo_PCE_SNES_RGB.filt to Blargg_NTSC_SNES_Custom_pseudo_PCE_SNES_PSX_RGB.filt
Change "their" to "his" in the credits because it's the appropriate pronoun.
Revert filename to include "PSX" becsuse it works under certain conditions based on feedback.
* Rename Blargg_NTSC_SNES_Custom_pseudo_PCE_SNES_S-Video.filt to Blargg_NTSC_SNES_Custom_pseudo_PCE_SNES_PSX_S-Video.filt
Change "their" to "his" in the credits because it's the appropriate pronoun.
Revert filename to include "PSX" becsuse it works under certain conditions based on feedback.
* Delete e -i HEAD~5
Remove because it's just a garbage file.
* Rename Blargg_NTSC_SNES_Custom_pseudo_PCE_SNES_PSX_Composite.filt to Blargg_NTSC_SNES_Custom_pseudo_PCE_PSX_SNES_Composite.filt
* Rename Blargg_NTSC_SNES_Custom_pseudo_PCE_SNES_PSX_RGB.filt to Blargg_NTSC_SNES_Custom_pseudo_PCE_PSX_SNES_RGB.filt
* Rename Blargg_NTSC_SNES_Custom_pseudo_PCE_SNES_PSX_S-Video.filt to Blargg_NTSC_SNES_Custom_pseudo_PCE_PSX_SNES_S-Video.filt