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 |
---|---|
|
Der Filterdiagramm-Manager akzeptiert keine Ereignisbenachrichtigungen. |
|
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 |
|
Bibliothek |
|