Partilhar via


Método CTransformInputPin.Receive

[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

O Receive método recebe o próximo exemplo de mídia no fluxo. Esse método implementa o método IMemInputPin::Receive .

Sintaxe

HRESULT Receive(
   IMediaSample *pSample
);

Parâmetros

pSample

Ponteiro para a interface IMediaSample do exemplo.

Retornar valor

Retorna um valor HRESULT . Os valores possíveis incluem os mostrados na tabela a seguir.

Código de retorno Descrição
S_FALSE
O pino está sendo liberado no momento; amostra foi rejeitada.
S_OK
Êxito.

Comentários

Esse método chama o método CBaseInputPin::Receive do pin, que verifica o estado de streaming do pino e verifica se há alterações de formato no tipo de mídia. Em seguida, ele chama o método CTransformFilter::Receive do filtro, que processa o exemplo e o entrega downstream.

Se o filtro precisar acessar o exemplo depois que esse método retornar, ele deverá manter uma contagem de referência chamando o método IUnknown::AddRef no exemplo. Por exemplo, alguns filtros de decodificador precisam do exemplo atual para decodificar o próximo exemplo.

Requisitos

Requisito Valor
parâmetro
Transfrm.h (inclua Streams.h)
Biblioteca
Strmbase.lib (builds de varejo);
Strmbasd.lib (builds de depuração)