iOverlayNotify 接口 (strmif.h)

[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayerIMFMediaEngine媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

接口IOverlayNotify提供上游筛选器(如解码器),其中包含呈现窗口的更改通知。 这包括调色板、颜色键和窗口位置的更改通知,以及可见区域 (剪裁) 更改。

大多数软件视频解码器允许视频呈现器通过将媒体样本传递到呈现器输入引脚上的 IMemInputPin 接口来绘制它们生成的解压缩图像。

但是,某些视频解码筛选器通常 (硬件解压缩板) 处理图像本身的绘制(可能通过使用 VGA 连接器)。 这些筛选器不需要使用 IMemInputPin,但可以改用呈现器输入引脚提供的 IOverlay 接口。 通过此接口,当窗口位置或大小发生更改时,或者当当前系统调色板发生更改以安装和更改颜色键和调色板时,可以通知解码器。

执行自己绘制的解码器应实现 IOverlayNotifyIOverlayNotify2 接口。 每当窗口大小或位置发生更改、系统调色板更改或使用其他颜色键时,呈现器使用此接口来通知解码器。 解码器应在呈现器的输入引脚上调用 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
标头 strmif.h (包括 Dshow.h)