AnyPS5/docs/dev/debt/libSceAvPlayer.md

3.0 KiB

libSceAvPlayer technical debt

Silent stubs

  • libSceAvPlayer: sceAvPlayerSetLogCallback accepts a callback that is never called, as the player produces no log messages, and sceAvPlayerSetAvailableBandwidth has no effect, as it governs HLS sources, which sceAvPlayerAddSource does not implement.
  • sceAvPlayerSetTrickSpeed (libSceAvPlayer) with a negative speed runs the clock backwards but delivers no frames; when a forward speed is set again, playback resumes from the rewound time.

Unknown function info

  • sceAvPlayerAddSource (libSceAvPlayer) - requests up to 4 additional decode-ahead video framebuffers from the memory replacement beyond num_output_video_framebuffers when memory is available; the console's internal buffering behaviour is unknown
  • sceAvPlayerStartEx (libSceAvPlayer) - start info layout unknown; it is ignored and playback starts as with sceAvPlayerStart
  • sceAvPlayerInit / sceAvPlayerInitEx (libSceAvPlayer) - behaviour without a memory replacement unknown; frame and sample buffers then come from the guest heap
  • sceAvPlayerInitEx (libSceAvPlayer) - the PS5 init data layout (this_size 0x230: auto start at 0x74, nine 0x30-byte thread parameter blocks from 0x78, output video frame buffer count at 0x228) follows KytyPS5, prosper, SharpProspero and sharpemu, which agree on it. PPSA25063 fills the same fields, writes auto start 0 and starts playback with sceAvPlayerStart; a title that sets auto start has not been seen. A smaller this_size is read with the PS4 offsets. The thread parameters are ignored
  • AvPlayer auto start (libSceAvPlayer) - the auto start that sceAvPlayerAddSource queues for a player with auto start or without an event callback starts the player only while it is still ready: a title that starts the player itself before the auto start runs keeps its playback and the frames it holds. Not confirmed on a title.

Functional

  • sceAvPlayerGetVideoData (libSceAvPlayer) in sync mode SCE_AVPLAYER_AV_SYNC_MODE_NONE skips queued frames that the audio clock has already passed while the title pulls audio, so a title that requests video slower than the film's frame rate keeps the picture with the sound. Whether the console hands out every frame in this mode is unknown. PPSA12544 requests 7-19 frames per second for a 30 fps cinematic