Freigeben über


CRenderedInputPin.EndOfStream-Methode

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Die EndOfStream -Methode benachrichtigt den Pin, dass keine zusätzlichen Daten erwartet werden, bis ein neuer Ausführungsbefehl für den Filter ausgegeben wird. Diese Methode implementiert die IPin::EndOfStream-Methode .

Syntax

HRESULT EndOfStream();

Parameter

Diese Methode hat keine Parameter.

Rückgabewert

Gibt bei erfolgreicher Ausführung S_OK oder andernfalls einen Fehlercode zurück.

Bemerkungen

Wenn der Filter ausgeführt wird, sendet diese Methode ein EC_COMPLETE-Ereignis an den Filter Graph-Manager. Andernfalls wird ein Flag festgelegt, sodass das EC_COMPLETE-Ereignis gesendet wird, wenn der Filter als Nächstes ausgeführt wird. Durch Leeren des Filters wird das Flag gelöscht.

Sie sollten diese Methode überschreiben, um die Streamingsperre des Pins zu halten:

class CMyInputPin : public CRenderedInputPin
{
private:
    CCritSec * const m_pReceiveLock; // Streaming lock.
public:
    STDMETHODIMP EndOfStream(void);

    /* (Remainder of the class declaration not shown.) */
};

STDMETHODIMP CMyInputPin::EndOfStream(void)
{
    CAutoLock lock(m_pReceiveLock);  
    return CRenderedInputPin::EndOfStream();
} 

Wenn der Filter Receive-Aufrufe asynchron verarbeitet, sollte der Pin außerdem darauf warten, das EC_COMPLETE-Ereignis zu senden, bis der Filter alle ausstehenden Beispiele verarbeitet hat.

Anforderungen

Anforderung Wert
Header
Amextra.h (Einschließen von Streams.h)
Bibliothek
Strmbase.lib (Einzelhandelsbuilds);
Strmbasd.lib (Debugbuilds)

Siehe auch

CRenderedInputPin-Klasse