IMFTransform::GetOutputStatus 方法 (mftransform.h)
查询媒体基础转换 (MFT) 是否已准备好生成输出数据。
语法
HRESULT GetOutputStatus(
[out] DWORD *pdwFlags
);
parameters
[out] pdwFlags
接收 _MFT_OUTPUT_STATUS_FLAGS 枚举的成员,或零。 如果值为 MFT_OUTPUT_STATUS_SAMPLE_READY,则 MFT 可以生成输出示例。
返回值
该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
未实现。 |
|
媒体类型未在一个或多个流上设置。 |
注解
如果方法返回 MFT_OUTPUT_STATUS_SAMPLE_READY 标志,则意味着可以通过调用 IMFTransform::P rocessOutput 来生成一个或多个输出样本。
实现此方法不需要 MCT。 如果方法返回 E_NOTIMPL,则必须调用 ProcessOutput 来确定转换是否具有输出数据。
如果 MFT 具有多个输出流,但它不同时为每个流生成样本,则可以在只有一个流准备就绪时设置 MFT_OUTPUT_STATUS_SAMPLE_READY 标志。 但是,如果 MFT 通常同时为每个输出流生成样本,则在所有流准备就绪之前,它不应设置此标志。
客户端在所有流上设置有效的媒体类型后,MFT 应始终处于以下两种状态之一:能够接受更多输入或能够生成更多输出。
如果在包括 mftransform.h 之前定义了 MFT_UNIQUE_METHOD_NAMES ,则此方法将重命名为 MFTGetOutputStatus。 请参阅 创建混合 DMO/MFT 对象。
要求
最低受支持的客户端 | Windows Vista [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2008 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | mftransform.h |
Library | Mfuuid.lib |