directshow使用自己写的source filter遇到奇怪的问题,项目急需,高手请进!

ucasliming 2012-11-09 02:27:49
从设备中得到视频流然后保存成AVI文件,这个功能已经实现,测试没有问题。现在想在录制过程中,在视频流的每一帧中添加一个bmp图片文件,我在sdk的filter源代码中发现有一个叫PushSource的示例,实现的功能就是将bmp图片写到DIB流中,然后在fillbuffer中将图片流写到sample的相应位置上。我就想先用这个源过滤器试试(生成ax文件)。然后,我在自己的主程序中作如下的调用(链接文件等都没有问题,程序已经能跑通):

IBaseFilter* m_pBF=NULL;
hr = CoCreateInstance(CLSID_PushSourceBitmap, NULL,
CLSCTX_INPROC,
IID_IBaseFilter,
(LPVOID*)((IBaseFilter**)&m_pBF));
hr = AddDeviceFilter(m_DeviceID, m_pGB, &m_pBF);

AddDeviceFilter就是将设备绑定到源过滤器上,这个方法应该没什么问题。我在PushSource源代码中添加messagebox作为调试,发现filter和bin的初始化都没有问题,只是checkmediatype和fillbuffer等方法没有调用,我上网查阅资料,得知fillbuffer应该是一种回调机制,只要有sample,就可以不断的调用fillbuffer。虽然没有调用fillbuffer,录像还是能正常进行。也就是说这个过滤器走的是父类的fillbuffer。我这是用的sdk里的源代码,为什么会出现这种问题呢??难道我上面代码中初始化对象的方法有问题??请高手赐教!万分感谢,可以加分!
...全文
334 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ucasliming 2012-11-09
  • 打赏
  • 举报
回复
引用 3 楼 wwwllg 的回复:
你可能还没有真正联接上,当联接时才会触发检测格式及,设置BUFF的大小。
谢谢你的回复,我是新手,不知道这种情况下应该怎么调试,怎么才能找到问题所在呢?
UDX协议 2012-11-09
  • 打赏
  • 举报
回复
你可能还没有真正联接上,当联接时才会触发检测格式及,设置BUFF的大小。
ucasliming 2012-11-09
  • 打赏
  • 举报
回复
还有,它们之间的继承关系是这样的 CPushFilter:public CSource,而CSource:public CBaseFilter,CBaseFilter:public CUnknown,public IBaseFilter,public IAMovieSetup,而根据晚绑定的原理,不应该调用父类的fillbuffer啊??
ucasliming 2012-11-09
  • 打赏
  • 举报
回复
怎么没人回复呢 在线等啊
内容概要:本文聚焦于高维多阶段随机规划问题,深入研究了正则化分解方法与马尔可夫过程在刻画不确定性动态演化中的应用,并提供了完整的Python代码实现。通过引入正则化技术有效降低了高维随机优化问题的计算复杂度,结合马尔可夫链建模多阶段决策过程中的不确定性传播机制,提升了模型在复杂动态环境下的求解效率与鲁棒性。研究涵盖了问题建模、算法设计、数值求解及结果分析全过程,具有较强的理论深度与工程实践价值; 适合人群:具备一定运筹学、优化理论基础及Python编程能力,从事智能决策、人工智能、能源系统优化、金融工程等相关领域的科研人员、高校研究生以及工业界研发工程师; 使用场景及目标:①应用于电力系统调度、供应链管理、金融资产配置等存在多阶段不确定性的复杂决策场景;②掌握高维随机规划的建模思路与高效求解技术,深入理解正则化方法与马尔可夫过程在实际优化算法中的融合机制与实现路径; 阅读建议:建议结合提供的Python代码进行动手实践,重点关注算法实现细节、参数敏感性分析与收敛性验证,鼓励在不同应用场景中迁移和改进该方法,进一步探索其在分布鲁棒优化、动态规划等前沿方向的扩展潜力。

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧