| Summary: | Mix_SetMusicCMD and playing forever | ||
|---|---|---|---|
| Product: | SDL_mixer | Reporter: | Darius Scerbavicius <darius.scerb> |
| Component: | misc | Assignee: | Sam Lantinga <slouken> |
| Status: | RESOLVED FIXED | QA Contact: | Sam Lantinga <slouken> |
| Severity: | normal | ||
| Priority: | P2 | ||
| Version: | unspecified | ||
| Hardware: | x86 | ||
| OS: | Linux | ||
| Attachments: | simple test program and a midi file | ||
|
Description
Darius Scerbavicius
2006-11-04 01:28:43 UTC
Created attachment 179 [details]
simple test program and a midi file
Seems to happen with both Mix_SetMusicCMD("timidity"); and Mix_SetMusicCMD("aplaymidi -p 17:0"); but doesn't happen when I don't use Mix_SetMusicCMD.
Thanks, this was a sneaky one! When music loops, the looping music play call is done from the audio thread, and SDL threads block signals to avoid signal side effects. So we just need to unb lock those signals before executing the new process. You provided a great test case, thanks! This is fixed for the next release. :) |