mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-05 13:20:11 +00:00
On the console only libSceAudiodec.native exports sceAudiodecGetAjmContext and sceAudiodecUnregisterCodec; libSceAudiodec does not. They move out of the source shared by both libraries into the native module, and a new test checks that libSceAudiodec no longer exports them.
8 lines
2.0 KiB
Markdown
8 lines
2.0 KiB
Markdown
# libSceAudiodec.native technical debt
|
|
|
|
### Unknown function info
|
|
|
|
- [libSceAudiodec.native pending exports](../../../core/libs/prx/libSceAudiodec.native/Export.cpp) - 14 named callable exports are listed in the [PS5 3.20 export table](https://github.com/DNNDHH/PS5-3.20_Libs/blob/b2a77c09cd71c01f34c790cfbe98c751a13262ad/libSceAudiodec.native.c) and were cross-checked against the same module in PS5 firmware 13.60. Their signatures and behaviour are unverified; the declarations use the no-parameter unknown-signature convention and throw through `NotImplemented_nid_no_patch`.
|
|
- [sceAudiodecUnregisterCodec](../../../core/libs/prx/libSceAudiodec.native/Export.cpp) (libSceAudiodec.native) - throws on every call. @BunnyFl's [firmware 13.42 run](https://github.com/boykopovar/AnyPS5/issues/13680#issuecomment-6537745276) of `libSceAudiodec.native.sprx` under an emulator with imports stubbed gives `(context, 32-bit type)`, a null context returning `0x807F0002` and an unknown type `0x807F0001`, but every accepted type ends in an Ajm service call whose result it returns. Its parameterless `int` declaration is an import placeholder, not a verified prototype. Only this module exports it on the console, as the [13.60 inventory](https://github.com/xdCloudy/PS5-13.60-Function-Stub-Library/blob/bfec40deb4c47a17d7603ee2bc79aa6862c0c56b/data/firmware-13.60/libsceaudiodec-2dbab67864.jsonl) and the 13.42 module agree
|
|
- [sceAudiodecGetAjmContext](../../../core/libs/prx/libSceAudiodec.native/Export.cpp) (libSceAudiodec.native) - `(context, uint32_t* ajmi, uint32_t* ajm)` from the same [13.42 run](https://github.com/boykopovar/AnyPS5/issues/13680#issuecomment-6537745276), not measured on a console: a null context returns `0x807F0002` and writes nothing, otherwise the two 32-bit ids at offsets 0 and 4 of the context go to the outputs that are not null and the call returns 0, with no lock, no service call and no check that `sceAudiodecInitialize` filled the context. Only this module exports it, so `libSceAudiodec` does not
|