Metodo CBaseRenderer.SendEndOfStream
[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.
Se è stata raggiunta la fine del flusso, il SendEndOfStream
metodo pianifica un evento EC_COMPLETE per la gestione del grafo dei filtri.
Sintassi
virtual HRESULT SendEndOfStream();
Parametri
Questo metodo non presenta parametri.
Valore restituito
Restituisce un valore HRESULT . I valori possibili includono quelli nella tabella seguente.
Codice restituito | Descrizione |
---|---|
|
Gestione grafici di filtro non accetta le notifiche degli eventi. |
|
Operazione completata. |
Commenti
Il filtro potrebbe ricevere una notifica di fine flusso prima dell'ora di arresto dell'esempio corrente. In tal caso, il filtro deve attendere prima di pubblicare una notifica di EC_COMPLETE al gestore del grafo dei filtri.
Di conseguenza:
- Se il filtro ha ricevuto una notifica di fine flusso anticipata (EOS), questo metodo pianifica un evento timer. Quando l'evento timer viene attivato, il filtro invia l'evento EC_COMPLETE.
- Se il filtro ha ricevuto una notifica EOS non anticipata, questo metodo invia immediatamente l'evento EC_COMPLETE.
- Se il filtro non dispone di alcuna notifica EOS in sospeso, il metodo restituisce senza eseguire alcuna operazione.
Il metodo di callback timer è CBaseRenderer::TimerCallback. Per recapitare l'evento EC_COMPLETE, il filtro chiama il metodo CBaseRenderer::NotifyEndOfStream .
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|