Skip to content

docs(libSceAudioOut): name what the emulators do with the volume of sceAudioOutSetVolume - #14048

Open
xXPBSXx wants to merge 1 commit into
boykopovar:mainfrom
xXPBSXx:docs/audioout-setvolume
Open

xXPBSXx wants to merge 1 commit into
boykopovar:mainfrom
xXPBSXx:docs/audioout-setvolume

Conversation

@xXPBSXx

@xXPBSXx xXPBSXx commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

What

Adds one entry to the libSceAudioOut technical debt: sceAudioOutSetVolume reads one volume per flagged channel from the array, stores it as given with no range check and returns 0, which is an assumption and not measured on hardware. shadPS4 and fpPS4 (both PS4) read only the first value, use it for every flagged channel and return SCE_AUDIO_OUT_ERROR_INVALID_VOLUME when it is above 32768 (0 dB), while KytyPS5 (PS5) reads one value per channel and checks no range. The entry does not say which is right and no code or test changes.

Tested

Documentation only. tools/check_conventions.py --base upstream/main passes. Based on main 73f4f7e06e, and it merges with main 474030e584 without a conflict (checked 2026-10-31 16:55 UTC). I read the three emulators at the commits named in the entry (KytyPS5 5e837a9beac82c031868eaad9348d6a48245fb99, shadPS4 0614ce324be092791b758d79f93d9f1ca5b10a81, fpPS4 04cefd43e6fddd1ab033e7980cd356d14c964905) and our sceAudioOutSetVolume in AudioOut.cpp.

Overlap

Checked on 2026-10-31 at 13:54 UTC against main 73f4f7e (1632 open pull requests). I took the changed files of each open pull request from git diff --name-only against its merge base. Ten of them change docs/dev/debt/libSceAudioOut.md: #13913, #13885, #13836, #13781, #13694, #13676, #12863, #12791, #12765 and #5021. git merge-tree against that main: this head alone merges cleanly, and so do its pairs with #13913, #13885, #13836, #13781, #13694, #13676, #12791 and #12765. The pairs with #12863 and #5021 conflict, but each of them conflicts with main on its own. #13885, #13676 and #12765 are my own pull requests on the same file; they merge cleanly with this one in either order, so none has to go first. Checked once more on 2026-10-31 at 16:55 UTC against main 474030e584: of the 63 pull requests opened since 13:45 UTC, #13988, #13989 and #13998 change these files, and each merges the same with and without this change.

Checklist

  • Based on current main; no other open PR implements the same functions
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw (NotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file
  • No notes, investigation .md files or images added to the repository (attach them to this PR)
  • New third-party code is a submodule built from source
  • Generic behaviour, not specific to one title
  • Depends on: none
  • Fixes: none
  • Unblocks: none
  • GPUs tested: n/a
  • AI-assisted: yes

AI-assisted (Claude Code).

🤖 Generated with Claude Code

…ceAudioOutSetVolume

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

@MarcZX10 MarcZX10 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed — looks good

The new debt entry accurately distinguishes AnyPS5’s unmeasured behavior from the three emulator references and does not present emulator behavior as a console measurement.

What I ran

Reviewed head ea4e14638f928502bd9a44d796d18520fbdfe640 against main at 474030e58424fefdb65e5df9f3820810fbb4553c; the current-base merge preview is clean. Environment: Linux x86_64, Python 3.11.2, GCC 12.2.0. Documentation only; no build or compilation was applicable.

python3 tools/pr_precheck.py --repo boykopovar/AnyPS5 --pr 14048 --output-dir /tmp/anyps5-14048-followup
git diff --check 474030e58424fefdb65e5df9f3820810fbb4553c...ea4e14638f928502bd9a44d796d18520fbdfe640
python3 tools/check_conventions.py --base refs/remotes/upstream/main --head refs/remotes/upstream/pr/14048 --title 'docs(libSceAudioOut): name what the emulators do with the volume of sceAudioOutSetVolume' --body /tmp/anyps5-14048-followup/pr-body.md
gh pr checks 14048 --repo boykopovar/AnyPS5

I also compared the added description with sceAudioOutSetVolume in AnyPS5 and the emulator implementations at the pinned commits named in the debt entry.

Results

Check Result
Diff check Passed; no output.
Conventions and PR template Passed locally and in hosted CI.
Current-base merge preview Clean.
Source comparison The cited implementations match the entry: shadPS4/fpPS4 reuse the first value and reject values above 32768; KytyPS5 reads per-channel values without that range check. AnyPS5 also reads per-channel values and returns success without a range check.
Hosted CI Intake, eligibility, conventions, and labels passed. Build and platform jobs were skipped.
Relevant unedited output

Convention check:

All conventions checks passed.

Hosted checks:

intake	pass	5s	https://github.com/boykopovar/AnyPS5/actions/runs/41222569605/job/124599998294
labels	pass	6s	https://github.com/boykopovar/AnyPS5/actions/runs/41222569519/job/124599998049
linux	skipping	0	https://github.com/boykopovar/AnyPS5/actions/runs/41222569807/job/124600025449
register-context	skipping	0	https://github.com/boykopovar/AnyPS5/actions/runs/41222569807/job/124600025487
relinker	skipping	0	https://github.com/boykopovar/AnyPS5/actions/runs/41222569807/job/124600025640
relinker-asan	skipping	0	https://github.com/boykopovar/AnyPS5/actions/runs/41222569807/job/124600025258
windows	skipping	0	https://github.com/boykopovar/AnyPS5/actions/runs/41222569807/job/124600025147
write-watch	skipping	0	https://github.com/boykopovar/AnyPS5/actions/runs/41222569807/job/124600025662
conventions	pass	18s	https://github.com/boykopovar/AnyPS5/actions/runs/41222569716/job/124599998592
eligibility	pass	5s	https://github.com/boykopovar/AnyPS5/actions/runs/41222569807/job/124599997770

Findings

Blocking

None found.

Non-blocking

None.

Sources

Not verified

No behavior was tested on PS5 hardware. This documentation-only change has no build or runtime test result.

@github-actions github-actions Bot added the docs label Oct 31, 2026
@github-actions

github-actions Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

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.

Pull request Shared files not compared
PR 5021 docs/dev/debt/libSceAudioOut.md
PR 12863 docs/dev/debt/libSceAudioOut.md
PR 14212 docs/dev/debt/libSceAudioOut.md

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants