mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-01 14:58:14 +00:00
sceMp3GetInfoToAddStreamData always handed back the start of the work area, so the pointer never moved as data was added - the hardware walks it forward past what's already buffered. AuNotifyAddStreamData now takes the new bytes from where the game was actually told to write, and checks that range fits the buffer rather than just comparing the size. Also compare readPos against endPos as signed. readPos is an int and a game can notify a negative size, which made it promote to a huge u64 and look like the end of the stream, so we reported nothing left to write where the hardware still wanted 6721 bytes. Fixes audio/mp3/infotoadd, moved to tests_good. audio/mp3/notifyadd gets both of its value differences fixed but still fails: after a decode the hardware reports no space at all, while we free what the decode consumed, so we do one round more than it does. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> Claude-Session: https://claude.ai/code/session_01JvJR8oJNSCimCM9KXVLjfq