Freigeben über


CBaseRenderer.WaitForRenderTime-Methode

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Die WaitForRenderTime -Methode wartet auf die Präsentationszeit des aktuellen Beispiels.

Syntax

virtual HRESULT WaitForRenderTime();

Parameter

Diese Methode hat keine Parameter.

Rückgabewert

Gibt einen der folgenden HRESULT-Werte zurück.

Rückgabecode BESCHREIBUNG
S_OK
Erfolg.
VFW_E_STATE_CHANGED
Der Filterzustand hat sich geändert, bevor die Präsentationszeit eintraf.

Bemerkungen

Diese Methode wartet, bis eine der folgenden Aktionen auftritt:

  • Die Präsentationszeit des Beispiels kommt, an dem das Beispiel gerendert werden kann.
  • Der Filter beendet oder beginnt mit dem Leeren von Daten.

Wenn die Präsentationszeit eintrifft, wird das CBaseRenderer::m_RenderEvent-Ereignis signalisiert. Wenn sich der Zustand ändert, wird das CBaseRenderer::m_ThreadSignal-Ereignis signalisiert. Diese Methode wartet auf beide Ereignisse. Die abgeleitete Klasse kann diese Methode überschreiben, um bei Bedarf auf zusätzliche Ereignisse zu warten.

Diese Methode ruft die CBaseRenderer::OnWaitStart-Methode auf, wenn die Wartezeit beginnt, und die CBaseRenderer::OnWaitEnd-Methode , wenn die Wartezeit abgeschlossen ist. Keine Methode macht etwas in der Basisklasse, aber die abgeleitete Klasse kann sie überschreiben.

Anforderungen

Anforderung Wert
Header
Renbase.h (einschließlich Streams.h)
Bibliothek
Strmbase.lib (Einzelhandelsbuilds);
Strmbasd.lib (Debugbuilds)

Siehe auch

CBaseRenderer-Klasse