IMFDeviceTransform::P rocessInput 方法 (mftransform.h)
ProcessInput 方法将数据传送到此媒体基础转换上的输入流 (MFT) 。
语法
HRESULT ProcessInput(
[in] DWORD dwInputStreamID,
[in] IMFSample *pSample,
[in] DWORD dwFlags
);
参数
[in] dwInputStreamID
输入流标识符。
[in] pSample
指向输入样本的 IMFSample 接口的指针。 该示例必须至少包含一个包含有效输入数据的媒体缓冲区。
[in] dwFlags
必须为零。
返回值
该方法返回 HRESULT。 可能的值包括但不限于下表中给出的值。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
传递的参数无效。 |
|
设备 MFT 目前无法支持该请求。 |
|
传递了无效的流 ID。 |
|
无法进行请求的流转换。 |
|
尚未设置输入媒体类型。 |
注解
在大多数情况下,如果方法成功,MFT 将存储示例,并在 IMFSample 指针上保留引用计数。 使用示例完成 MFT 后,必须释放它以避免内存泄漏。
在 DTM 在所有流上设置有效的媒体类型后,MFT 应始终能够接受更多输入并生成更多输出。
如果 MFT 在输入数据中遇到非致命错误,它只需删除数据,并在获取更多输入数据时尝试恢复。 如果 MFT 删除任何数据,则应在下一个输出示例中设置 MFSampleExtension_Discontinuity 属性,以通知调用方数据流中存在间隙。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 版本 1703 |
目标平台 | Windows |
标头 | mftransform.h |