mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-01 14:58:14 +00:00
libatrac3plus picks the codec parameter from the frame size and the header's joint stereo flag, and the channel count plays no part. We guessed joint stereo from the frame size and channel count instead, so LocoRoco 2's MuiMui house music never started: the game writes a 2-channel normal-stereo header for every track it streams, and that 0xC0 track holds one mono sound unit per frame. Taken as joint stereo, its first frame failed during setup, and the game retried forever. Now the joint stereo flag comes from the track header, and the decoder's channel count from the parameter it maps to, so that track decodes as mono into both output channels, as on hardware. Low-level decoding, which has no header, still goes by the frame size. Atrac2 saves the flag; older states fall back to the guess. Fixes #8647. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>