Repository navigation
docs(debt): name when the emulators stamp the last audio output time - #13676
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MarcZX10
left a comment
There was a problem hiding this comment.
Reviewed — looks good
The documentation-only clarification is supported by the cited implementations; keep the declared #12765 landing order because a combined branch preview conflicts in the same debt file.
What I ran
Reviewed exact head 4574fd1356b0501a69cbea3b6fa824f0f5731d22 against PR base bb45e1c59633c948c813f00d447ead34ca46a576. Both PR heads merge individually with current main 5324fcd2e88daedb1ccae954cc18c825a212db8d; the pairwise preview of #12765 and #13676 conflicts in docs/dev/debt/libSceAudioOut.md. Environment: Debian Linux 6.1.0-54-amd64, x86-64, Python 3.11.2; no compiler or project build was run.
python3 tools/pr_precheck.py --repo boykopovar/AnyPS5 --pr 13676
python3 tools/pr_stack_check.py 13676 --repo boykopovar/AnyPS5 --output-dir /tmp/anyps5-pr-stack/boykopovar-AnyPS5-pr-13676-final
git --git-dir=/tmp/anyps5-pair-12765-13676.git merge-tree --write-tree refs/pr/12765 refs/pr/13676
sed -n '175,190p' /tmp/shadps4-audioout.cpp
sed -n '690,810p' /tmp/fpps4-audioout.pas
grep -n -A45 -B15 'sceAudioOutGetLastOutputTime\|sceAudioOutOutput\|sceAudioOutOutputs' /tmp/anyps5-audioout.cpp
grep -R -n 'sceAudioOutGetLastOutputTime' /tmp/KytyPS5-5e837a9beac82c031868eaad9348d6a48245fb99 2>/dev/null | head -20Results
| Check | Result |
|---|---|
| Diff and conventions | Passed. Documentation-only change; git diff --check passed and repository conventions reported no findings. |
| Source verification | The pinned shadPS4 implementation stamps after handing audio to its output implementation; fpPS4 stamps after its blocking device write. AnyPS5 stamps after queueing or pacing. A search of the pinned KytyPS5 source tree found no sceAudioOutGetLastOutputTime symbol. |
| Integration | Each PR merges cleanly with current main; combining #12765 then #13676 conflicts in the shared debt file. The PR already declares the dependency and landing order. Reconcile the conflict after #12765 lands; no request to rebase now. |
| Hosted CI | Eligibility, intake, conventions and labels passed. Product build/test jobs were skipped because only documentation changed. |
| Precheck limitation | The aggregate precheck was not clean: its isolated checkout lacks the workspace-only tools/pr_test_quality.py, and it reports the declared dependency head is not yet included. These are tooling/stack status, not a failed documentation check. |
Unedited relevant output
Conventions:
All conventions checks passed.
Current-main and dependency preview:
# PR stack check — fresh
Target: https://github.com/boykopovar/AnyPS5/pull/13676
Target branch tip: `5324fcd2e88daedb1ccae954cc18c825a212db8d`
All heads unchanged: **True**
Dependency order: #12765 → #13676
## Individual merge previews
- PR #12765: **clean** against current base; head `37648e7c777634b4829036c2cb4a6e5004f142d8`; changed paths: none reported
- PR #13676: **clean** against current base; head `4574fd1356b0501a69cbea3b6fa824f0f5731d22`; changed paths: none reported
## Dependency relationships
- #12765 → #13676: **current_dependency_head_not_included**; overlapping changed paths: `docs/dev/debt/libSceAudioOut.md`
Pairwise preview:
Auto-merging docs/dev/debt/libSceAudioOut.md
CONFLICT (content): Merge conflict in docs/dev/debt/libSceAudioOut.md
Precheck helper limitation:
/usr/bin/python3: can't open file '/tmp/anyps5-pr-precheck/boykopovar-AnyPS5-pr-13676-4574fd1356b0/head-4574fd1356b0-b8c03010/tools/pr_test_quality.py': [Errno 2] No such file or directory
Sources
- The revised debt entry at the reviewed head
- shadPS4 output timestamp, pinned to commit
0614ce324be092791b758d79f93d9f1ca5b10a81 - fpPS4 output timestamp, pinned to commit
04cefd43e6fddd1ab033e7980cd356d14c964905 - AnyPS5 output timestamp at the reviewed head
- KytyPS5 audio implementation, pinned to commit
5e837a9beac82c031868eaad9348d6a48245fb99
Not verified
No project build, unit test, device playback or PS5 console run was relevant to this documentation-only diff. The cited PS4 emulator behavior is not console measurement; the PR says so explicitly.
|
Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.
Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.
|
|
Checked the entry against AudioOut.cpp (stamp after queueing/pacing in sceAudioOutOutput, after all blocks in sceAudioOutOutputs); docs only, conventions green; merged. |
What
The
sceAudioOutGetLastOutputTimedebt entry cited shadPS4 and fpPS4 as its sources without saying that they stamp the time at different moments. It now names both moments (PS4 sources), when AnyPS5 stamps it, and that KytyPS5 (PS5) has no such function:Changed:
docs/dev/debt/libSceAudioOut.md, one existing entry. No code change.Method: the implementations were read at the linked commits; only their behaviour is described here, no code was taken over. "No such function" rests on a search of the whole KytyPS5 repository at commit
5e837a9beac82c031868eaad9348d6a48245fb99. AnyPS5's own behaviour was read inAudioOut.cpp:sceAudioOutOutputstamps the time after the block is queued to the host device, or, for a port without a device, after the port has been paced;sceAudioOutOutputsafter all blocks are handed over.Overlap
All 1592 open PRs were checked on 2026-10-30 at 21:38 UTC against
maind4de5943f6for changes todocs/dev/debt/libSceAudioOut.mdandAudioOut.cpp, and the conflict check was repeated after rebasing ontoe8efeed58a. Six others change one of the two files (#13588, #13223, #12863, #12791, #9154, #5021); none changes this entry or the lines that stamp the time. Only #12765 conflicts with this change (adjacent lines in the same file); #12863, #9154 and #5021 conflict withmainwith or without it. Checked again on 2026-10-30 at 23:18 UTC againstmain0d862cb0f7(1577 open pull requests): none of the 23 opened since 21:30 UTC changes either file, and #12765 is still the only one that conflicts with this change.Tested
Documentation only.
tools/check_conventions.py --base upstream/mainpasses; based onmaine8efeed58a, and it merges withmain0d862cb0f7without a conflict (checked 2026-10-30 23:18 UTC). Not built, not run.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)AI-assisted (Claude Code).
🤖 Generated with Claude Code