IMFDeviceTransform::SetOutputStreamState-Methode (mftransform.h)
Die SetOutputStreamState-Methode legt den Geräte-MFT-Ausgabestreamstatus und den Medientyp fest.
Syntax
HRESULT SetOutputStreamState(
[in] DWORD dwStreamID,
[in] IMFMediaType *pMediaType,
[in] DeviceStreamState value,
[in] DWORD dwFlags
);
Parameter
[in] dwStreamID
Stream-ID des Eingabedatenstroms, in dem der Zustand und der Medientyp geändert werden müssen.
[in] pMediaType
Der bevorzugte Medientyp für den Eingabedatenstrom wird über diesen Parameter übergeben. Geräte-MFT sollte den Medientyp nur ändern, wenn sich der eingehende Medientyp vom aktuellen Medientyp unterscheidet.
[in] value
Gibt den DeviceStreamState an, in den der Eingabedatenstrom übergehen soll.
[in] dwFlags
Muss Null sein.
Rückgabewert
Die Methode gibt ein HRESULT zurück. Mögliche Werte sind unter anderem Werte, die in der folgenden Tabelle angegeben sind.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Der Übergang des Streamzustands war erfolgreich. |
|
Geräte-MFT konnte die Anforderung zu diesem Zeitpunkt nicht unterstützen. |
|
Eine ungültige Stream-ID wurde übergeben. |
|
Der angeforderte Streamübergang ist nicht möglich. |
Hinweise
Diese Schnittstellenmethode hilft beim Übergang des Ausgabedatenstroms in einen angegebenen Zustand mit dem angegebenen Medientyp, der für den Ausgabedatenstrom festgelegt ist. Dies wird vom DTM verwendet, wenn die Gerätequelle die Änderung des Zustands und Medientyps eines bestimmten Ausgabedatenstroms anfordert. Geräte-MFT sollte den Medientyp und den Zustand des angegebenen Ausgabedatenstroms in den angeforderten Medientyp ändern.
Wenn der Typ der eingehenden Medien und der Streamzustand mit dem aktuellen Medientyp und dem Streamzustand identisch sind, gibt die Methode S_OK zurück.
Wenn der eingehende Medientyp und der aktuelle Medientyp des Datenstroms identisch sind, muss Device MFT den Status des Datenstroms in den angeforderten Wert ändern und das entsprechende HRESULT zurückgeben.
Wenn eine Änderung des Medientyps des Ausgabedatenstroms eine entsprechende Änderung der Eingabe erfordert, muss Device MFT das EREIGNIS METransformInputStreamStateChanged in DTM posten, um den relevanten Eingabedatenstrom zu ändern. Der Aufruf darf nur nach dem Ändern des Medientyps des Eingabedatenstroms und des entsprechenden HRESULT zurückgegeben werden.
Betrachten Sie als Beispiel ein Device MFT, das über zwei Eingabe- und drei Ausgabestreams verfügt. Lassen Sie Ausgabe 1 und Ausgabe 2 quelle von Input 1 und Stream bei 720p. Angenommen, der Medientyp von Ausgabe 2 ändert sich in 1080p. Um diese Anforderung zu erfüllen, muss Device MFT den Medientyp Input 1 in 1080p ändern, indem das METransformInputStreamStateChanged-Ereignis an die DTM gesendet wird. DTM ruft SetInputStreamState auf, um den Medientyp und den Zustand des Eingabedatenstroms zu ändern. Nach diesem Aufruf muss SetOutputStreamState zurückgegeben werden.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 10, Version 1703 |
Zielplattform | Windows |
Kopfzeile | mftransform.h |