mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-22 00:22:57 -05:00
2.9 KiB
2.9 KiB
libSceVoiceQoS technical debt
Unknown function info
- sceVoiceQoSSetConnectionAttribute (libSceVoiceQoS, NID
KCGOxg8iX7s) is a throwing stub declared without parameters, like the other endpoint calls of the library: PPSA04159 fails to load without it and its signature is unknown. The name hashes to the imported NID (tools/nid_names.py) - sceVoiceQoSInit (libSceVoiceQoS) -
0x804E0905for a second initialization comes from prosper's reading of the module and was not measured: on a PS5 a valid call blocks inside a homebrew payload, so it never returns there. PPSA26344's two call sites (0xE307BF,0x151C45D) pass an allocated pointer, a 0x40000-byte block and app type 0x10000000; the app type and block are not used.sceVoiceQoSCreateLocalEndpointtakes four arguments (int* id, userId, deviceInId, deviceOutId) as declared in fpPS4 (src/ps4_libscevoice.pas,ps4_sceVoiceQoSCreateLocalEndpoint); no public reference exists for the other six signatures (DeleteLocalEndpoint(id),CreateRemoteEndpoint(int* id),DeleteRemoteEndpoint(id),Connect(int* id, local, remote),Disconnect(connection),SetLocalEndpointAttribute(id, attribute, value, size)), which are assumed from function naming and call patterns and not confirmed on a PS5 title. Endpoints and connections are tracked by allocated id; duplicate connections and deleting an endpoint while referenced in a connection are permitted as the console is not known to reject them; local endpoint attributes are stored as given (including empty or non-positive sizes), as their ids and defaults are unknown; other endpoint and packet calls remain throwing stubs. The not-initialized error 0x804E0901 is assumed from the 0x804E09xx numbering, and unknown ids returnARGUMENT_INVALID. Aliens: Fireteam Elite (PPSA03393) uses all seven implemented calls on its first load path, starting withsceVoiceQoSCreateLocalEndpointwhen it registers the local talker; it stops withnot implementedwhen any of them throws
Functional
- sceVoiceQoSEnd (libSceVoiceQoS) -
0x804E0901(not initialized) before any initialization was measured on a PS5 (firmware 13.60, #1407); ending an initialized library was not, because a validsceVoiceQoSInitnever returns inside a homebrew payload. PPSA14632 calls it at shutdown and PPSA26344 after a nonzerosceVoiceQoSInit. After an initialization it returns 0 and clears the init flag, so the library can be initialized again. Whether the console also ends the libSceVoice instance that itssceVoiceQoSInitstarts (prosper's reading of the module), and what it answers while endpoints exist, is unknown; here it drops every endpoint and connection