Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
09401 Sound Minor Always 16 days ago 14 hours ago
Tester Janez View Status Public Platform SDLMAME
Assigned To R. Belmont Resolution Fixed OS Linux (64-bit)
Status [?] Resolved Driver
Version 0.286 Fixed in Version 0.287GIT Build x64
Fixed in Git Commit c48c188 Github Pull Request #
Summary Regresssion 09401: SDL sound unaffected by fast forward
Description sdl is the default sound output method, if you press the fast forward button the video accelerates but the audio doesn't. So, after a while, you get a video-audio delay.
It doesn't happen with the other sound output methods; portaudio, pulse and pipewire are not affected.
It never happened before, so I guess the new upgrade from SDL2 to SDL3 is involved.
Steps To Reproduce - Start any game with the sdl sound output method (the default):
mame tehkanwc -sound sdl
- Press the fast forward button (Page Down for SDL MAME) for a couple of seconds.
- You'll see the video accelerate, but the audio will not.
Additional Information
Github Commit
Flags Regression
Regression Version 0.286
Affected Sets / Systems
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
5
User avatar
No.24207
Robbbert
Moderator
16 days ago
I don't use SDL so unable to confirm, but it's acknowledged. Hopefully someone who does use SDL can check it out.
User avatar
No.24235
holub
Tester
12 days ago
Confirming issue with sdl3; sdl2 - works fine
User avatar
No.24270
hap
Developer
1 day ago
edited on: 1 day ago
I didn't compile SDLMAME, but I see what's going on in the sdl3_sound module.
It doesn't use sink_callback, it sends samples immediately through SDL_PutAudioStreamData instead of abuffer.
User avatar
No.24275
Robbbert
Moderator
1 day ago
edited on: 1 day ago
This commit references this report:

https://github.com/mamedev/mame/commit/c48c18802e312b3ce5fea4502a369a5ae564fb39

Can someone with SDL say if it changes anything?
User avatar
No.24277
hap
Developer
14 hours ago
edited on: 14 hours ago
RB is SDL user, so...

Looking at the diff, the infinite buffer queuing is indeed fixed.
BTW the workaround introduces latency that sticks around after fast-forward (or other events that may cause overruns), 0.16s by default. (which itself can be worked around with by pausing/unpausing, like previously with the recently fixed abuffer sound crackling bug)