IMFTransform::SetOutputType-Methode (mftransform.h)

Legt fest, testet oder löscht den Medientyp für einen Ausgabestream in dieser Media Foundation-Transformation (MFT).

Syntax

HRESULT SetOutputType(
  [in] DWORD        dwOutputStreamID,
  [in] IMFMediaType *pType,
  [in] DWORD        dwFlags
);

Parameter

[in] dwOutputStreamID

Ausgabedatenstrombezeichner. Um die Liste der Streambezeichner abzurufen, rufen Sie IMFTransform::GetStreamIDs auf.

[in] pType

Zeiger auf die IMFMediaType-Schnittstelle oder NULL.

[in] dwFlags

Null oder mehr Flags aus der _MFT_SET_TYPE_FLAGS-Enumeration .

Rückgabewert

Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich ausgeführt.
MF_E_INVALIDMEDIATYPE
Die Transformation kann den vorgeschlagenen Medientyp nicht verwenden.
MF_E_INVALIDSTREAMNUMBER
Ungültiger Streambezeichner.
MF_E_INVALIDTYPE
Der vorgeschlagene Typ ist ungültig. Dieser Fehlercode gibt an, dass der Medientyp selbst nicht ordnungsgemäß konfiguriert ist. Beispielsweise kann es sich gegenseitig widersprechende Flags enthalten.
MF_E_TRANSFORM_CANNOT_CHANGE_MEDIATYPE_WHILE_PROCESSING
Der MFT kann beim Verarbeiten von Daten keine Typen wechseln. Versuchen Sie, den MFT zu entwässern oder zu leeren.
MF_E_TRANSFORM_TYPE_NOT_SET
Sie müssen die Eingabetypen festlegen, bevor Sie die Ausgabetypen festlegen.
MF_E_UNSUPPORTED_D3D_TYPE
Der MFT konnte keine geeignete DirectX-Videobeschleunigungskonfiguration (DXVA) finden.

Hinweise

Diese Methode kann zum Festlegen, Testen ohne Einstellung oder Löschen des Medientyps verwendet werden:

  • Um den Medientyp festzulegen, legen Sie dwFlags auf Null und pType auf einen Nicht-NULL-Zeiger fest, der den Medientyp angibt.
  • Um den Medientyp zu testen, ohne ihn festzulegen, legen Sie dwFlags auf MFT_SET_TYPE_TEST_ONLY fest, und legen Sie pType auf einen Nicht-NULL-Zeiger fest, der den Medientyp angibt. Wenn der Medientyp akzeptabel ist, gibt die Methode S_OK zurück. Andernfalls wird MF_E_INVALIDMEDIATYPE zurückgegeben. Unabhängig vom Rückgabewert ändert sich der aktuelle Medientyp nicht.
  • Um den Medientyp zu löschen, legen Sie pType auf NULL fest.
Das Festlegen des Medientyps für einen Stream kann die zulässigen Typen für einen anderen Stream ändern.

Ein MFT erfordert möglicherweise, dass der Aufrufer einen oder mehrere Eingabetypen festlegt, bevor er den Ausgabetyp festlegt. Wenn ja, gibt die Methode MF_E_TRANSFORM_TYPE_NOT_SET zurück.

Wenn der MFT directX Video Acceleration (DXVA) unterstützt, aber keine geeignete DXVA-Konfiguration finden kann (z. B. wenn der Grafiktreiber nicht über die richtigen Funktionen verfügt), sollte die Methode MF_E_UNSUPPORTED_D3D_TYPE zurückgeben. Weitere Informationen finden Sie unter Unterstützen von DXVA 2.0 in Media Foundation.

Wenn MFT_UNIQUE_METHOD_NAMES vor dem Einschließen von mftransform.h definiert ist, wird diese Methode in MFTSetOutputType umbenannt. Weitere Informationen finden Sie unter Erstellen von DMO/MFT-Hybridobjekten.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile mftransform.h
Bibliothek Mfuuid.lib

Weitere Informationen

IMFTransform

Media Foundation-Transformationen