IMFTransform::GetInputStatus 方法 (mftransform.h)

查询此 Media Foundation 转换 (MFT) 上的输入流是否可以接受更多数据。

语法

HRESULT GetInputStatus(
  [in]  DWORD dwInputStreamID,
  [out] DWORD *pdwFlags
);

参数

[in] dwInputStreamID

输入流标识符。 若要获取流标识符列表,请调用 IMFTransform::GetStreamIDs

[out] pdwFlags

接收 _MFT_INPUT_STATUS_FLAGS 枚举的成员,或零。 如果值为 MFT_INPUT_STATUS_ACCEPT_DATA,则 dwInputStreamID 中指定的流可以接受更多输入数据。

返回值

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

返回代码 说明
S_OK
方法成功。
MF_E_INVALIDSTREAMNUMBER
流标识符无效。
MF_E_TRANSFORM_TYPE_NOT_SET
媒体类型未在一个或多个流上设置。

注解

如果方法返回 MFT_INPUT_STATUS_ACCEPT_DATA 标志,可以通过调用 IMFTransform::P rocessInput 将输入示例传递到指定的流。 如果 方法成功,但未返回 pdwFlags 参数中的任何标志,则表示输入流已具有可以接受的数据量。

使用此方法测试输入流是否准备好接受更多数据,而不会产生分配新示例和调用 ProcessInput 的开销。

客户端在所有流上设置有效的媒体类型后,MFT 应始终处于以下两种状态之一:能够接受更多输入,或者能够生成更多输出 (或两者) 。

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

要求

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

另请参阅

IMFTransform

Media Foundation 转换