mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-21 08:12:09 -05:00
Both threw. They now take no arguments and return 0x804E0801 while the library is not initialized and 0 otherwise, as shadPS4's PS4 versions do; that not-initialized code is the one prosper reads for sceVoiceStart, and RPCS3's PS3 calls make the same check. Like sceVoicePausePort they change no reported state: VitaSDK documents that pausing every port keeps buffered data and the reported port state, and nothing here processes port data. guest_voice calls both before sceVoiceInit and after sceVoiceEnd (0x804E0801), and twice each with ports open, where GetPortInfo still reports the same type, state and frame size. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
6.2 KiB
6.2 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 - sceVoicePausePortAll, sceVoiceResumePortAll (libSceVoice) - not measured on a PS5: both return 0x804E0801 while the library is not initialized and 0 otherwise, as in shadPS4; prosper reads the same code for
sceVoiceStart, and the PS3 calls in RPCS3 make the same check. LikesceVoicePausePortthey change nothing that is reported: VitaSDK documents that pausing every port keeps the buffered data and the reported state, and nothing here processes port data - 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