当前位置: 代码迷 >> 多媒体/流媒体开发 >> DirectShow中RenderStream时可以加入自己写得Filter吗?解决方法
  详细解决方案

DirectShow中RenderStream时可以加入自己写得Filter吗?解决方法

热度:1637   发布时间:2013-02-26 00:00:00.0
DirectShow中RenderStream时可以加入自己写得Filter吗?
我用DirectShow对视频采集卡进行录像,主要用的是下面的语句:
hr   =   pBuild-> RenderStream(&PIN_CATEGORY_CAPTURE,   &MEDIATYPE_Video,     pCap,   NULL,   pMux);  
为了在视频流中加入实时时间显示,我自己写了一个Trans   Filter,但是怎样才能将其加入RenderStream的链中呢?请高手指教!

------解决方案--------------------------------------------------------
在初始定义模版的时候,不要用MERIT_DO_NOT_USE,而是定义一个数,这个数越大,枚举的优先级越高

模版类似:
const AMOVIESETUP_FILTER sudEZrgb24 =
{
&CLSID_EZrgb24, // Filter CLSID
L "Image Effects (EZRGB24) ", // String name
MERIT_DO_NOT_USE, // Filter merit
2, // Number of pins
sudpPins // Pin information
};

------解决方案--------------------------------------------------------
自己写一个videorender,在buffer贴上就可以了

------解决方案--------------------------------------------------------
加入Graph就可以,或者自己手动连接pin
  相关解决方案