Интерфейс IAMBufferNegotiation (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Интерфейс IAMBufferNegotiation
запрашивает количество буферов для создания фильтра и размер каждого буфера. Этот интерфейс может быть предоставлен любым контактом, который подключается с помощью интерфейса контактов IMemInputPin , но обычно предоставляется на выходных контактах фильтров захвата.
Когда два контакта подключаются через IMemInputPin, они согласовывают объект распределителя, отвечающий за создание буферов. Обычно этот процесс прозрачен для приложения, но в некоторых ситуациях приложение нуждается в большем контроле. Если контакт предоставляет IAMBufferNegotiation
, приложение может предложить количество создаваемых буферов, размер буферов и другие свойства. Если приложение выполняет предварительный просмотр записанного звука, можно указать меньший размер буфера, чтобы уменьшить задержку. Приложения телеконференций должны указывать минимальное количество буферов.
Чтобы использовать этот интерфейс, вызовите метод SuggestAllocatorProperties перед подключением контактов. После подключения контактов вызовите метод GetAllocatorProperties , чтобы определить, выполнил ли закрепление запрос.
Разработчики фильтров. Фильтры отслеживания всегда должны поддерживать этот интерфейс, когда это возможно.
Наследование
Интерфейс IAMBufferNegotiation наследуется от интерфейса IUnknown . IAMBufferNegotiation также имеет следующие типы элементов:
Методы
Интерфейс IAMBufferNegotiation содержит следующие методы.
IAMBufferNegotiation::GetAllocatorProperties Метод GetAllocatorProperties извлекает свойства распределителя, которые использует закрепление. |
IAMBufferNegotiation::SuggestAllocatorProperties Метод SuggestAllocatorProperties сообщает закреплению предпочтительных свойств распределителя приложения. Вызовите этот метод перед подключением контакта. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |