Método CBaseRenderer. Receive

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

Sintaxe

virtual Receive(
   IMediaSample *pMediaSample
);

Parâmetros

pMediaSample

Ponteiro para a interface IMediaSample do exemplo.

Retornar valor

Retorna S _ OK se bem-sucedido ou um valor HRESULT que indica a causa do erro.

Comentários

O pino de entrada chama esse método quando ele recebe uma amostra do filtro upstream.

Se o filtro estiver em execução, esse método executará as seguintes etapas:

  1. Agenda o exemplo de renderização (CBaseRenderer::P reparereceive).
  2. Aguarda o horário agendado (CBaseRenderer:: WaitForRenderTime).
  3. Renderiza o exemplo (CBaseRenderer:: render).
  4. Libera o exemplo (CBaseRenderer:: ClearPendingSample).

Se o filtro for pausado, o método executará as seguintes etapas:

  1. Notifica a classe derivada de que um exemplo está disponível (CBaseRenderer:: OnReceiveFirstSample).
  2. Aguarda o horário agendado.
  3. Renderiza o exemplo.
  4. Libera o exemplo.

Enquanto estiver em pausa, o método aguardará na etapa 2 até que o filtro alterne para um estado de execução. Nesse ponto, o filtro agenda o exemplo.

Na classe base, o método OnReceiveFirstSample não faz nada. A classe derivada pode substituí-la. Por exemplo, quando um processador de vídeo é pausado, ele exibe a primeira amostra como uma imagem ainda.

Requisitos

Requisito Valor
parâmetro
Renbase. h (incluir fluxos. h)
Biblioteca
Strmbase. lib (compilações de varejo);
Strmbasd. lib (compilações de depuração)

Confira também

Classe CBaseRenderer