Método CTransInPlaceFilter.Receive
[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in 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 Audio/Video Capture in 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 um exemplo de mídia, processa-o e o entrega ao filtro downstream.
Sintaxe
HRESULT Receive(
IMediaSample *pSample
);
Parâmetros
-
pSample
-
Ponteiro para a interface IMediaSample no exemplo.
Retornar valor
Retorna um valor HRESULT . Os valores possíveis incluem aqueles mostrados na tabela a seguir.
Código de retorno | Descrição |
---|---|
|
Êxito |
|
Erro inesperado |
Comentários
O pin de entrada do filtro chama esse método quando recebe um exemplo. O filtro chama o método Transform , que a classe derivada deve implementar. O método Transform processa os dados. Se o filtro estiver usando apenas um alocador, ele passará pSample diretamente para o método Transform . Caso contrário, ele copia pSample e passa a cópia.
Se o método Transform retornar S_FALSE, o Receive
método descartará o exemplo. No primeiro exemplo descartado, o filtro envia um evento EC_QUALITY_CHANGE para o gerenciador de grafo de filtro. Caso contrário, se o método Transform retornar S_OK, o filtro fornecerá o exemplo de saída. Para fazer isso, ele chama o método IMemInputPin::Receive no pin de entrada downstream.
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|
Biblioteca |
|