Freigeben über


CBaseRenderer.SendEndOfStream-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.]

Wenn das Datenstromende erreicht wurde, plant die SendEndOfStream Methode ein EC_COMPLETE Ereignis für den Filterdiagramm-Manager.

Syntax

virtual HRESULT SendEndOfStream();

Parameter

Diese Methode hat keine Parameter.

Rückgabewert

Gibt einen HRESULT-Wert zurück. Mögliche Werte sind die werte in der folgenden Tabelle.

Rückgabecode Beschreibung
S_FALSE
Der Filterdiagramm-Manager akzeptiert keine Ereignisbenachrichtigungen.
S_OK
Erfolg.

Bemerkungen

Der Filter erhält möglicherweise vor der Stoppzeit des aktuellen Beispiels eine Benachrichtigung zum Ende des Datenstroms. Wenn ja, sollte der Filter warten, bevor er eine EC_COMPLETE Benachrichtigung an den Filterdiagramm-Manager veröffentlicht.

Deshalb gilt Folgendes:

  • Wenn der Filter eine EOS-Benachrichtigung (Early End of Stream) erhalten hat, plant diese Methode ein Timerereignis. Wenn das Timerereignis aktiviert wird, wird vom Filter das EC_COMPLETE-Ereignis angezeigt.
  • Wenn der Filter eine EOS-Benachrichtigung erhalten hat, die noch nicht zu früh war, sendet diese Methode das EC_COMPLETE-Ereignis sofort.
  • Wenn der Filter keine ausstehende EOS-Benachrichtigung aufweist, wird die -Methode zurückgegeben, ohne etwas zu tun.

Die Timer-Rückrufmethode ist CBaseRenderer::TimerCallback. Zum Übermitteln des EC_COMPLETE-Ereignisses ruft der Filter die CBaseRenderer::NotifyEndOfStream-Methode auf.

Anforderungen

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

Siehe auch

CBaseRenderer-Klasse