Интерфейс IOverlay (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Интерфейс IOverlay
предоставляет сведения, позволяющие фильтру записывать данные непосредственно в видеопамять при размещении видео в правильном положении окна. Он реализуется на входном контакте отрисовщика видео и взаимодействует с фильтром вышестоящий (обычно это декомпрессор видео), вызывая методы IOverlayNotify этого фильтра, чтобы уведомить его об изменениях в окне видео.
Этот интерфейс не имеет отношения к возможности наложения DirectDraw®. Отрисовщик видео Майкрософт рисует данные, полученные через интерфейс IMemInputPin , используя наложения DirectDraw, если они доступны. Этот интерфейс, используемый вместо IMemInputPin, предназначен для поддержки уведомлений для любого фильтра вышестоящий, который обходит возможности рисования отрисовщика, но нуждается в уведомлениях о других свойствах отображения.
Дополнительные сведения о совместной работе интерфейсов IOverlayNotify см. на странице справочника по IOverlay
IOverlayNotify.
Дополнительные сведения об асинхронных уведомлениях об изменениях в окне отрисовки см. в интерфейсе IOverlayNotify2 .
Этот интерфейс реализован в фильтре отрисовщика видео Microsoft® DirectShow®. При необходимости его также можно реализовать в фильтрах видео отрисовщика. В этом случае реализуйте этот интерфейс таким образом, чтобы фильтры, записывщие непосредственно в буфер кадров или пытающиеся разместить наложение, знали, где отображать видео. Чтобы реализовать этот интерфейс, отрисовщик должен быть подготовлен к использованию методов в интерфейсе IOverlayNotify или интерфейсе IOverlayNotify2 фильтра, выполняющего рисование, с уведомлениями об изменениях свойств видео.
Оконный отрисовщик в DirectShow поддерживает интерфейсы IMemInputPin и IOverlay . Эти два интерфейса являются взаимоисключающими. Фильтр выбирает использование транспорта IOverlay , предоставляя тип мультимедиа во время подключения с подтипом MEDIASUBTYPE_Overlay. После подключения он сможет успешно IOverlay
получить и использовать интерфейс. Если он подключается к любым другим форматам видео (например, MEDIASUBTYPE_RGB8), при попытке вызова через IOverlay
возвращается VFW_E_NOT_OVERLAY_CONNECTION.
Используйте методы в этой функции из фильтра вышестоящий, который должен управлять свойствами наложения видео и должен обрабатывать отображение самих видеоданных. Обычно это используется аппаратными видеодекодерами, которые имеют альтернативное подключение к видеоустройству.
Наследование
Интерфейс IOverlay наследуется от интерфейса IUnknown . IOverlay также имеет следующие типы элементов:
Методы
Интерфейс IOverlay содержит следующие методы.
IOverlay::Совет Метод Advise настраивает ссылку на совет для событий наложения, заданных параметром dwInterests. |
IOverlay::GetClipList Метод GetClipList извлекает список обрезки. |
IOverlay::GetColorKey Метод GetColorKey извлекает текущий ключ цвета, используемый для ключей хрома. |
IOverlay::GetDefaultColorKey Метод GetDefaultColorKey извлекает цветной ключ по умолчанию, используемый для наложения ключа хрома. |
IOverlay::GetPalette Метод GetPalette извлекает текущую системную палитру. |
IOverlay::GetVideoPosition Метод GetVideoPosition извлекает текущий источник видео и целевые прямоугольники. |
IOverlay::GetWindowHandle Метод GetWindowHandle извлекает текущий дескриптор окна. |
IOverlay::SetColorKey Метод SetColorKey изменяет цветовой ключ. |
IOverlay::SetPalette Метод SetPalette задает палитру. |
IOverlay::Unadvise Метод Unadvise завершает связь рекомендаций, установленную с интерфейсом IOverlayNotify. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |