Filtro de amostra do grabber

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in 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 in 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.]

Observação

[Preterido. Essa API pode ser removida de versões futuras do Windows.]

 

O filtro De exemplo grabber fornece uma maneira de recuperar exemplos conforme eles passam pelo grafo de filtro. É um filtro de transformação com um pino de entrada e um pino de saída. Ele passa todos os exemplos downstream inalterados, para que você possa inseri-lo em um grafo de filtro sem alterar o fluxo de dados. Em seguida, seu aplicativo pode recuperar exemplos individuais do filtro chamando métodos na interface ISampleGrabber .

Se você quiser recuperar exemplos sem renderizar os dados, conecte o filtro De exemplo Grabber ao filtro Renderizador Nulo .

Rótulo Valor
Filtrar interfaces IBaseFilter, ISampleGrabber
Tipos de mídia de pino de entrada Qualquer tipo de mídia.
Interfaces de pino de entrada IMemInputPin, IPin, IQualityControl
Tipos de mídia de pino de saída Qualquer tipo de mídia. Corresponde ao tipo de mídia de entrada.
Interfaces de pino de saída IMediaPosition, IMediaSeeking, IPin, IQualityControl
Filtrar CLSID CLSID_SampleGrabber
CLSID da página de propriedades Nenhuma página de propriedades.
Executável Qedit.dll
Mérito MERIT_DO_NOT_USE
Categoria de Filtro CLSID_LegacyAmFilterCategory

 

Comentários

Para usar esse filtro, adicione-o ao grafo de filtro e chame ISampleGrabber::SetMediaType com o tipo de mídia desejado. Esse método especifica o tipo de mídia para as conexões de pino de entrada e saída do filtro. Em seguida, conecte o filtro a outros filtros no grafo.

Se você chamar ISampleGrabber::SetBufferSamples com o valor TRUE, o filtro armazenará em buffer cada exemplo que receber antes de passá-lo downstream. Chame o método ISampleGrabber::GetCurrentBuffer para recuperar o conteúdo atual do buffer. Como alternativa, você pode chamar ISampleGrabber::SetCallback para que o filtro invoque uma função de retorno de chamada sempre que receber um exemplo.

O filtro tem as seguintes limitações para formatos de vídeo:

  • Ele não dá suporte a tipos de vídeo com orientação de cima para baixo ( biHeight negativo).
  • Ele não dá suporte à estrutura de formato VIDEOINFOHEADER2 (tipo de formato igual a FORMAT_VideoInfo2).
  • Ele rejeita qualquer tipo de vídeo em que o passo da superfície não corresponda à largura do vídeo.

Como resultado, o Sample Grabber não se conectará ao VMR (Renderizador de Combinação de Vídeo) para alguns tipos de vídeo.

Requisitos

Requisito Valor
parâmetro
Qedit.h

Confira também

Objetos dos Serviços de Edição do DirectShow

Usando o grabber de exemplo