Поделиться через


Метод CTransInPlaceFilter.DecideBufferSize

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

Метод DecideBufferSize задает требования к буферу выходного контакта.

Синтаксис

HRESULT DecideBufferSize(
   IMemAllocator        *pAlloc,
   ALLOCATOR_PROPERTIES *pProperties
);

Параметры

pAlloc

Указатель на объект IMemAllocator , используемый выходным контактом.

pProperties

Указатель на запрошенные свойства распределителя для количества, размера и выравнивания, как указано в структуре ALLOCATOR_PROPERTIES .

Возвращаемое значение

Возвращает значение HRESULT . Возможные значения включают значения, приведенные в следующей таблице.

Код возврата Описание
S_OK
Успешное завершение
E_FAIL
Failure

Комментарии

Этот метод вызывается, когда классУ CTransInPlaceFilter необходимо предоставить размер буфера для нижестоящего фильтра. Если фильтр CTransInPlaceFilter уже подключен вышестоящий, он использует свойства распределителя для подключения вышестоящий контакта. В противном случае он устанавливает размер буфера в 1 байт в качестве временного значения заполнителя. Когда фильтр вышестоящий подключается, класс CTransInPlaceFilter пересматривает подчиненный распределитель. Дополнительные сведения о процессе подключения контактов в этом классе см. в разделе Класс CTransInPlaceFilter.

Требования

Требование Значение
Заголовок
Transip.h (включая Streams.h)
Библиотека
Strmbase.lib (розничные сборки);
Strmbasd.lib (отладочные сборки)

См. также раздел

Класс CTransInPlaceFilter