Интерфейс IOverlayNotify (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Интерфейс IOverlayNotify
предоставляет фильтр вышестоящий, например декодер, с уведомлениями об изменениях в окне отрисовки. Сюда входят уведомления об изменениях палитры, цветового ключа и положения окна, а также об изменениях видимой области (обрезки).
Большинство программных декодеров видео позволяют видео отрисовщику рисовать распакованные изображения, которые они создают, передавая примеры мультимедиа в интерфейс IMemInputPin на входном контакте отрисовщика.
Однако некоторые фильтры декодирования видео (обычно аппаратные декомпрессионные платы) обрабатывают рисование самих изображений, возможно, с помощью соединителя VGA. Эти фильтры не должны использовать IMemInputPin, но вместо этого могут использовать интерфейс IOverlay , предоставляемый входным контактом отрисовщика. С помощью этого интерфейса декодер может получать уведомления при изменении положения окна или размера окна, а также при изменении текущей системной палитры для установки и изменения цветовых ключей и палитр.
Декодеры, которые выполняют собственные рисования, должны реализовывать IOverlayNotify
интерфейсы IOverlayNotify2 и . Отрисовщик использует этот интерфейс для уведомления декодера при каждом изменении размера или положения окна, изменении системной палитры или использовании другого ключа цвета. Декодер должен вызвать метод IOverlay::Advise во входном контакте отрисовщика, чтобы настроить обратный вызов. После установки обратного вызова отрисовщик вызывает методы декодера IOverlayNotify
при возникновении соответствующих событий. Чтобы отменить обратный вызов, используйте метод IOverlay::Unadvise .
Отрисовщик видео является единственным фильтром, который вызывает методы в этом интерфейсе. Это выполняется автоматически с помощью отрисовщика видео по умолчанию. Если вы пишете замещающий отрисовщик видео, вам потребуется использовать методы в этом интерфейсе, если фильтр поддерживает IOverlay и этот интерфейс передается фильтру в вызове IOverlay::Advise .
Наследование
Интерфейс IOverlayNotify наследуется от интерфейса IUnknown . IOverlayNotify также имеет следующие типы элементов:
Методы
Интерфейс IOverlayNotify содержит следующие методы.
IOverlayNotify::OnClipChange Метод OnClipChange предоставляет уведомление об изменении видимой области окна. Перед возвращением из этого метода необходимо обновить любое оборудование наложения, чтобы отразить изменение видимой области. |
IOverlayNotify::OnColorKeyChange Метод OnColorKeyChange предоставляет уведомление об изменении цветового ключа окна. |
IOverlayNotify::OnPaletteChange Метод OnPaletteChange предоставляет уведомление об изменении палитры окна. |
IOverlayNotify::OnPositionChange Метод OnPositionChange предоставляет уведомление об изменении позиции. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |