Partilhar via


Tópicos e seções críticas

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEnginee Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda vivamente que o novo código utilize 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.]

Esta seção descreve o threading nos filtros DirectShow e as etapas que você deve seguir para evitar falhas ou bloqueios em um filtro personalizado.

Os exemplos nesta seção usam pseudocódigo para ilustrar o código que você precisará escrever. Eles assumem que um filtro personalizado está usando classes derivadas das classes base DirectShow, da seguinte maneira:

  • CMyInputPin: Derivado de CBaseInputPin.
  • CMyOutputPin: Derivado de CBaseOutputPin.
  • CMyFilter: Derivado de CBaseFilter.
  • CMyInputAllocator: O alocador do pino 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 seguintes tópicos.

fluxo de dados para desenvolvedores de filtros

Escrevendo filtros DirectShow