7.4 KiB
libSceAudioIn technical debt
Silent stubs
- sceAudioInInit (libSceAudioIn) - returns 0 without library-wide setup, as
sceAudioOutInitdoes; eachsceAudioInOpenopens its own SDL capture device
Unknown function info
-
sceAudioInDeviceIdOpen (libSceAudioIn) - unknown signature
-
sceAudioInDeviceIdAsyncOpen (libSceAudioIn) - unknown signature
-
sceAudioInSetUsbGain (libSceAudioIn) - unknown signature
-
sceAudioInIsSharedDevice (libSceAudioIn) - unknown signature
-
sceAudioInDeviceIdHqOpen (libSceAudioIn) - unknown signature
-
sceAudioInDeviceHqOpen (libSceAudioIn) - unknown signature
-
sceAudioInSetConnections (libSceAudioIn) - unknown signature
-
sceAudioInSetPortConnections (libSceAudioIn) - unknown signature
-
sceAudioInSetPortStatuses (libSceAudioIn) - unknown signature
-
sceAudioInGetHandleStatusInfo (libSceAudioIn) - unknown signature
-
sceAudioInDeviceOpenEx (libSceAudioIn) - unknown signature
-
sceAudioInChangeAppModuleState (libSceAudioIn) - unknown signature
-
sceAudioInSetSparkParam (libSceAudioIn) - unknown signature
-
sceAudioInSetSparkSideTone (libSceAudioIn) - unknown signature
-
sceAudioInSetCompressorPreGain (libSceAudioIn) - unknown signature; the PS5 13.60 module returns 0 without reading any argument, and so does this one
-
sceAudioInSetNoiseGateThreshold (libSceAudioIn) - unknown signature; the PS5 13.60 module returns 0 without reading any argument, and so does this one
-
sceAudioInSetMicLevel (libSceAudioIn) - unknown signature
-
sceAudioInSetDeviceMuteStatus (libSceAudioIn) - unknown signature
-
sceAudioInSetDevConnection (libSceAudioIn) - unknown signature
-
sceAudioInCountPorts (libSceAudioIn) - unknown signature
-
sceAudioInSetUserMute (libSceAudioIn) - unknown signature
-
sceAudioInVmicCreate (libSceAudioIn) - unknown signature
-
sceAudioInVmicDestroy (libSceAudioIn) - unknown signature
-
sceAudioInVmicWrite (libSceAudioIn) - unknown signature
-
sceAudioInVmicGetStatus (libSceAudioIn) - unknown signature
-
sceAudioInVmicSetMute (libSceAudioIn) - unknown signature
-
sceAudioInSetMode (libSceAudioIn) - unknown signature
-
sceAudioInSetMode2 (libSceAudioIn) - unknown signature
-
sceAudioInExtCtrl (libSceAudioIn) - unknown signature
-
sceAudioInInputs (libSceAudioIn) - unknown signature
-
sceAudioInExtClose, sceAudioInExtInput, sceAudioInExtOpen, sceAudioInExtSetAecMode, sceAudioInSetConnectionsForUser and sceAudioInSetFocusForUser (libSceAudioIn) - The list is the intersection of the export table of the console's libSceAudioIn (function symbols only), the pinned aerolib names and the functions not yet defined anywhere in the repo. Names and NIDs are present in the PS5 3.20 export inventory and the verified NID name database, but no credible prototypes were found. They are declared without parameters solely to resolve known imports; this is not an ABI claim and callers must not call them until signatures are verified.
-
6 additional pending imports in InventoryExports.cpp are listed in the local PS5 3.20 export inventory
libSceAudioIn.c. Their signatures and behavior are unverified; each uses the no-parameter unknown-signature convention and throws throughNotImplemented_nid_no_patch, for import resolution only. -
sceAudioInExtClose— NIDkFKJ3MVcDuo—sceAudioInPending_001_nid_no_patch -
sceAudioInExtInput— NIDKpBKoHKVKEc—sceAudioInPending_002_nid_no_patch -
sceAudioInExtOpen— NIDYZ+3seW7CyY—sceAudioInPending_003_nid_no_patch -
sceAudioInExtSetAecMode— NIDFVGWf8JaHOE—sceAudioInPending_004_nid_no_patch -
sceAudioInSetConnectionsForUser— NIDthLNHvkWSeg—sceAudioInPending_005_nid_no_patch -
sceAudioInSetFocusForUser— NIDiN3KqF-8R-w—sceAudioInPending_006_nid_no_patch
Functional
- sceAudioInIsPadEmbeddedMic (libSceAudioIn) - returns 0 for every open port: on the console it returns 1 when the port captures from the controller's built-in microphone and 0 for another input device, but ports here capture from the host's default input device
- sceAudioInHqOpen, sceAudioInAsyncOpen - PS5 wrapper validation requires 48000 Hz followed by exactly 128 samples for both calls; HqOpen then requires format 2. The host uses the same SDL capture path for both, so native asynchronous scheduling and high-quality processing are not reproduced. Common port validation, device selection and host capture pacing remain incomplete. One title (PPSA03355, in its libfmod plugin) disassembled for this entry calls
sceAudioInAsyncOpenfrom one call site (0xe5972) with index 0, 128 samples, 48000 Hz and a last argument of 2, plus a type argument of 0 or 1, which agrees with the 48000 Hz and 128 samples above; it stores the result in a slot of its own and branches on a negative result. What the last argument 2 means is not shown. - sceAudioInGetGain, sceAudioInGetRerouteCount - GetGain writes 1.0f before handle validation and returns 0x80260105 for a null output, as confirmed by the PS5 module. Native handle bit checks and uninitialized/inactive port errors differ from the host port table. Native reroute counters follow device reassignment; the host opens each SDL device once and reports zero.