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 |
|
Biblioteca |
|