Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
[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.]
Para mover dados de mídia através do gráfico de filtro, um filtro DirectShow deve suportar um dos vários protocolos possíveis. Esses protocolos são chamados de transportes. Quando dois filtros se conectam, eles devem suportar o mesmo transporte; caso contrário, não podem trocar dados dos meios de comunicação social. Normalmente, um transporte requer que um dos pinos suporte uma interface específica. Quando os filtros se conectam, um pino consulta o outro para a interface.
A maioria dos filtros DirectShow armazena dados de mídia na memória principal e os entrega a outros filtros em conexões de pinos. Esse tipo de transporte é chamado de transporte de memória local. Embora o transporte de memória local seja o transporte mais comum no DirectShow, nem todos os filtros o usam. Por exemplo, alguns filtros enviam dados de mídia ao longo de um caminho de hardware e usam pinos apenas para fornecer informações de controle. Por exemplo, consulte o interface IOverlay.
O DirectShow define dois mecanismos para o transporte de memória local, o modelo push e o modelo pull. No modelo push, um filtro de origem gera dados e os entrega ao próximo filtro a jusante. Esse filtro recebe passivamente os dados, processa-os e envia-os mais a jusante. No modelo pull, o filtro de origem é conectado a um filtro de analisador. O filtro do analisador solicita dados do filtro de origem. O filtro de origem responde às solicitações entregando dados. O modelo push usa a interfaceIMemInputPine o modelo pull usa a interfaceIAsyncReader.
O modelo push é mais comum do que o modelo pull. Portanto, os artigos que se seguem assumem um modelo push. O último artigo desta seção, Pull Model, descreve como a interface IAsyncReader difere de IMemInputPin.
Tópicos relacionados