DeleteMediaType()导致链接失败?
摘要:这两天碰到了奇怪的问题,加入DeleteMediaType()释放内存后,编绎成功,但链接失败,找到N个重名符号.查找帮助文档,依葫芦画瓢,替换成以下代码就正常了,看来DirectShow也知道会有这个问题吧:Use this function to release any media type structure that was allocated using either CoTaskMem...
阅读全文
两个Audio Render
摘要:我的程序中,设置音量,会改变Volume Mixer中的波形音量。经过查找,发现问题在于,用了不同的Audio Render,系统提供了两个Audio Render,CLSID不同:CLSID_DSoundRenderCLSID_AudioRender使用第一个Filter不会影响系统的音量设置,而第二个会改变波形音量!再看帮助文档,是这样叙述的:对于枚举出来的每个音频播放设备,都有两个Filte...
阅读全文
静下心来解决问题
摘要:要静下心来解决问题,也许并不清楚解决问题的方向,也许还没有头绪,但请把精力集中在问题上,试着用不同的方法来改变它。即使解决不了,也一定会有收获的!就像这两个名字相同的Video Renderer Filter,我想过问题的原因,但一直在尝试自己写双屏Renderer Filter,推测是GraphEdit能更好地控制DirectShow程序,但一直没有真正静下来解决这个问题,其实这两个Video ...
阅读全文
两个同名的Video Renderer
摘要:今天,终于发现了影响我的DirectShow程序效率的原因在于,用错了Video Renderer!系统提供了两个同名的Video Renderer,其名称一样,但CLSID不同,性能自然也不同了。以下是截图,DX SDK中,已经定义了这两个Filter的GUID,如图,前一个为:CLSID_VideoRendererDefault :{6BC1CFFA-8FC1-4261-AC22-CFB4CC...
阅读全文