CBaseRenderer.SourceThreadCanWait 方法
该方法 SourceThreadCanWait
保存或释放流式处理线程。
语法
virtual HRESULT SourceThreadCanWait(
BOOL bCanWait
);
parameters
-
bCanWait
-
指示是否保存流线程的布尔值。 如果 为 TRUE,则当筛选器等待呈现下一个样本时,流式处理线程会被阻止。 如果 为 FALSE,则会释放流式处理线程。
返回值
返回S_OK。
注解
SourceThreadCanWait
调用值为 FALSE 的方法会强制筛选器从阻止的 IMemInputPin::Receive 调用返回。 筛选器运行时,它会阻止 接收 调用,直到当前示例的呈现时间。 当筛选器暂停时,它会无限期地阻止 接收 调用。 此行为规范流中的数据流。 但是,当筛选器停止或刷新时,它不应阻止。
阻止由 CBaseRenderer::WaitForRenderTime 方法控制,该方法等待两个事件: CBaseRenderer::m_RenderEvent 和 CBaseRenderer::m_ThreadSignal。 演示时间到达时, 会发出m_RenderEvent 事件信号。 使用值 FALSE 调用时SourceThreadCanWait
,会发出m_ThreadSignal事件信号。 使用值 TRUE 调用SourceThreadCanWait
会重置事件。
CBaseRenderer::Stop 和 CBaseRenderer::BeginFlush 方法调用SourceThreadCanWait
值 FALSE, (释放流线程) 。 CBaseRenderer::P ause、CBaseRenderer::Run 和 CBaseRenderer::EndFlush 方法使用值为 TRUE 调用SourceThreadCanWait
。
要求
要求 | Value |
---|---|
标头 |
|
库 |
|