You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SDL will automatically convert your requested audio to the host's audio, so you can ask for any rate/frequency/format and it will do the conversion. But you can also ask it to give you a rate/frequency/format and it will give you the best option available within your constraints. As of 75aa320 the DOSBox-X code requests 16-bit PCM with any frequency/sample rate and gets back a stream that's converted by SDL to 32-bit float internally.
DOSBox-X was previously asking for ANY format, not just 16-bit PCM. So it got float instead.
Describe the bug
Apparently recent versions of SDL2 and SDL3 are only able to provide floating point audio (something to do with Pipewire?).
If you ask for 16-bit PCM, it will still return float. Previous versions of DOSBox-X don't check if it changed.
Fortunately the mixer callback in DOSBox-X is a simple function and could be copies to make a 32-bit float version easily enough.
Steps to reproduce the behaviour
Run DOSBox-X in an environment that doesn't provide 16-bit PCM, observe loud distorted noise.
Expected behavior
No response
What operating system(s) this bug have occurred on?
Linux, with Pipewire
What version(s) of DOSBox-X have this bug?
All previous and current versions.
Used configuration
Output log
Additional information
No response
Have you checked that no similar bug report(s) exist?
Code of Conduct & Contributing Guidelines
The text was updated successfully, but these errors were encountered: