Compartilhar via


Método CBaseRenderer.PrepareReceive

[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 PrepareReceive método prepara o filtro para renderizar um exemplo.

Sintaxe

virtual HRESULT PrepareReceive(
   IMediaSample *pMediaSample
);

Parâmetros

pMediaSample

Ponteiro para a interface IMediaSample do exemplo.

Retornar valor

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

Código de retorno Descrição
S_OK
Êxito.
E_FAIL
Falhou.
E_UNEXPECTED
Erro inesperado.
VFW_E_SAMPLE_REJECTED
O filtro está descartando este exemplo.

Comentários

O filtro chama esse método de dentro do método CBaseRenderer::Receive antes de renderizar um exemplo. Se o filtro estiver em execução, esse método agendará o exemplo para renderização.

Se o filtro já tiver uma amostra pendente ou se o fim do fluxo já tiver sido atingido, o método retornará E_UNEXPECTED. Possivelmente, o filtro de upstream não está serializando suas chamadas de streaming corretamente.

Se o algoritmo de agendamento determinar que o exemplo deve ser descartado (consulte CBaseRenderer::ScheduleSample), o método retornará VFW_E_SAMPLE_REJECTED. No entanto, o método IMemInputPin::Receive do pino de entrada não passa esse código de erro para o filtro upstream, pois descartar um exemplo não é um erro.

Requisitos

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

Confira também

Classe CBaseRenderer