3.7 KiB
libSceVideoRecordingP technical debt
Unknown function info
-
sceVideoRecordingGetInfo, sceVideoRecordingSetInfo support native validation and errors before a recording context exists. Open and initialization remain protected unimplemented exports; live recording queries, control and volume changes are unavailable.
-
_sceVideoRecordingQueryParam_nid_postfix: the supplied module reads a 64-bit size and writes a 32-bit mode at offset 12 for sizes at least 16, plus a 32-bit option at offset 28 for sizes at least 64. Mode/option meanings remain unresolved; the protected implementation is unchanged.
-
sceVideoRecordingCloseByHandle, sceVideoRecordingGetInfoByHandle - native handles are context pointers. Recording state and per-handle queries remain unimplemented.
-
sceVideoRecordingCopyBGRAtoNV12 - the destination, source, 32-bit width and height arguments are confirmed. Pixel conversion remains unimplemented.
-
sceVideoRecordingGetSupportInfo, sceVideoRecordingGetVideoOutMode - GetSupportInfo writes an 18-byte payload whose fields remain unresolved. GetVideoOutMode takes a four-byte output confirmed by the native recording assembly and Avcap2 IPC descriptor; the mode values remain unresolved. Both exports remain unimplemented.
-
sceVideoRecordingInit, sceVideoRecordingTerm (libSceVideoRecordingP) - parameterless initialization and termination stubs; unimplemented and throw
NotImplemented_nid_no_patch -
sceVideoRecordingInitialize: the native initializer consumes no caller arguments; the former optional parameter is not read by the Avcap2 initializer or recording setup. Its unused parameter slot is retained because the protected body references it.
-
sceVideoRecordingOpen, sceVideoRecordingOpen2 - the 32-byte and 40-byte parameter variants, four argument registers and 32-bit heap size are recovered. Mode, output mode, option and format semantics remain incomplete. QueryHddSize2 returns a signed 64-bit size or error; recording and sizing exports remain unimplemented.
-
Handle and support queries - native recording handles are context pointers, and GetSupportInfo writes 18 bytes. Support payload field semantics remain incomplete. RestModeProcessStart, RestModeProcessGetStatus and SendCommand consume no caller arguments in the supplied native module; their existing unused parameter slots remain because the protected bodies reference those parameter names.
Functional
- sceVideoRecordingGetStatus (libSceVideoRecordingP) always returns 0,
None("The recorder is not open") in SharpProspero'sVideoRecordingStatus, also listed in shadPS4. It is true here becausesceVideoRecordingOpenthrows, so no recorder is ever open. Unverified: whether the console returns 0 or an error beforesceVideoRecordingInit/sceVideoRecordingInitialize, which throw, and when it reportsRunning(1) orPaused(2)