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


Интерфейс 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 см. на странице справочника по IOverlayIOverlayNotify.

Дополнительные сведения об асинхронных уведомлениях об изменениях в окне отрисовки см. в интерфейсе 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)