VMR9 设备丢失 lost device

本文探讨了Direct3D程序中设备丢失的问题,并针对基于DirectShow架构的播放器提出了两种处理方案:一是统一管理并释放资源;二是保留播放进度后重建Graph以继续播放。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在direct3d程序里面,设备丢失是个令人头痛的问题之一。

如果整个设备的创建和使用都是由自己控制,如game编程,相对来说好处理,即所有资源都注册到一个管理对象里,统一release,然后reset设备,再重建资源即可。

但对于基于directshow架构的播放器来说,directshow架构内部用到了渲染的surface,无法在外部进行管理,导致无法释放,无法复位设备。在google上有很多相同的问题没有答案,不知道是不是微软遗漏的该部分的处理。


丑陋一点的处理方案是,当发现设备丢失时候,保留当前播放进度,重建graph,重新播放。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值