C++ FFmpeg在我的应用程序中禁用Windows桌面管理器
我在应用程序中使用DirectShow和FFmpeg渲染视频。FFmpeg仅用于MPEG4/Part2帧的解码(自定义解码器过滤器)。我的应用程序不播放音频(仅视频) 当我用Win+L锁定我的电脑(Win7 Pro 64位)并解锁时,Windows会向我显示以下消息: 配色方案已更改 以下程序执行了一项操作,要求Windows将配色方案临时更改为Windows 7 Basic …应用程序名称、发布者、pid 当此程序或执行类似操作的其他程序不再运行时,Windows将自动将配色方案更改回Windows Aero 我有可能使用另一个自定义解码器过滤器,它是在没有FFmpeg的情况下开发的,使用它Windows不会向我显示这样的消息 我运行了Aero疑难解答,检测到桌面窗口管理器被禁用 我的主要问题是:为什么解锁后会出现此消息C++ FFmpeg在我的应用程序中禁用Windows桌面管理器,c++,ffmpeg,directshow,aero,C++,Ffmpeg,Directshow,Aero,我在应用程序中使用DirectShow和FFmpeg渲染视频。FFmpeg仅用于MPEG4/Part2帧的解码(自定义解码器过滤器)。我的应用程序不播放音频(仅视频) 当我用Win+L锁定我的电脑(Win7 Pro 64位)并解锁时,Windows会向我显示以下消息: 配色方案已更改 以下程序执行了一项操作,要求Windows将配色方案临时更改为Windows 7 Basic …应用程序名称、发布者、pid 当此程序或执行类似操作的其他程序不再运行时,Windows将自动将配色方案更改回Wind
另外,我正在使用ffmpeg mpeg4解码器,sws_比例从RGB24到YUV420p。FFmpeg仅使用mpeg4解码器/编码器构建,其他所有功能均已禁用。此问题是由于在协商媒体类型时在BitMapInfo标头中提供了负高度(自上而下位图)造成的。
我将解码器中的高度更改为正(自底向上位图),Windows 7的配色方案不再被触动。此问题与FFmpeg无关(我希望如此),即使我“禁用”FFmpeg相关代码和LIB,也会出现此问题。此问题涉及DirectShow过滤器图形中使用的视频渲染。我使用CLSID_视频渲染器,但FFmpeg和CLSID_混合视频渲染器9/CLSID_增强视频渲染器不会出现问题。