Méthode CRenderedInputPin. EndOfStream

La EndOfStream méthode indique au code confidentiel qu’aucune donnée supplémentaire n’est attendue, jusqu’à ce qu’une nouvelle commande Run soit envoyée au filtre. Cette méthode implémente la méthode IPIN :: EndOfStream .

Syntaxe

HRESULT EndOfStream();

Paramètres

Cette méthode n’a aucun paramètre.

Valeur de retour

Retourne S _ OK en cas de réussite, ou un code d’erreur dans le cas contraire.

Notes

si le filtre est en cours d’exécution, cette méthode envoie un événement EC _ complet à filter Graph Manager. Dans le cas contraire, définit un indicateur de manière à ce que l’événement ce soit _ envoyé lors de la prochaine exécution du filtre. Le vidage du filtre efface l’indicateur.

Vous devez remplacer cette méthode pour conserver le verrou de streaming du pin :

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();
} 

En outre, si le filtre traite les appels de réception de manière asynchrone, le code confidentiel doit attendre pour envoyer l' _ événement EC complet jusqu’à ce que le filtre ait traité tous les échantillons en attente.

Spécifications

Condition requise Valeur
En-tête
Amextra. h (inclure Flux. h)
Bibliothèque
Strmbase. lib (versions commerciales);
Strmbasd. lib (versions Debug)

Voir aussi

CRenderedInputPin, classe