mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-01 14:58:14 +00:00
When sceAudioOutputBlocking has to wait and the wait fails at once (interrupts or dispatch disabled, inside an interrupt), the firmware returns the error but leaves the channel's waiting flag set, and the channel can never be used or released again. Keep the error, drop the rest: whether the channel was busy at that moment is timing, and a small difference in ours could lose a channel for the rest of a game where hardware wouldn't. No game can depend on losing one. Savestates made while this was emulated have the flag cleared on load. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>