Método CBaseRenderer.SendEndOfStream

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

Si se alcanzó el final del flujo, el SendEndOfStream método programa un evento de EC_COMPLETE para el administrador de gráficos de filtros.

Sintaxis

virtual HRESULT SendEndOfStream();

Parámetros

Este método no tiene parámetros.

Valor devuelto

Devuelve un valor HRESULT . Entre los valores posibles se incluyen los de la tabla siguiente.

Código devuelto Descripción
S_FALSE
El administrador de gráficos de filtros no acepta notificaciones de eventos.
S_OK
Correcto.

Observaciones

El filtro puede recibir una notificación de fin de secuencia antes de la hora de detención del ejemplo actual. Si es así, el filtro debe esperar antes de publicar una notificación de EC_COMPLETE en el administrador de gráficos de filtros.

Por lo tanto:

  • Si el filtro ha recibido una notificación de fin de secuencia (EOS) temprana, este método programa un evento de temporizador. Cuando se activa el evento de temporizador, el filtro publica el evento EC_COMPLETE.
  • Si el filtro ha recibido una notificación EOS que no fue temprana, este método publica el evento EC_COMPLETE inmediatamente.
  • Si el filtro no tiene ninguna notificación EOS pendiente, el método devuelve sin hacer nada.

El método de devolución de llamada del temporizador es CBaseRenderer::TimerCallback. Para entregar el evento EC_COMPLETE, el filtro llama al método CBaseRenderer::NotifyEndOfStream .

Requisitos

Requisito Value
Encabezado
Renbase.h (include Streams.h)
Biblioteca
Strmbase.lib (compilaciones comerciales);
Strmbasd.lib (compilaciones de depuración)

Consulte también

CBaseRenderer (clase)