Demux-Taktverhalten

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

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

  • Bei Transportstreams synchronisiert der Demux seine Uhr mit dem PCR-Stream, der dem Audio- oder Videostream entspricht, der zuletzt von der Anwendung zugeordnet wurde. Intern verfolgt der Demux die Tabellen PAT und PMT nach. Wenn die Anwendung eine elementare Stream-PID einem Ausgabepin zuordnet, sucht der Demux den PCR-Stream für diese PID und verwendet diesen PCR-Stream. (Derzeit ist es für die Anwendung nicht möglich, 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-Stream wird ein Datenüberlauf oder -unterlauf verhindert, was entstehen kann, wenn die Graphuhr von der Streamuhr variiert. Der 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 Framegrenze. Es gibt keine Garantie, dass die Framegrenze am Anfang des Medienbeispiels ausgerichtet ist.

Der Demux garantiert, dass die Zeitstempel monoton zunehmen. Dies bedeutet beispielsweise, dass, wenn ein Transportdatenstrom ein Segment wie ein Kommerzielles enthält, das mit einer anderen Uhr als das Standard-Programm erstellt wurde, der Demux die Präsentationszeitstempel so anpasst, dass die Zeitkontinuität vor nachgeschalteten Filtern ausgeblendet wird.

Verwenden des MPEG-2-Demultiplexers