Método CBaseRenderer.PrepareReceive

[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 PrepareReceive método prepara el filtro para representar un ejemplo.

Sintaxis

virtual HRESULT PrepareReceive(
   IMediaSample *pMediaSample
);

Parámetros

pMediaSample

Puntero a la interfaz IMediaSample del ejemplo.

Valor devuelto

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

Código devuelto Descripción
S_OK
Correcto.
E_FAIL
Failed.
E_UNEXPECTED
error inesperado.
VFW_E_SAMPLE_REJECTED
El filtro quita este ejemplo.

Observaciones

El filtro llama a este método desde dentro del método CBaseRenderer::Receive , antes de representar un ejemplo. Si el filtro se está ejecutando, este método programa el ejemplo para la representación.

Si el filtro ya tiene un ejemplo pendiente o si ya se ha alcanzado el final de la secuencia, el método devuelve E_UNEXPECTED. Es posible que el filtro ascendente no serialice correctamente sus llamadas de streaming.

Si el algoritmo de programación determina que se debe quitar el ejemplo (vea CBaseRenderer::ScheduleSample), el método devuelve VFW_E_SAMPLE_REJECTED. Sin embargo, el método IMemInputPin::Receive del pin de entrada no pasa este código de error al filtro ascendente, ya que quitar un ejemplo no es un error.

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)