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 |
|
Confira também