Compartilhar via


Método CPullPin.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 é chamado quando o objeto recebe um exemplo de mídia do pino de saída. A classe derivada deve implementar esse método.

Sintaxe

virtual HRESULT Receive(
   IMediaSample *pSample
) = 0;

Parâmetros

pSample

Ponteiro para a interface IMediaSample do exemplo de mídia.

Retornar valor

Retorna um valor HRESULT . Retornar um valor diferente de S_OK interromperá o thread de extração de dados.

Comentários

Esse método é chamado sempre que um novo exemplo chega do pino de saída. Escreva esse método da mesma maneira que o método IMemInputPin::Receive .

Os carimbos de data/hora no exemplo especificam os deslocamentos de bytes, em relação à posição inicial original especificada no método CPullPin::Seek .

A posição inicial é arredondada para baixo até o limite de alinhamento mais próximo e a posição de parada é arredondada para cima até o limite de alinhamento mais próximo. Além disso, se a posição de parada exceder a duração total, a duração será usada.

Todos os carimbos de data/hora são fornecidos como um deslocamento de bytes multiplicado por 10.000.000, definido como as UNIDADES constantes. Portanto, noções de um segundo é um byte. Para localizar os deslocamentos de bytes reais, chame IMediaSample::GetTime e divida os resultados por UNITS.

Requisitos

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

Confira também

Classe CPullPin