mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-04 13:07:32 +00:00
8 lines
1.7 KiB
Markdown
8 lines
1.7 KiB
Markdown
# libSceSrcUtl technical debt
|
|
|
|
### Unknown function info
|
|
|
|
- [sceSrcUtilityFinalize, sceSrcUtilityFlush, sceSrcUtilityGetDelaySamples, sceSrcUtilityInitialize, sceSrcUtilityInitializeEx and sceSrcUtilityResample](../../../core/libs/prx/libSceSrcUtl/Export.cpp) (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](../../../core/libs/prx/libSceSrcUtl/Export.cpp) throw through `NotImplemented_nid_no_patch`. Names and NIDs are bound by the [13.60 firmware inventory](https://github.com/xdCloudy/PS5-13.60-Function-Stub-Library/blob/bfec40deb4c47a17d7603ee2bc79aa6862c0c56b/data/firmware-13.60/libscesrcutl-970010b531.jsonl); signatures and behaviour remain unknown. Parameterless `int` declarations are import-resolution placeholders, not confirmed ABI signatures. Their service behaviour is unimplemented.
|