IMFTransform::SetInputType-Methode (mftransform.h)

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

Syntax

HRESULT SetInputType(
  [in] DWORD        dwInputStreamID,
  [in] IMFMediaType *pType,
  [in] DWORD        dwFlags
);

Parameter

[in] dwInputStreamID

Eingabedatenstrombezeichner. 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
Der vorgeschlagene Medientyp kann vom MFT nicht verwendet werden.
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. sie kann z. B. sich gegenseitig widersprechende Attribute enthalten.
MF_E_TRANSFORM_CANNOT_CHANGE_MEDIATYPE_WHILE_PROCESSING
Der MFT kann während der Datenverarbeitung keine Typen wechseln. Versuchen Sie, den MFT zu entleeren oder zu leeren.
MF_E_TRANSFORM_TYPE_NOT_SET
Sie müssen die Ausgabetypen festlegen, bevor Sie die Eingabetypen festlegen.
MF_E_UNSUPPORTED_D3D_TYPE
Der MFT konnte keine geeignete DxVA-Konfiguration (DirectX Video Acceleration) finden.

Hinweise

Diese Methode kann verwendet werden, um den Medientyp festzulegen, zu testen oder zu löschen:

  • Um den Medientyp festzulegen, legen Sie dwFlags auf Null und pType auf einen Zeiger ungleich NULL fest, der den Medientyp angibt.
  • Um den Medientyp zu testen, ohne ihn festzulegen, legen Sie dwFlags auf MFT_SET_TYPE_TEST_ONLY und pType auf einen Zeiger ungleich NULL 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 Ausgabetypen vor dem Festlegen des Eingabetyps festlegt. Wenn ja, gibt die Methode MF_E_TRANSFORM_TYPE_NOT_SET zurück.

Wenn der MFT die DirectX-Videobeschleunigung (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 MFTSetInputType 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