mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-23 09:03:22 -05:00
sceAudio3dBedWrite2 stored the bed in a single slot that sceAudio3dPortAdvance mixed without clearing, so an advance with no new write replayed the previous block instead of mixing silence, and two writes before one advance kept only the second. The writes are queued now, as shadPS4's ConvertAndEnqueue does: the queue is bounded by queue_depth and returns NOT_READY when full, an advance consumes one bed, and an advance with nothing queued mixes silence through the mixer's empty-source path, which the mixer test already covers. guest_audio3d_port gains the queue case: fill the queue, require NOT_READY, advance, and require the consumed bed to make room. It fails on the old code at the NOT_READY of the full queue.