2.0 KiB
2.0 KiB
libSceAudio3d technical debt
Silent stubs
- libSceAudio3d - the port produces no sound: objects can be reserved and
sceAudio3dObjectSetAttributesaccepts their attributes, but the library has no bed exports or mixing to give them audio, the attributes have no effect andsceAudio3dPortPushonly paces the queue atgranularitysamples per frame at 48 kHz.sceAudio3dPortSetAttributeaccepts the late reverb level and the downmix spread attributes and ignores them.sceAudio3dObjectSetAttributesvalidates the port, the reserved object and the attribute array (an object id that was never reserved returns the invalid-object error, while shadPS4 returns success for it and the error only for a released object; neither is measured on a console), treating the reset-state attribute as valid with a null value and requiring a value for the others; the attribute identifiers and the value of each are not interpreted.sceAudio3dPortFlushdrops the frames queued bysceAudio3dPortAdvanceinstead of mixing and submitting them to an output, as there is no output
Unknown function info
- sceAudio3dPortOpen (libSceAudio3d) - buffer modes 0 and 1 (also selected by the 0x10 and 0x18 parameter sizes) and 3 beds depend on an SDK version check in the module (prosper) and throw. A repeated
sceAudio3dInitialize(NOT_READYin shadPS4, 0 in prosper) andsceAudio3dPortAdvanceon a full queue (NOT_READYin shadPS4, unhandled in KytyPS5) throw too - sceAudio3dObjectReserve (libSceAudio3d) - object ids, the
max_objectslimit and the checks ofsceAudio3dObjectReserveandsceAudio3dObjectUnreservefollow shadPS4 (PS4), the only reference with a body: ids count up from 1 per port, skipping 0, 0xFFFFFFFF and ids in use, and a failed reserve writes 0xFFFFFFFF