IMFSourceReader::Flush 方法 (mfreadwrite.h)
刷新一个或多个流。
语法
HRESULT Flush(
[in] DWORD dwStreamIndex
);
参数
[in] dwStreamIndex
要刷新的流。 该值可以是以下任意值。
值 | 含义 |
---|---|
|
流的从零开始的索引。 |
|
第一个视频流。 |
|
第一个音频流。 |
|
所有流。 |
返回值
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
Flush 方法放弃所有排队的样本,并取消所有挂起的示例请求。
此方法可以同步或异步完成。
如果在创建源读取器时提供回调指针,则 该方法是异步的。 否则,该方法是同步的。 有关设置回调指针的详细信息,请参阅 MF_SOURCE_READER_ASYNC_CALLBACK。
在同步模式下, 方法会阻止,直到操作完成。
在异步模式下,当刷新操作完成时,将调用应用程序的 IMFSourceReaderCallback::OnFlush 方法。 当刷新操作处于挂起状态时, IMFSourceReader::ReadSample 方法返回 MF_E_NOTACCEPTING。
注意 在 Windows 7 中,此方法的实现中存在一个 bug,导致在刷新操作完成之前调用 OnFlush 。 修复了该 bug 的修补程序。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 适用于 Windows Vista 的 Windows 7、Windows Vista 和平台更新补充 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2008 R2 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | mfreadwrite.h |