Stream info reports the stream's sample aspect ratio alone and a frame reports the picture's, falling back to the stream's. Both are 0.0 when no ratio is given, as firmware 13.42 does for H.264.
The video frame info carried width / height in aspect_ratio. A title that
sizes its video quad from the frame value multiplies it by the picture
size again and drew the quad (9/16)^2 too small, so its static overlay
covered a band of the screen instead of all of it. The frame value is now
the stream's sample aspect ratio, 1.0 when the stream gives none, and the
stream info keeps width / height.
Default sync mode requests 4 as before. In no-sync mode the player
requests 12 and falls back to 4 when they do not fit the memory
replacement.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
In SCE_AVPLAYER_AV_SYNC_MODE_NONE the clock was rebased forward to every
audio chunk the title pulled more than 50 ms ahead of it. PPSA35399 pulls
audio two to four times faster than it plays, so the clock ran seconds
ahead and the late-frame skip handed out frames past the one the title
asked for next. The title only uploads the frame whose index equals its
own playback index and drops earlier ones, so no frame was ever shown and
the New Game film stayed black.
Audio pulled early no longer moves the clock forward in no-sync mode;
audio that falls behind still pulls it back. Decode-ahead grows from 4 to
12 frames: the title drains every ready frame once per rendered frame at
about 4.5 fps here, and 6 frames per poll stayed below the 30 fps film.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Queue demux loop epochs and report each once when audio or video first delivers that pass. Discard pending loop boundaries on seek and restart. Add playback regressions and record unverified console callback timing.
AI-assisted: yes (Codex).