Repository navigation
feat(libSceVideoRecordingP): implement the recorder as unsupported - #953
Closed
hugodearaujo wants to merge 1 commit into
Closed
hugodearaujo wants to merge 1 commit into
hugodearaujo wants to merge 1 commit into
Conversation
This was referenced Oct 6, 2026
feat(libSceJson2): implement typed construction, indexed and keyed value access, InitParameter2
#369
Merged
hugodearaujo
force-pushed
the
feat/video-recording-unsupported
branch
3 times, most recently
from
October 6, 2026 21:01
5e0fa3e to
b6d3825
Compare
sceVideoRecordingOpen validates its arguments and returns SCE_VIDEO_RECORDING_ERROR_UNSUPPORTED, as the host has no recording service. sceVideoRecordingGetStatus reports NONE, sceVideoRecordingStart, Stop and Close return INVALID_STATE without an open recorder, and sceVideoRecordingQueryMemSize returns the 4 KiB maximum heap size. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
hugodearaujo
force-pushed
the
feat/video-recording-unsupported
branch
from
October 6, 2026 21:08
b6d3825 to
f7be0aa
Compare
Collaborator
|
Thanks for fixing the If a title stops at one of these throws, please reopen with its ID and the first call it reaches, and limit the changes to what it calls. The |
This was referenced Oct 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Six libSceVideoRecordingP exports threw. They now model a console whose recorder is unavailable, as the host has no recording service:
sceVideoRecordingQueryMemSize(param)returns 4 KiB, the maximum heap size in SharpProspero (MaxMemSize).sceVideoRecordingOpen(path, param, heap, heapSize)returnsSCE_VIDEO_RECORDING_ERROR_UNSUPPORTED(0x80A80008). Its signature onmainwas a placeholder(buffer, size, param); the new one follows SharpProspero and fpPS4'ssceVideoRecordingOpen2. A null path, param or heap, or a path longer than 1023 bytes (SharpProsperoMaxPathLen), throws.sceVideoRecordingGetStatusreturnsNONE(0), as no recorder is ever open.sceVideoRecordingStart,sceVideoRecordingStopandsceVideoRecordingClosereturnSCE_VIDEO_RECORDING_ERROR_INVALID_STATE(0x80A80006) without an open recorder.Error values follow shadPS4 and fpPS4. The NIDs match the PS5 symbol lists for
libSceVideoRecording.native.The anonymous export
iQS6DUtLybE(0x8904BA0D4B4BC9B1) still throws: no known name hashes to it and its ABI is unknown.Assumptions are recorded in TechnicalDebt:
INVALID_STATEfor start/stop/close.Open question for review: the Raeen HLE (
libsce_online_misc.rs) returns 0 from Stop and Close in the same disabled-recorder model.INVALID_STATEwas chosen here because no recorder is open, but neither value is verified on hardware.Tested
Linux (Arch, GCC), Release with
BUILD_TESTING=ON, rebased on currentmain. Newguest_video_recordingtest:QueryMemSizereturns 4096, and a null param throws.Openthrows for a null path, param or heap and for a 1024-byte path. With a 1023-byte path or a normal path it returnsUNSUPPORTED.INVALID_STATE.GetStatusreturnsNONEbefore and after.Four mutations each make the test fail:
Openreturning 0, an off-by-one path limit, the null heap check removed, andGetStatusreturning 1. Fullctest: 360/360 passed. Not tested with a title.tools/progress.py --compareagainstmain: System libraries 87.21% (+0.21%, +6 implemented functions).Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt.mdfiles or images added to the repository (attach them to this PR)🤖 Generated with Claude Code