directdraw显示yuv视频,出现屏保时,yuv显示不出来,表面丢失
DDrawSurface 丢失, DDraw表面在很多情况下都会丢失(如:启动其他全屏独占程序,屏保,或锁屏时), 表面丢失其实就是表面所使用的内存或显存被DirectDraw系统释放, 分配给其他程序. 如果表面丢失, 对此表面的操作都会返回 DDERR_SURFACELOST , 此时应该调用 IDirectDrawSurface 接口方法 Restore 来恢复表面(重新申请内存或显存)。
伪代码如下:
hr = m_lpDDSOffscreen->Lock(rcDest,&ddsd,DDLOCK_SURFACEMEMORYPTR|DDLOCK_WAIT,NULL);
if (hr==DDERR_SURFACELOST)
{
hr = m_lpDDSOffscreen->Restore();
hr = m_lpDDSOffscreen->Lock(rcDest,&ddsd,DDLOCK_WAIT,NULL);
}
if (FAILED(hr))
{
return DD_FALSE;
}
//将数据拷贝到离屏表面,然后使用blt块传输到主表面
HRESULT ddrval;
ddrval=lpDDSPrimary->Blt(NULL, lpDDSOffscreen, NULL, DDBLT_WAIT, NULL);
if (ddrval==DDERR_SURFACELOST)
{
lpDDSPrimary->Restore();
}
这样当屏保,锁屏,修改屏幕分辨率,表面都可以恢复,视频显示正常
这里也可以使用 ddraw对象,恢复所有表面,方法如下:
lpDD->RestoreAllSurfaces();
其中
LPDIRECTDRAW7 lpDD;
本文转自:http://blog.csdn.net/smilestone322/article/details/7289716
directdraw显示yuv视频,出现屏保时,yuv显示不出来,表面丢失相关推荐
- V4L2采集yuv视频花屏:Linux视频采集与编码(一)
V4L2采集yuv视频花屏:Linux视频采集与编码(一) 标签: linuxvideobufferiostructnull 2012-05-01 20:35 16179人阅读 评论(42) 收藏 举 ...
- ESP8266+OLED屏实现天气预报+温度显示+NTP时间同步4屏带中文显示
ESP8266+OLED屏实现天气预报+温度显示+NTP时间同步4屏带中文显示 最新视频链接 气象站 气象站+图形轮回播放 2 ESP8266气象站+图形轮回播放 3 ESP8266气象站+图像显示播 ...
- ESP8266+OLED屏实现天气预报+温度显示+NTP时间同步6屏带中文显示版本迭代持续更新
ESP8266+OLED屏实现天气预报+温度显示+NTP时间同步6屏带中文显示版本迭代持续更新 ✨版本更新说明:✨
- ESP8266+OLED屏实现天气预报+温度显示+NTP时间同步5屏带中文显示改进版
ESP8266+OLED屏实现天气预报+温度显示+NTP时间同步5屏带中文显示改进版 在原来5屏内容基础上,进行了显示细节的优化, 1.湿度显示改成中文标识. 2.刷出第五页出现重影问题,添加了清屏处 ...
- ESP8266+SH1106 OLED屏实现天气预报+温度显示+NTP时间同步6屏带中文显示V7.5版
ESP8266+SH1106 OLED屏实现天气预报+温度显示+NTP时间同步6屏带中文显示V7.5版 最新补充到V8.6 在上一版本基础上,添加了一屏幕城市地标ICON显示. 显示效果如下: 其他屏 ...
- ESP8266+OLED屏实现天气预报+温度显示+NTP时间同步6屏带中文显示V9.2.1
ESP8266+OLED屏实现天气预报+温度显示+NTP时间同步6屏带中文显示V9.2.1 作品展示:https://www.ixigua.com/6974696416463553039?logTag ...
- html全屏播放一段视频,显示HTML5视频全屏(Show HTML5 Video Fullscreen)
这对我的作品. 我发现在使Web应用程序与VIMEO影片"怪癖解决方案". 我测试了两种设备. 一个是Android的4.2.x版的版本,另一种是4.4.x到版本. 一个是能够以全 ...
- html怎么让视频只显示字幕,视频加字幕快速调整字幕显示位置 视频画面任意位置添加艺术字幕...
快捷精确调整字幕位置,有多种方法: 方法一.通过九宫格快速定位字幕位置 通过"字体设置"栏目,"快速定位摆放的位置"处的九宫格,即可快捷定位字幕位置. 不建议仅 ...
- FFmpeg学习之二 (yuv视频渲染)
FFmpeg学习之二 (yuv视频渲染) yuv简介 1.yuv是什么 2.yuv采集方式 3.yuv存储方式 4.yuv格式 yuv视频渲染 1. iOS YUV视频渲染 1.1 IOS利用open ...
- RGB和YUV视频存储格式
RGB和YUV视频存储格式 视频数据,图像数据在存储中的存储格式主要有RGB和YUV.RGB是多媒体数据进行数据存储采用的主流格式:YUV格式所需存储空间一般是RGB格式存储空间的一半,所以YUV格式 ...
最新文章
- 【组队学习】【35期】李宏毅机器学习(含深度学习)
- 汇编语言 第3版 王爽 检测点习题部分—答案及详细解析 检测点3.1
- 【数理知识】《随机过程》方兆本老师-第6章-鞅过程及其性质
- 绝大部分项目都是跟金融创新、互联网、移动互联网、社区经济、分享经济、互联网金融有关...
- Vue关于axios跨域问题的解决
- Windows 2008 Core 常用命令
- Android菜鸟的成长笔记(23)——获取网络和SIM卡信息
- 评:网瘾不是问题 两代人文化冲突是根本
- kido机器人用流量吗_海底捞、呷哺、巴奴都在用!送餐机器人会成为“火锅标配”吗?...
- html链接安装包,磁力宅资源链接地址
- VSCODE如何汉化成中文
- 移动混合开发框架+Android原生模块化/组件化
- 大数据时代,数据分析师的职业发展规划
- 干眼症久治不愈?反复发作,小心可能不是干眼症!
- 用谷歌浏览器模拟打开天眼查网站并爬取需要的数据
- java中获取一天的开始时间和结束时间
- MyEclipse快捷键Alt+Shift+s详解
- 【架构师之路】四、系统架构
- 图书推荐:《Web前端黑客技术揭秘》
- 华为 GRE实验(GRE隧道)
热门文章
- 使用webpack前端重构感受
- quot;数据结构翻转课堂quot;答疑实录——链表
- [linux/ unix] 查看占用端口的 进程ID 的区别
- C++类中的static数据成员,static成员函数
- 问题十八:怎么对ray tracing图形进行消锯齿
- java实现lof,LOF异常检测算法实现
- 大数据分析应注意哪些问题
- java冒泡排序_冒泡排序法丨java、python冒泡排序实现代码
- oracle将字符串转成数组_【算法打卡】上升下降字符串
- 计算机操作员有关大学专业,如何根据自身特长选大学专业,这样操作最简单直接!...