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

ucasliming ucasliming 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
从设备中得到视频流然后保存成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里的源代码,为什么会出现这种问题呢??难道我上面代码中初始化对象的方法有问题??请高手赐教!万分感谢,可以加分!
...全文

相关推荐

电动助力转向系统建模仿真中的控制策略与转向柱动力学研究(Matlab代码、Simulink仿真实现)

内容概要:本文系统解读了一套完整的多机器人路径规划(MAPF)MATLAB代码库,聚焦于基于优先级规划的无冲突轨迹生成方法。该框架将求解过程划分为几何、拓扑、调度与呈现四个解耦层次,涵盖地图解析、四邻域拓扑与Petri网构建、优先级启发式路径规划、时间同步与冲突消解,以及动画可视化等环节。其核心技术包括动态边权膨胀、节点预留历史、几何惩罚驱动的局部同步机制,有效提升了路径规划的效率与可行性。同时,框架支持Petri网双阶段整数规划求解,并提供完整的可视化链路,适用于仓储物流、无人机编队、自动驾驶等应用场景。; 适合人群:具备一定编程基础,熟悉MATLAB/Simulink环境,从事机器人、自动化、智能交通等领域研究的研发人员与高校研究生。; 使用场景及目标:① 学习并实现多智能体无冲突路径规划算法;② 研究动态边权膨胀、节点预留、Petri网建模等关键技术在路径规划中的应用;③ 借助可视化模块进行算法行为分析与教学演示;④ 在仓储调度、无人机编队等实际场景中进行算法迁移与二次开发。; 阅读建议:建议读者按照文档组织顺序,从总体架构入手,逐步深入各模块实现细节,重点关注优先级启发式设计、冲突消解机制与Petri网建模的接口逻辑,并结合提供的示例代码进行调试与可视化验证,以全面掌握框架的设计思想与工程实现要点。

然哥爱编程

基于spring boot+vue的共享农机管理系统的设计与实现_q20upn14毕业设计源码数据库.zip

基于spring boot+vue的共享农机管理系统的设计与实现_q20upn14毕业设计源码数据库.zip

源码论文专家

62Linux文件下载工具wget详解.docx

62Linux文件下载工具wget详解

云计算练习生

【基于优化算法的光伏系统】基于光伏系统(由光伏、电池、转换器、PI 控制器、逆变器和充电控制器组成)的 Simulink 模型

内容概要:本文介绍了一个基于优化算法的光伏系统Simulink模型,该系统由光伏阵列、蓄电池、DC-DC转换器、PI控制器、逆变器及充电控制器等核心部件构成,旨在通过Matlab/Simulink平台实现对光伏发电系统的建模、控制与仿真分析。模型重点体现了最大功率点跟踪(MPPT)控制策略与能量管理机制,利用PI控制器调节电压电流以实现系统稳定运行,并通过仿真验证系统在不同光照和负载条件下的动态响应特性与能量转换效率。该模型为研究光伏系统的稳定性、能效优化及并网控制提供了可靠的仿真基础。; 适合人群:具备一定电力电子、自动控制理论及Matlab/Simulink仿真基础的高校研究生、科研人员及从事新能源系统设计的工程技术人员。; 使用场景及目标:①用于教学实验中帮助学生理解光伏发电系统的工作原理与控制策略;②支撑科研项目中对新型控制算法(如改进MPPT、储能协调控制)的验证与对比分析;③为光伏微网系统的设计与优化提供仿真验证工具。; 阅读建议:建议读者结合Matlab/Simulink环境动手搭建与调试模型,重点关注各模块之间的信号传递关系与控制逻辑实现,同时可尝试引入不同优化算法对PI参数整定或能量管理策略进行改进,以深化对系统动态特性的理解。

荔枝科研社

Vue基于springboot和vue的家校互动平台_vhq1a3g2毕业设计源码数据库.zip

Vue基于springboot和vue的家校互动平台_vhq1a3g2毕业设计源码数据库.zip

源码论文专家
评论 4
收藏 已收藏
分享
返回顶部
ucasliming
ATL 3,248 成员 48,530 内容