在无渲染模式下使用VMR-9时如何解决SelectAtPosition()崩溃问题?
答案 0 :(得分:2)
使用无渲染模式时的SelectAtPosition()崩溃问题可以通过在custom-allocator中实现IVMRWindowlessControl9接口来解决。
除了IVMRSurfaceAllocator9& IVMRImagePresenter9,也实现了IMRWindowlessControl9! class CAllocator:public IVMRSurfaceAllocator9,IVMRImagePresenter9,IVMRWindowlessControl9
定义IVMRWindowlessControl9的所有虚函数。在我的情况下,我需要添加额外的代码 在以下函数上使鼠标处理正常工作:GetAspectRatioMode(),SetAspectRatioMode(),SetAspectRatioMode(),GetVideoPosition()& GetNativeVideoSize()。其他函数只返回S_OK。
M $ SDK文档没有提到我们需要实现这个!!!经过几个小时的调试, 我注意到quartz.dll尝试从custom-allocator查询此接口。有时耐心真的是值得的!