Partilhar via


Método CBaseOutputPin.DecideBufferSize

[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 DecideBufferSize método define os requisitos de buffer.

Sintaxe

virtual HRESULT DecideBufferSize(
   IMemAllocator        *pAlloc,
   ALLOCATOR_PROPERTIES *ppropInputRequest
) = 0;

Parâmetros

pAlloc

Ponteiro para a interface IMemAllocator do alocador.

ppropInputRequest

Ponteiro para uma estrutura ALLOCATOR_PROPERTIES que contém os requisitos de buffer do pino de entrada. Se o pino de entrada não tiver requisitos, o chamador deverá zerado os membros dessa estrutura antes de chamar o método .

Retornar valor

Retorna S_OK se tiver êxito ou um valor HRESULT que indica a causa do erro.

Comentários

Substitua esse método em sua classe derivada. Chame o método IMemAllocator::SetProperties para especificar seus requisitos de buffer. Normalmente, a classe derivada atenderá aos requisitos de buffer do pino de entrada, mas não é necessário.

Requisitos

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

Confira também

Classe CBaseOutputPin