Método CBaseRenderer.SourceThreadCanWait
[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
O SourceThreadCanWait
método mantém ou libera o thread de streaming.
Sintaxe
virtual HRESULT SourceThreadCanWait(
BOOL bCanWait
);
Parâmetros
-
bCanWait
-
Valor booliano que indica se o thread de streaming deve ser armazenado. Se TRUE, o thread de streaming será bloqueado enquanto o filtro aguarda para renderizar os próximos exemplos. Se FALSE, o thread de streaming será liberado.
Retornar valor
Returns S_OK.
Comentários
Chamar o SourceThreadCanWait
método com o valor FALSE força o filtro a retornar de uma chamada IMemInputPin::Receive bloqueada. Quando o filtro estiver em execução, ele bloqueará Receber chamadas até o horário de apresentação do exemplo atual. Quando o filtro é pausado, ele bloqueia Receber chamadas indefinidamente. Esse comportamento regula o fluxo de dados no fluxo. No entanto, quando o filtro é interrompido ou liberado, ele não deve ser bloqueado.
O bloqueio é controlado pelo método CBaseRenderer::WaitForRenderTime , que aguarda dois eventos: CBaseRenderer::m_RenderEvent e CBaseRenderer::m_ThreadSignal. O evento m_RenderEvent é sinalizado quando a hora da apresentação chega. O evento m_ThreadSignal é sinalizado quando SourceThreadCanWait
é chamado com o valor FALSE. Chamar SourceThreadCanWait
com o valor TRUE redefine o evento.
Os métodos CBaseRenderer::Stop e CBaseRenderer::BeginFlush chamam SourceThreadCanWait
com o valor FALSE (liberando o thread de streaming). Os métodos CBaseRenderer::P ause, CBaseRenderer::Run e CBaseRenderer::EndFlush chamam SourceThreadCanWait
com o valor TRUE.
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|
Biblioteca |
|