Filtro Grabber di esempio

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Nota

[Deprecata. Questa API può essere rimossa dalle versioni future di Windows.]

 

Il filtro Sample Grabber consente di recuperare campioni passando il grafico del filtro. È un filtro di trasformazione con un pin di input e un pin di output. Passa tutti gli esempi downstream invariati, quindi è possibile inserirlo in un grafico di filtro senza modificare il flusso di dati. L'applicazione può quindi recuperare singoli esempi dal filtro chiamando i metodi nell'interfaccia ISampleGrabber .

Se si desidera recuperare esempi senza eseguire il rendering dei dati, connettere il filtro Sample Grabber al filtro Renderer Null .

Etichetta Valore
Interfacce di filtro IBaseFilter, ISampleGrabber
Tipi di supporti pin di input Qualsiasi tipo di supporto.
Interfacce pin di input IMemInputPin, IPin, IQualityControl
Tipi di supporti di pin di output Qualsiasi tipo di supporto. Corrisponde al tipo di supporto di input.
Interfacce pin di output IMediaPosition, IMediaSeeking, IPin, IQualityControl
Filtro CLSID CLSID_SampleGrabber
Pagina delle proprietà CLSID Nessuna pagina delle proprietà.
File eseguibile Qedit.dll
Merito MERIT_DO_NOT_USE
Categoria filtro CLSID_LegacyAmFilterCategory

 

Commenti

Per usare questo filtro, aggiungerlo al grafico del filtro e chiamare ISampleGrabber::SetMediaType con il tipo di supporto desiderato. Questo metodo specifica il tipo di supporto per le connessioni di input e pin di output del filtro. Connettere quindi il filtro ad altri filtri nel grafico.

Se si chiama ISampleGrabber::SetBufferSamples con il valore TRUE, il buffer del filtro riceve ogni esempio che riceve prima di passarlo downstream. Chiamare il metodo ISampleGrabber::GetCurrentBuffer per recuperare il contenuto corrente del buffer. In alternativa, è possibile chiamare ISampleGrabber::SetCallback per richiamare una funzione di callback ogni volta che riceve un esempio.

Il filtro presenta le limitazioni seguenti per i formati video:

  • Non supporta i tipi di video con orientamento superiore verso il basso ( biHeight negativo).
  • Non supporta la struttura di formato VIDEOINFOHEADER2 (tipo di formato uguale a FORMAT_VideoInfo2).
  • Rifiuta qualsiasi tipo di video in cui lo stride di superficie non corrisponde alla larghezza del video.

Di conseguenza, Sample Grabber non si connetterà al renderer di mix video (VMR) per alcuni tipi di video.

Requisiti

Requisito Valore
Intestazione
Qedit.h

Vedi anche

Oggetti DirectShow Editing Services

Uso di Sample Grabber