Metodo CBaseRenderer.WaitForRenderTime

[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 WaitForRenderTime metodo attende l'ora di presentazione dell'esempio corrente.

Sintassi

virtual HRESULT WaitForRenderTime();

Parametri

Questo metodo non presenta parametri.

Valore restituito

Restituisce uno dei valori HRESULT seguenti.

Codice restituito Descrizione
S_OK
Operazione completata.
VFW_E_STATE_CHANGED
Lo stato del filtro è cambiato prima dell'arrivo dell'ora di presentazione.

Commenti

Questo metodo attende fino a quando non si verifica una delle operazioni seguenti:

  • L'ora di presentazione dell'esempio arriva, a questo punto è possibile eseguire il rendering dell'esempio.
  • Il filtro interrompe o inizia a scaricare i dati.

Se arriva l'ora di presentazione, viene segnalato l'evento CBaseRenderer::m_RenderEvent . Se lo stato cambia, viene segnalato l'evento CBaseRenderer::m_ThreadSignal . Questo metodo attende entrambi gli eventi. La classe derivata può eseguire l'override di questo metodo per attendere gli eventi aggiuntivi, se necessario.

Questo metodo chiama il metodo CBaseRenderer::OnWaitStart all'inizio dell'attesa e il metodo CBaseRenderer::OnWaitEnd al termine dell'attesa. Nessuno dei due metodi esegue alcuna operazione nella classe base, ma la classe derivata può eseguirne l'override.

Requisiti

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

Vedi anche

Classe CBaseRenderer