Freigeben über


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
S_OK
Der Übergang des Streamzustands war erfolgreich.
MF_E_INVALIDREQUEST
Geräte-MFT konnte die Anforderung zu diesem Zeitpunkt nicht unterstützen.
MF_E_INVAILIDSTREAMNUMBER
Eine ungültige Stream-ID wurde übergeben.
MF_E_INVALID_STREAM_STATE
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

Weitere Informationen

IMFDeviceTransform