黎明前的黑暗(请大家帮忙分析一个BUG)
现象1:
第三方的source filter,有两个输出PIN,音频和视频,分别连接video render和audio render,播放正常.
现象2:
我把DirectShow SDK中的Dump filter连接到source filter的视频输出PIN上,运行,可以把文件正常导出,而且在导出过程中可以进行其它操作,如DEMO中的菜单都是可以点的,应该是多任务,没有独占CPU.
现象3:
把Dump filter连接到source filter的音频输出PIN上,运行过程中类似死机,无法进行任务操作,我觉得可能是CPU被独占了,等运行结束后才恢复正常,按理说不应该这样吧?
大家帮忙分析一下,怎么做才能让现象3变得正常,就是像现象2一样.
我自已的分析:
(1)怀疑source filter音频输出PIN有问题,可现象1正常呀?所以不成立.
(2)怀疑Dump filter输入PIN的ReceiveCanBlock函数返回值有问题,试验返回S_OK和S_FALSE也都不行.
现在没有想法了,大家帮分析一下.