Freigeben über


Demux-Taktverhalten

[Das dieser Seite zugeordnete Feature DirectShow-ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngineund Audio/Video Capture in Media Foundationersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code MediaPlayer-, IMFMediaEngine und Audio-/Videoaufnahme in Media Foundation anstelle von DirectShow-verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, um die neuen APIs zu verwenden, falls möglich umgeschrieben werden.]

Im Pushmodus macht der MPEG-2 Demultiplexer (Demux) die IReferenceClock Schnittstelle verfügbar. Sie fungiert als Livequelle, sodass sie standardmäßig als Diagrammreferenzuhr ausgewählt wird; weitere Informationen finden Sie unter live sources.

  • Bei Transportstreams synchronisiert der Demux seine Uhr mit dem PCR-Stream, der dem Audio- oder Videodatenstrom entspricht, der zuletzt von der Anwendung zugeordnet wird. Intern verfolgt die Demux die PAT- und PMT-Tabellen. Wenn die Anwendung einen elementaren Datenstrom-PID einem Ausgabepin zuordnet, sucht die Demux den PCR-Stream für diese PID und verwendet diesen PCR-Stream. (Derzeit gibt es keine Möglichkeit für die Anwendung, die PCR-PID direkt anzugeben.)
  • Bei Programmstreams synchronisiert der Demux seine Uhr mit dem SCR-Stream.

Durch die Synchronisierung der Filteruhr mit dem PCR- oder SCR-Datenstrom wird verhindert, dass Datenüberlauf oder Unterlauf erfolgt, was dazu führen kann, wenn sich die Graphuhr vom Datenstromuhr unterscheiden würde. Die Demux übersetzt auch PES PTS-Werte in DirectShow-Referenzzeiten und verwendet diese Werte zum Zeitstempeln der Medienbeispiele. Die Zeitstempel gelten für die nächste Rahmengrenze; es gibt keine Garantie, dass die Rahmengrenze am Anfang des Medienbeispiels ausgerichtet wird.

Die Demux garantiert, dass die Zeitstempel monoton steigen. Dies bedeutet beispielsweise, dass wenn ein Transportdatenstrom ein Segment wie z. B. ein kommerzielles Element enthält, das mit einer anderen Uhr als das Hauptprogramm erstellt wurde, die Demux die Präsentationszeitstempel so anpasst, dass die Zeitabbrüche von nachgelagerten Filtern ausgeblendet werden.

Verwenden des MPEG-2-Demultiplexer-