CDynamicOutputPin.ChangeMediaType-Methode
[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.]
Die ChangeMediaType
-Methode ändert dynamisch den Medientyp für die Verbindung. Die Änderung kann auftreten, während das Filterdiagramm ausgeführt wird. Nachdem diese Methode aufgerufen wurde, können keine Beispiele mit dem alten Medientyp übermittelt werden. Der Aufrufer muss sicherstellen, dass keine alten Beispiele ausstehen.
Syntax
HRESULT ChangeMediaType(
const CMediaType *pmt
);
Parameter
-
Pmt
-
Zeiger auf eine AM_MEDIA_TYPE Struktur, die den Medientyp angibt.
Rückgabewert
Gibt einen HRESULT-Wert zurück. Mögliche Werte sind die in der folgenden Tabelle gezeigten Werte.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Erfolg. |
|
Fehler. Möglicherweise hat der besitzende Filter CDynamicOutputPin::SetConfigInfo nicht aufgerufen. |
|
Der Pin ist nicht verbunden. |
Bemerkungen
Rufen Sie die CDynamicOutputPin::StartUsingOutputPin-Methode auf, bevor Sie diese Methode aufrufen.
Diese Methode überprüft zunächst, ob der nachgeschaltete Eingabepin das neue Format akzeptieren kann, ohne die Verbindung wiederherzustellen. Er fragt den Eingabenadel für die IPinConnection-Schnittstelle ab. Wenn der Eingabenadel IPinConnection unterstützt, ruft die Methode die IPinConnection::D ynamicQueryAccept-Methode mit dem vorgeschlagenen Medientyp auf. Wenn der Eingabenadel den neuen Medientyp akzeptiert, ruft die Methode die IPin::ReceiveConnection-Methode auf und verhandelt die Zuweisungsanforderungen neu.
Wenn der Downstream-Pin hingegen IPinConnection nicht unterstützt oder den neuen Medientyp ablehnt, ruft die Methode die CDynamicOutputPin::D ynamicReconnect-Methode auf, um eine dynamische erneute Verbindung durchzuführen.
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|