Método CTransInPlaceFilter.Receive

[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 Receive método recibe un ejemplo multimedia, lo procesa y lo entrega al filtro de bajada.

Sintaxis

HRESULT Receive(
   IMediaSample *pSample
);

Parámetros

pSample

Puntero a la interfaz IMediaSample en el ejemplo.

Valor devuelto

Devuelve un valor HRESULT . Entre los valores posibles se incluyen los que se muestran en la tabla siguiente.

Código devuelto Descripción
S_OK
Correcto
E_UNEXPECTED
Error inesperado

Observaciones

El pin de entrada del filtro llama a este método cuando recibe un ejemplo. El filtro llama al método Transform , que debe implementar la clase derivada. El método Transform procesa los datos. Si el filtro usa solo un asignador, pasa pSample directamente al método Transform . De lo contrario, copia pSample y pasa la copia.

Si el método Transform devuelve S_FALSE, el Receive método quita la muestra. En el primer ejemplo quitado, el filtro envía un evento EC_QUALITY_CHANGE al administrador de gráficos de filtros. De lo contrario, si el método Transform devuelve S_OK, el filtro entrega el ejemplo de salida. Para ello, llama al método IMemInputPin::Receive en el pin de entrada de bajada.

Requisitos

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

Consulte también

CTransInPlaceFilter (clase)