Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEnginee Audio/Video Capture 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 Audio/Video Capture 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.]
Esta seção descreve o threading nos filtros do DirectShow e as etapas que você deve executar para evitar falhas ou deadlocks em um filtro personalizado.
Os exemplos nesta seção usam pseudocódigo para ilustrar o código que você precisará escrever. Eles pressupõem que um filtro personalizado esteja usando classes derivadas das classes base do DirectShow, da seguinte maneira:
- CMyInputPin: derivado de CBaseInputPin.
- CMyOutputPin: derivado de CBaseOutputPin.
- CMyFilter: derivado de CBaseFilter.
- CMyInputAllocator: o alocador do pin de entrada, derivado de CMemAllocator. Nem todo filtro precisa de um alocador personalizado. Para muitos filtros, a classe CMemAllocator é suficiente.
Esta seção contém os tópicos a seguir.
- os threads de streaming e de aplicativo
- pausando
- de exemplos de recebimento e entrega
- entregando o fim do fluxo
- liberação de dados
- parar
- obtendo buffers
- Threads de Streaming e o Gerenciador de Grafo de Filtro
- resumo de filtragem de threading
Tópicos relacionados
-
fluxo de dados para desenvolvedores de filtro