Microsoft Windows CE 3.0  

CBaseStreamControl::NotifyFilterState

Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Notifies the pin of your filter's state.

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

Parameters

new_state
Filter's new state.
tStart
Time at which streaming starts (only valid when new_stateis in State_Running).

Return Values

No return value.

Remarks

This member function notifies the pin of a filter's new state by setting a FILTER_STATEenumeration type variable.

If you are implementing your own filter, inform your pin's CBaseStreamControl::NotifyFilterStatemember function what state your filter is in every time your filter changes state, as shown in the following example.

STDMETHODIMP CMyFilter::Run(REFERENCE_TIME
tStart) { //once error check is successful
m_pMyPin->NotifyFilterState(State_Running, tStart); //now
continue with whatever should occur next, for example... return
CBaseFilter::Run(tStart); } STDMETHODIMP CMyFilter::Pause() {
//Once error check is successful
m_pMyPin->NotifyFilterState(State_Paused, 0); //Now continue
with whatever should occur next, for example... return
CBaseFilter::Pause(); } STDMETHODIMP CMyFilter::Stop() { //Once
error check is successful
m_pMyPin->NotifyFilterState(State_Stopped, 0); //Now continue
with whatever should occur next, for example... return
CBaseFilter::Stop(tStart); }