mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-04 13:07:32 +00:00
6.0 KiB
6.0 KiB
libSceVoiceChat technical debt
Silent stubs
- sceVoiceChatDeleteRequest, sceVoiceChatInitialize, sceVoiceChatProcessEvent and sceVoiceChatTerminate (libSceVoiceChat) - console behavior for these lifecycle, event, and request calls has not been measured; the current exports return success without managing sessions or requests, allowing offline titles and test suites to proceed without connecting to a voice chat daemon.
- sceVoiceChatAbortRequest, sceVoiceChatRegisterChannelEventHandler, sceVoiceChatRegisterDaemonEventHandler, sceVoiceChatRegisterMemberEventHandler, sceVoiceChatRegisterPartyUserStateChangedHandler, sceVoiceChatRegisterVoiceEventHandler, sceVoiceChatStartAccessibilityEvent, sceVoiceChatStartChannelEvent, sceVoiceChatStartDaemonEvent, sceVoiceChatStartMemberEvent, sceVoiceChatStartRangedMemberEvent, sceVoiceChatStartVoiceEvent, sceVoiceChatStopAccessibilityEvent, sceVoiceChatStopChannelEvent, sceVoiceChatStopDaemonEvent, sceVoiceChatStopMemberEvent, sceVoiceChatStopRangedMemberEvent, sceVoiceChatStopVoiceEvent, sceVoiceChatUnregisterAccessibilityEventHandler, sceVoiceChatUnregisterChannelEventHandler, sceVoiceChatUnregisterDaemonEventHandler, sceVoiceChatUnregisterMemberEventHandler, sceVoiceChatUnregisterMicEventHandler, sceVoiceChatUnregisterPartyUserStateChangedHandler, sceVoiceChatUnregisterRangedMemberEventHandler, sceVoiceChatUnregisterVoiceEventHandler (libSceVoiceChat) - offline handler registration and event controls return 0 without connecting to a voice chat daemon, because the host environment does not run a PSN voice chat service; titles that register event listeners or start/stop audio capture events proceed safely without throwing
- sceVoiceChatRegisterHandlers and sceVoiceChatRegisterMicEventHandler (libSceVoiceChat) - they keep no handler and return 0 without connecting to a voice chat daemon, so no handler is ever called; the handler table's layout and the handlers' prototypes are not identified. The signatures come from one disassembled title (PPSA21564 01.007.000), not from a console: it calls
sceVoiceChatRegisterHandlers(0x2e473c) with a 0x30-byte structure of six function addresses and a user argument, thensceVoiceChatRegisterMicEventHandler(0x2e4751) with the 32-bit value it also passes as the user id ofsceNpWebApi2CreateUserContext, a function address and the same user argument, and treats a negative result from either as failure
Unknown function info
- libSceVoiceChat additional exports - these name/NID pairs are present in the inspected export inventory. Parameter lists, return types and behavior are unverified. Parameterless
intdeclarations are import-resolution placeholders, not verified ABI prototypes; every entry throws throughNotImplemented_nid_no_patch. No runtime functionality is implemented.
The inventory label is not authenticated retail-firmware provenance. The inspected image contains raw module-parameter words 0x13590001 at +0x10 and 0x13600007 at +0x14. Using the published static ELF membership procedure, its 37 unique function NIDs have sorted-LF SHA-256 6ae782ec9803eb89b69814a4687c2e7e25940b3f26e48dde34f0abd465cd2448; all 2 entries below are present. This digest identifies the function-NID set, not the whole binary or its ABI. An independent review on this PR corroborated these identities using a separately reported 13.42 reference; that does not establish matching binaries, prototypes or behavior.
| Name | NID |
|---|---|
sceVoiceChatRegisterMicEventHandler2 |
hVf-dQZU4nE |
sceVoiceChatUnregisterMicEventHandler2 |
Jra48Mpq8+Q |
- sceVoiceChatGetActiveChannel, sceVoiceChatGetChannelMemberActiveChannelMatchingState, sceVoiceChatGetChannelMemberVoiceConnectionState, sceVoiceChatGetChatChannelMemberInfoList, sceVoiceChatGetChatGroupMemberInfoList, sceVoiceChatGetMicState, sceVoiceChatGetUserVoiceVolumeGain, sceVoiceChatRegisterChannelEventHandler, sceVoiceChatRegisterDaemonEventHandler, sceVoiceChatRegisterMemberEventHandler, sceVoiceChatRegisterPartyUserStateChangedHandler, sceVoiceChatRegisterVoiceEventHandler, sceVoiceChatRequest0, sceVoiceChatRequest1, sceVoiceChatRequestAcsTts, sceVoiceChatRequestAction, sceVoiceChatRequestSetMemberVolume, sceVoiceChatRequestUpdateGameSessionVoiceChatChannelName, sceVoiceChatRequestUpdatePlayerSessionVoiceChatChannelName, sceVoiceChatSetUserVoiceVolumeGain, sceVoiceChatStartAccessibilityEvent, sceVoiceChatStartChannelEvent, sceVoiceChatStartDaemonEvent, sceVoiceChatStartMemberEvent, sceVoiceChatStartRangedMemberEvent, sceVoiceChatStartVoiceEvent, sceVoiceChatStopAccessibilityEvent, sceVoiceChatStopChannelEvent, sceVoiceChatStopDaemonEvent, sceVoiceChatStopMemberEvent, sceVoiceChatStopRangedMemberEvent, sceVoiceChatStopVoiceEvent, sceVoiceChatUnregisterAccessibilityEventHandler, sceVoiceChatUnregisterChannelEventHandler, sceVoiceChatUnregisterDaemonEventHandler, sceVoiceChatUnregisterMemberEventHandler, sceVoiceChatUnregisterMicEventHandler, sceVoiceChatUnregisterPartyUserStateChangedHandler, sceVoiceChatUnregisterRangedMemberEventHandler, sceVoiceChatUnregisterVoiceEventHandler (libSceVoiceChat) - parameter layouts are inferred; offline, handlers and event controls return 0, query calls, volume gain controls, and requests return
SIGNED_OUT(0x80550006) without modifying guest buffers - sceVoiceChatRequestCreateVoiceChatGroup, sceVoiceChatRequestJoinVoiceChatGroup, sceVoiceChatRequestLeaveVoiceChatGroup, sceVoiceChatRequestDeleteVoiceChatGroup (libSceVoiceChat) - assumed to take a request id and two pointers like the other
sceVoiceChatRequest*calls; offline, every argument is ignored andSIGNED_OUTis returned, as for those