Partager via


Méthode CBaseStreamControl.NotifyFilterState

[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.]

La NotifyFilterState méthode avertit l’épingle lorsque l’état du filtre change.

Syntaxe

void NotifyFilterState(
   FILTER_STATE   new_state,
   REFERENCE_TIME tStart = 0
);

Paramètres

new_state

Spécifie le nouvel état, en tant que membre de l’énumération FILTER_STATE .

tStart

Spécifie l’heure de début. Si le nouvel état de filtre est State_Running, transmettez la valeur de la méthode IMediaFilter::Run . Sinon, utilisez la valeur par défaut.

Valeur renvoyée

Cette méthode ne retourne pas de valeur.

Notes

Cette méthode entraîne l’arrêt de l’attente de la méthode CBaseStreamControl::CheckStreamState . Appelez cette méthode chaque fois que le filtre propriétaire change d’état.

Exemples

STDMETHODIMP CMyFilter::Run(REFERENCE_TIME tStart)
{
   /* Do other things needed by the filter ... */
   m_pMyPin->NotifyFilterState(State_Running, tStart);
   return CBaseFilter::Run(tStart); // Call the filter base class.
}

STDMETHODIMP CMyFilter::Pause()
{
   /* Do other things needed by the filter ... */
   m_pMyPin->NotifyFilterState(State_Paused);
   return CBaseFilter::Pause();
}

STDMETHODIMP CMyFilter::Stop()
{
   /* Do other things needed by the filter ... */
   m_pMyPin->NotifyFilterState(State_Stopped);
   return CBaseFilter::Stop();
}

Configuration requise

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

Voir aussi

CBaseStreamControl, classe