Método CBaseStreamControl.NotifyFilterState

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

O NotifyFilterState método notifica o pino quando o estado do filtro é alterado.

Sintaxe

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

Parâmetros

new_state

Especifica o novo estado, como membro da enumeração FILTER_STATE .

Tstart

Especifica a hora de início. Se o novo estado de filtro for State_Running, passe o valor do método IMediaFilter::Run . Caso contrário, use o valor padrão.

Retornar valor

Esse método não retorna um valor.

Comentários

Esse método faz com que o método CBaseStreamControl::CheckStreamState pare de esperar. Chame esse método sempre que o filtro proprietário alterar o estado.

Exemplos

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

Requisitos

Requisito Valor
parâmetro
Strmctl.h (inclua Streams.h)
Biblioteca
Strmbase.lib (builds de varejo);
Strmbasd.lib (builds de depuração)

Confira também

Classe CBaseStreamControl