Freigeben über


InfTee-Filterbeispiel

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

BESCHREIBUNG

Der Filter InfTee stellt eine Beispielimplementierung des DirectShow Infinite Pin Tee-Filters bereit. Der Filter verfügt über einen Eingabestift und eine dynamische Anzahl von Ausgabepins. Alle an den Filter gesendeten Medienbeispiele werden gleichzeitig von allen Ausgabepins übermittelt.

Dieser Filter wird in GraphEdit unter dem Namen "Sample Infinite Pin Tee" angezeigt, um ihn vom Standardfilter Infinite Pin Tee zu unterscheiden, der in DirectShow bereitgestellt wird.

Verbrauch

Da dieser Filter die empfangenen Daten nicht ändert, müssen alle Pins demselben Medientyp zustimmen. Während des Verbindungsvorgangs kann der Filter einige Pins erneut verbinden, damit die Medientypen übereinstimmen.

Daten, die am Eingabepin eintreffen, werden nicht kopiert, bevor sie an die Ausgabepins gesendet werden. Der Filter stellt außerdem sicher, dass die Daten an die nachgeschalteten Filter übermittelt werden, um sicherzustellen, dass beide Ausgaben rechtzeitig gewartet werden. Insbesondere, wenn eine der Ausgaben in der COutputQueue::Receive-Memberfunktion blockiert werden kann, wird ein Thread ausgegliedert, um das Beispiel zu übermitteln. Wenn kein Thread zum Übermitteln des Beispiels vorhanden ist, kann der Thread, der das Beispiel an den T-Eingabestift übermittelt, die Daten an einen downstream-Filter übergeben. An diesem Punkt kann es blockiert werden, sodass Daten aus dem anderen downstream-Filter für längere Zeit beibehalten werden.

Herunterladen des Beispiels

Installieren Sie zum Herunterladen der DirectShow SDK-Beispiele die neueste Version des Windows SDK.

Dieses Beispiel wird unter dem folgenden Pfad installiert: [SDK-Stamm]\Samples\Multimedia\DirectShow\Filters\InfTee.

DirectShow-Beispiele