Método CTransformInputPin.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 el siguiente ejemplo multimedia en la secuencia. Este método implementa el método IMemInputPin::Receive .

Sintaxis

HRESULT Receive(
   IMediaSample *pSample
);

Parámetros

pSample

Puntero a la interfaz IMediaSample del 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_FALSE
El pin está vacíando actualmente; se rechazó el ejemplo.
S_OK
Correcto.

Observaciones

Este método llama al método CBaseInputPin::Receive del pin, que comprueba el estado de streaming del pin y comprueba si hay cambios de formato en el tipo de medio. A continuación, llama al método CTransformFilter::Receive del filtro, que procesa el ejemplo y lo entrega de bajada.

Si el filtro necesita tener acceso al ejemplo después de que se devuelva este método, debe contener un recuento de referencias llamando al método IUnknown::AddRef en el ejemplo. Por ejemplo, algunos filtros de descodificador necesitan el ejemplo actual para descodificar el ejemplo siguiente.

Requisitos

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