CBaseRenderer.SendEndOfStream, méthode

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture in Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation au lieu de DirectShow, si possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

Si la fin du flux a été atteinte, la SendEndOfStream méthode planifie un événement EC_COMPLETE pour le gestionnaire de graphe de filtres.

Syntaxe

virtual HRESULT SendEndOfStream();

Paramètres

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

Valeur retournée

Retourne une valeur HRESULT . Les valeurs possibles incluent celles du tableau suivant.

Code de retour Description
S_FALSE
Le gestionnaire de graphe de filtres n’accepte pas les notifications d’événements.
S_OK
Opération réussie.

Notes

Le filtre peut recevoir une notification de fin de flux avant l’heure d’arrêt de l’exemple actuel. Dans ce cas, le filtre doit attendre avant de publier une notification EC_COMPLETE dans le gestionnaire de graphe de filtres.

Par conséquent :

  • Si le filtre a reçu une notification EOS (early end-of-stream), cette méthode planifie un événement du minuteur. Lorsque l’événement du minuteur est activé, le filtre publie l’événement EC_COMPLETE.
  • Si le filtre a reçu une notification EOS qui n’était pas précoce, cette méthode publie immédiatement l’événement EC_COMPLETE.
  • Si le filtre n’a pas de notification EOS en attente, la méthode retourne sans rien faire.

La méthode de rappel du minuteur est CBaseRenderer::TimerCallback. Pour remettre l’événement EC_COMPLETE, le filtre appelle la méthode CBaseRenderer::NotifyEndOfStream .

Configuration requise

Condition requise Valeur
En-tête
Renbase.h (include Streams.h)
Bibliothèque
Strmbase.lib (builds de vente au détail) ;
Strmbasd.lib (builds de débogage)

Voir aussi

CBaseRenderer, classe