Método CBaseStreamControl.NotifyFilterState
[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.
El NotifyFilterState
método notifica al pin cuando cambia el estado del filtro.
Sintaxis
void NotifyFilterState(
FILTER_STATE new_state,
REFERENCE_TIME tStart = 0
);
Parámetros
-
new_state
-
Especifica el nuevo estado, como miembro de la enumeración FILTER_STATE .
-
tStart
-
Especifica la hora de inicio. Si el nuevo estado de filtro es State_Running, pase el valor del método IMediaFilter::Run . De lo contrario, use el valor predeterminado.
Valor devuelto
Este método no devuelve ningún valor.
Observaciones
Este método hace que el método CBaseStreamControl::CheckStreamState deje de esperar. Llame a este método cada vez que cambie el estado del filtro propietario.
Ejemplos
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 | Value |
---|---|
Encabezado |
|
Biblioteca |
|