Files
AnyPS5/docs/dev/debt/libSceSrcUtl.md
T

1.7 KiB

libSceSrcUtl technical debt

Unknown function info

  • sceSrcUtilityFinalize, sceSrcUtilityFlush, sceSrcUtilityGetDelaySamples, sceSrcUtilityInitialize, sceSrcUtilityInitializeEx and sceSrcUtilityResample (libSceSrcUtl) - throw and stay declared without parameters: in firmware 13.42 they drive AJM codec 19 (0x13), which this project's AJM lacks, and the conversion runs inside AJM, not in this module. sceSrcUtilityInitializeEx initializes an AJM context and registers codec 19; sceSrcUtilityInitialize checks its arguments like sceSrcUtilityGetHandleSize, clears the 0x9678-byte handle, creates a codec 19 instance, sends it a control job and marks the handle (0xDEADBEEFBAADF00D at 0x9470, priority 0x28 at 0x2C). The implemented calls sceSrcUtilityGetHandleSize, sceSrcUtilitySetPriority and sceSrcUtilityGetPriority follow firmware 13.42's libSceSrcUtl.sprx, read from disassembly and not measured on a console, on its PS5 process path; their argument names are inferred from its checks. For a PS4 process the module allows only 1 or 2 channels and refuses 22050 Hz to 192000 Hz, which is not modelled

  • sceSrcUtilityCreateEx, sceSrcUtilityDeleteEx, sceSrcUtilityGetAjmContext, sceSrcUtilityTerminateEx throw through NotImplemented_nid_no_patch. Names and NIDs are bound by the 13.60 firmware inventory; signatures and behaviour remain unknown. Parameterless int declarations are import-resolution placeholders, not confirmed ABI signatures. Their service behaviour is unimplemented.