Files
AnyPS5/docs/dev/debt/libSceVoice.md
T

2.7 KiB

libSceVoice technical debt

Silent stubs

  • sceVoiceGetPortAttr (libSceVoice) - attribute 1001 writes one zero byte and returns 0 for an existing port; the backend processes no voice audio. PPSA34501 requests size 1 and reads one byte on success, and this fallback avoids its startup exception. The name follows attribute 1001 (CELLVOICE_ATTR_VAD) (Voice Activity Detection) in RPCS3, not confirmed for the PS5. The correct result, eligible port types and behaviour are unknown.

Unknown function info

  • sceVoiceResetPort (libSceVoice) - the (uint32_t portId) signature is the PS Vita one in VitaSDK and the PS3 cellVoiceResetPort in RPCS3; that the PS5 library takes the same argument is assumed. A reset clears a port's buffered data, and ports here buffer nothing (sceVoiceReadFromOPort returns 0 bytes and sceVoiceWriteToIPort throws), so it only checks that the library is initialized and the port exists, as RPCS3 does, and keeps the port's connections, volume and mute flag. An uninitialized library or an unknown port throws like the other port calls; the console's error codes are not measured. PPSA23566 imports it
  • sceVoiceGetResourceInfo (libSceVoice) - the (VoiceResourceInfo* info) signature and port limits (7 voice inputs, 7 voice outputs, 1 device input, 1 device output, 64 total ports) are the PS Vita ones in VitaSDK; that the PS5 library uses the same layout and limits is assumed. An uninitialized library or a null output pointer throws like the other Voice calls; console limits and error codes are not measured. PPSA23566 imports it
  • sceVoiceEnableChat, sceVoiceDisableChat (libSceVoice) take no arguments and return 0, following SharpProspero and the sceAudioOut2EnableChat model. The host mixes no chat audio, so the calls only record whether chat audio is enabled and fail when the library is not initialized. Console error codes and chat session requirements are unverified. PPSA23566 imports them