AudioOut
AudioOut gibt Gast-PCM auf einem Windows-Gerät mit 48 kHz wieder. Ältere Ports haben eigene Ströme und Warteschlangen, sodass Musik und Effekte zusammen laufen, und ein Underrun behält die Sample-Reihenfolge.
Repository-Notizen bis 10. Oktober 2026
Ports und das Host-Gerät
Ein Titel reicht einen Puffer ein und erwartet, dass der Aufruf etwa so lange dauert, wie der Puffer klingt. Diese Wartezeit kommt daher, dass das Host-Gerät Platz macht, nicht von einem Schlaf, der die Samples verwirft. AudioOut, AudioIn und AudioOut2 legen getaktete Ports, Warteschlangen, Lautsprechermetadaten und den Zustand der verbundenen primären Ausgabe offen. Ein Batch prüft jeden Port und reicht das hörbare Quantum danach einmal ein, sodass ein stiller Hilfsport die Dauer nicht vervielfacht.
Ältere AudioOut-Ports besitzen getrennte Windows-Ströme und PCM-Warteschlangen. Musik und Effekte können gleichzeitig spielen. Die Batch-Ausgabe reicht jeden aktiven Port ein. Nach einem Underrun behält der aktive Ring seine Sample-Reihenfolge, und ein kurzes Fade nimmt das Klicken beim Fortsetzen weg. Das WinMM-Gerät rollt echtes PCM vor und nutzt eine Timerperiode von einer Millisekunde.
Latenz
Die gewöhnliche Reserve beginnt bei 42 ms und wächst in Schritten von vier Puffern, bis auf etwa 170 ms, nur wenn der laufende Titel das Gerät tatsächlich aushungert. Das gemessene Profil für PPSA25872 beginnt bei 128 ms, weil sein Mischer beim Start und bei Szenenarbeit etwa 100 bis 120 ms pausieren kann. Diese größere Reserve wird anderen Titeln nicht auferlegt.
Nicht endliche Samples werden ersetzt, bevor sie das Gerät erreichen. Diese Bereinigung schützt die Lautsprecher. Sie kann ein Filter nicht reparieren, das bereits ein NaN gespeichert hat. Die Seite zu ACM beschreibt den Faltungsfehler, der diese Werte in Subnautica erzeugt hat.
Wo Ausgabe existiert
Das Scheitern beim Öffnen eines Geräts wird dem Titel nicht gemeldet. Eine fehlende Soundkarte ist eine Tatsache über den Host. Der Aufrufer fällt auf ein getaktetes stilles Warten zurück, sodass die Zeit des Titels weiterläuft. Dasselbe geschieht, wenn das Gerät mitten im Lauf ausfällt. Ausgabe ist unter Windows implementiert. Andere Builds halten die Ports still und korrekt getaktet.
Direktes Fallback-Mischen dekodierter Vorschauclips ist standardmäßig aus. Eine Vorschau neben dem eigenen AudioOut-Mix des Titels zu spielen ist als Echo zu hören. PS5_AUDIO_FALLBACK_MIX=1 schaltet dieses Mischen ein. Der Launcher kann das Gerät über seine Toneinstellung stumm schalten, die als PS5_AUDIO_DISABLED ankommt.
Was umgesetzt ist
- Host-Wiedergabe mit 48 kHz über getaktete Ports von AudioOut, AudioIn und AudioOut2.
- Getrennte Windows-Ströme für ältere Ports, sodass gleichzeitige Musik und Effekte geordnet bleiben.
- Eine Reserve, die bei 42 ms beginnt und nur wächst, wenn das Gerät ausgehungert wird, bis auf etwa 170 ms.
- Ersetzen nicht endlicher Samples und ein stiller getakteter Rückfall, wenn sich kein Gerät öffnet.
Was noch fehlt
- Ausgabe auf dem Host gibt es nur unter Windows.
- Controller-Vibration wird nicht aus einer Audio-Haptikspur angesteuert.
- Die Bereinigung rekonstruiert keine Filterhistorie, die bereits vergiftet war.
Verwandte Mechanismen
Worum es auf diesen Seiten geht