Freigeben über


IMFTransform::D eleteInputStream-Methode (mftransform.h)

Entfernt einen Eingabedatenstrom aus dieser Media Foundation-Transformation (MFT).

Syntax

HRESULT DeleteInputStream(
  [in] DWORD dwStreamID
);

Parameter

[in] dwStreamID

Bezeichner des zu entfernenden Eingabedatenstroms.

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.
E_NOTIMPL
Die Transformation verfügt über eine feste Anzahl von Eingabedatenströmen.
MF_E_INVALIDREQUEST
Der Stream kann nicht entfernt werden, oder die Transformation verfügt derzeit über die mindeste Anzahl von Eingabedatenströmen, die sie unterstützen kann.
MF_E_INVALIDSTREAMNUMBER
Ungültiger Streambezeichner.
MF_E_TRANSFORM_INPUT_REMAINING
Die Transformation verfügt über nicht verarbeitete Eingabepuffer für den angegebenen Stream.

Hinweise

Wenn die Transformation eine feste Anzahl von Eingabedatenströmen aufweist, gibt die Methode E_NOTIMPL zurück.

Ein MFT unterstützt möglicherweise diese Methode, lässt aber das Entfernen bestimmter Eingabedatenströme nicht zu. Wenn ein Eingabedatenstrom entfernt werden kann, gibt die IMFTransform::GetInputStreamInfo-Methode das MFT_INPUT_STREAM_REMOVABLE-Flag für diesen Datenstrom zurück. Andernfalls kann der Stream nicht entfernt werden, und die Methode gibt MF_E_INVALIDREQUEST zurück. Die Methode schlägt auch fehl, wenn die MFT derzeit über die erforderliche Mindestanzahl von Eingabedatenströmen verfügt. Rufen Sie IMFTransform::GetStreamLimits auf, um die Mindestanzahl von Streams zu ermitteln.

Wenn die Transformation noch nicht verarbeitete Eingaben für diesen Stream enthält, kann die Methode erfolgreich sein oder MF_E_TRANSFORM_INPUT_REMAINING zurückgeben. Wenn die Methode erfolgreich ist, verarbeitet das MFT die verbleibende Eingabe nach dem Entfernen des Datenstroms weiter. Wenn die Methode MF_E_TRANSFORM_INPUT_REMAINING zurückgibt, müssen Sie die Eingabepuffer löschen, bevor Sie den Datenstrom entfernen. Um die Eingabepuffer zu löschen, rufen Sie entweder IMFTransform::P rocessOutput auf, oder rufen Sie IMFTransform::P rocessMessage mit dem MFT_MESSAGE_COMMAND_FLUSH auf, um das MFT zu leeren. Rufen Sie dann deleteInputStream erneut auf. Ein MFT sollte keine Eingabepuffer verwerfen, wenn DeleteInputStream aufgerufen wird.

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

Anforderungen

   
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