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 |
|
| Bibliothèque |
|