Share via


CBaseStreamControl.NotifyFilterState-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 NotifyFilterState -Methode benachrichtigt den Pin, wenn sich der Status des Filters ändert.

Syntax

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

Parameter

new_state

Gibt den neuen Zustand als Member der FILTER_STATE-Enumeration an.

tStart

Gibt die Startzeit an. Wenn der neue Filterstatus State_Running ist, übergeben Sie den Wert aus der IMediaFilter::Run-Methode . Andernfalls verwenden Sie den Standardwert.

Rückgabewert

Diese Methode gibt keinen Wert zurück.

Bemerkungen

Diese Methode bewirkt, dass die CBaseStreamControl::CheckStreamState-Methode nicht mehr wartet. Rufen Sie diese Methode auf, wenn sich der Status des besitzenden Filters ändert.

Beispiele

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

Anforderungen

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

Siehe auch

CBaseStreamControl-Klasse