Condividi tramite


Metodo CBaseInputPin.EndFlush

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine 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, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Il EndFlush metodo termina un'operazione di scaricamento. Implementa il metodo IPin::EndFlush .

Sintassi

HRESULT EndFlush();

Parametri

Questo metodo non presenta parametri.

Valore restituito

Restituisce S_OK.

Commenti

Questo metodo imposta il flag CBaseInputPin::m_bFlushingsu TRUE, che consente al metodo CBaseInputPin::Receive di accettare esempi.

La classe derivata deve eseguire l'override di questo metodo ed eseguire i passaggi seguenti:

  1. Liberare tutti i dati memorizzati nel buffer e attendere che tutti i campioni in coda vengano eliminati.
  2. Cancellare eventuali notifiche di EC_COMPLETE in sospeso.
  3. Chiamare il metodo della classe base.
  4. Chiamare IPin::EndFlush sui pin di input downstream. Se il pin non ha ancora recapitato campioni multimediali downstream, è possibile ignorare questo passaggio. Se i pin di output derivano dalla classe CBaseOutputPin , è possibile chiamare il metodo CBaseOutputPin::D eliverEndFlush .

Requisiti

Requisito Valore
Intestazione
Amfilter.h (include Streams.h)
Libreria
Strmbase.lib (build retail);
Strmbasd.lib (build di debug)

Vedi anche

Classe CBaseInputPin