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。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
流标识符无效。 |
|
媒体类型未在一个或多个流上设置。 |
注解
如果方法返回 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 |