IMFTransform::D eleteInputStream 方法 (mftransform.h)

从此媒体基础转换中删除输入流 (MFT) 。

语法

HRESULT DeleteInputStream(
  [in] DWORD dwStreamID
);

parameters

[in] dwStreamID

要删除的输入流的标识符。

返回值

该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。

返回代码 说明
S_OK
方法成功。
E_NOTIMPL
转换具有固定数量的输入流。
MF_E_INVALIDREQUEST
流不可移动,或者转换当前具有它可以支持的最小输入流数。
MF_E_INVALIDSTREAMNUMBER
流标识符无效。
MF_E_TRANSFORM_INPUT_REMAINING
转换具有指定流的未处理的输入缓冲区。

注解

如果转换具有固定数量的输入流,则 方法将返回 E_NOTIMPL

MFT 可能支持此方法,但不允许删除某些输入流。 如果可以删除输入流, 则 IMFTransform::GetInputStreamInfo 方法将返回该流的 MFT_INPUT_STREAM_REMOVABLE 标志。 否则,无法删除流,并且 方法将返回 MF_E_INVALIDREQUEST。 如果 MFT 当前具有所需的最小输入流数,则 此方法也会失败。 若要查找最小流数,请调用 IMFTransform::GetStreamLimits

如果转换仍具有该流的未处理的输入,则 方法可能会成功,或者可能会返回 MF_E_TRANSFORM_INPUT_REMAINING。 如果方法成功,MFT 将继续处理流删除后的剩余输入。 如果方法返回 MF_E_TRANSFORM_INPUT_REMAINING,则必须在删除流之前清除输入缓冲区。 若要清除输入缓冲区,请调用 IMFTransform::P rocessOutput,或使用 MFT_MESSAGE_COMMAND_FLUSH调用 IMFTransform::P rocessMessage 以刷新 MFT。 然后再次调用 DeleteInputStream 。 调用 DeleteInputStream 时,MFT 绝不应放弃输入缓冲区。

如果在包括 mftransform.h 之前定义了 MFT_UNIQUE_METHOD_NAMES ,则此方法将重命名为 MFTDeleteInputStream。 请参阅 创建混合 DMO/MFT 对象

要求

   
最低受支持的客户端 Windows Vista [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2008 [桌面应用 | UWP 应用]
目标平台 Windows
标头 mftransform.h
Library Mfuuid.lib

另请参阅

IMFTransform

Media Foundation 转换