Zum Inhalt springen
PS5PCEM
FunktioniertTon und Video

AvPlayer

SceAvPlayer dekodiert Filmcontainer mit FFmpeg in NV12-Bilder, die dem Titel gehören, und in Stereo-PCM mit 48 kHz. Die Wiedergabe endet, wenn die Dauer der Quelle überschritten ist, auch wenn der Titel einen der Ströme nie liest.

Repository-Notizen bis 10. Oktober 2026

Puffer, die dem Titel gehören

Der Player nutzt die Zuteilungs-Rückrufe des Titels und die Datei-Rückrufe des Titels. FFmpeg untersucht den Container und dekodiert Video zu NV12 in der Auflösung der Quelle und Audio zu verschachteltem vorzeichenbehaftetem 16-Bit-Stereo mit 48 kHz. Video und Audio haben getrennte Sperren und getrennte Decoder-Prozesse. Zeitstempel teilen eine monotone Uhr.

Pause, Suche, Schleife und Stromende bleiben erhalten. Die ABI des Software-Decoders meldet ausgerichteten Pitch, Zuteilungshöhe und den sichtbaren Ausschnitt. Sowohl die erweiterten als auch die älteren Aufrufe für Strominformationen gibt es. Aktuelle Zeit, Trickmodus bei normaler Geschwindigkeit, Abschalten eines Stroms und eine begrenzte Medienuhr decken die Unity-Middleware ab, die Asterix mitbringt.

Einen Film beenden, den der Titel nur halb liest

Ein Titel kann die Bilder nehmen und seinen eigenen Ton mischen, oder umgekehrt. Zu warten, bis jeder Strom gelesen wurde, hält diesen Player für den Rest des Prozesses am Leben. Jurassic Park Classic Games Collection blieb aus diesem Grund auf seinem Intro sitzen: Die Uhr lag neunzig Sekunden über einem drei Sekunden langen Clip, weil der ungelesene Audiostrom nie endete.

Die Dauer kommt aus der Quelle. Wenn die Uhr sie überschreitet, endet die Wiedergabe, auch wenn ein Strom ignoriert wurde. Solange ein Strom noch liefert, bleibt die gemeldete Position innerhalb der Bilder, die tatsächlich übergeben wurden, sodass eine langsame Maschine nicht vorzeitig abgeschnitten wird. Sobald der Strom wirklich geendet hat, darf die Uhr bis zur Dauer laufen. Quellen mit Schleife und Quellen unbekannter Länge bleiben unangetastet.

Darstellung

Beobachtete Introfilme laufen in ReleaseFast-Builds etwa mit ihrer nativen Bildrate. Das letzte gültige Bild bleibt erhalten, während Unity die Clips wechselt, statt eine geleerte Decoder-Oberfläche als eine einheitliche Farbe auszugeben. Eine Quelle von 1920×1080 kann in das Scanout-Ziel skaliert werden, das der Titel registriert hat.

Die Haptikspur wird zeitlich mitgeführt und ist stumm. AvPlayer steuert keinen Controller an. Die Pixel erreichen den Bildschirm über die Shader des Titels oder über VideoOut, nicht über einen zweiten Compositor innerhalb des Players.

Was umgesetzt ist

  • FFmpeg-Dekodierung zu NV12-Video und Stereo-PCM mit 48 kHz, in Puffern, die dem Titel gehören.
  • Erweiterte und ältere Strominformationen, Pause, Suche, Schleife und eine gemeinsame Medienuhr.
  • Ende der Wiedergabe bei der Dauer der Quelle, wenn der Titel einen Strom ungelesen lässt.
  • Erhalt des letzten gültigen Bildes über einen Clipwechsel hinweg.

Was noch fehlt

  • Haptik ist Stille. Controller-Vibration wird nicht emuliert.
  • Quellen mit Schleife und Quellen unbekannter Länge werden von der Dauerregel nicht abgeschnitten.
  • Ein fehlender Datei-Rückruf oder ein Container, den FFmpeg nicht untersuchen kann, lässt dieses Asset fehlschlagen.

Verwandte Mechanismen

Worum es auf diesen Seiten geht

Der Text folgt den Architektur-Notizen und den Berichten vom Oktober 2026 im PS5PCEM-Repository. Ein bestandener Einzeltest ist keine neue Bildrate und kein neuer Durchspielstand.

Alle Techniken