mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-22 16:43:05 -05:00
5.6 KiB
5.6 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 PS3cellVoiceResetPortin RPCS3; that the PS5 library takes the same argument is assumed. A reset clears a port's buffered data, and ports here buffer nothing (sceVoiceReadFromOPortreturns 0 bytes andsceVoiceWriteToIPortthrows), 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
sceAudioOut2EnableChatmodel. 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 - sceVoiceInit, sceVoiceStart, sceVoiceCreatePort, sceVoiceGetPortInfo (libSceVoice) - a second
sceVoiceInitreturns 0x804E0802, and Start, CreatePort and GetPortInfo return 0x804E0801 before checking any argument while the library is not initialized, as prosper reads them from the shipped module. The other port and lifecycle calls still throw when the library is not initialized, since prosper gives no module address for them. WhethersceVoiceInitchecks a null param before its state is unknown, so a null param still throws first, and thatsceVoiceEndreturns the library to the not-initialized state is assumed. Closes when: the other entry points are read from the module or measured on a PS5 - sceVoicePausePort, sceVoiceResumePort (libSceVoice) - not measured on a PS5: the
(uint32_t portId)signature follows VitaSDK and the PS3 calls in RPCS3, and the console's error codes and its result for pausing a paused port or resuming a running one are unknown (0 here, as in RPCS3). Both only check that the library is initialized and the port exists: VitaSDK documents that a paused port keeps its data and reported state, and nothing here processes port data. PPSA24191 imports them - sceVoiceInitHQ (libSceVoice) - unknown signature
- sceVoiceGetMemorySize (libSceVoice) - unknown signature
- sceVoiceDeviceInCustomerData (libSceVoice) - unknown signature
- sceVoiceQAEnableRecording (libSceVoice) - unknown signature
- sceVoiceVADAdjustment (libSceVoice) - unknown signature
- sceVoiceVADPVTAdjustment (libSceVoice) - unknown signature
- sceVoiceVADSetVersion (libSceVoice) - unknown signature
- sceVoiceSetMuteFlagAll (libSceVoice) - unknown signature
- sceVoiceSetBitRate (libSceVoice) - unknown signature
- sceVoiceUpdatePort (libSceVoice) - unknown signature
- sceVoicePausePortAll (libSceVoice) - unknown signature
- sceVoiceResumePortAll (libSceVoice) - unknown signature