Graph 的构建, 不是完全手动连接的,如何避免 某些 Filter 被自动连接上?

definegg 2009-04-03 11:03:38
Graph 的构建, 不是完全手动连接的,如何避免 某些 Filter 被自动连接上, 已知这些 不想连接的 Filter 的 GUID ,

---------自动连接排除 某些Filter 的方法?
...全文
218 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoumingjie 2009-05-02
  • 打赏
  • 举报
回复
我觉得最靠铺的办法是参考media player classic,自己实现一套连接流程以及filter的管理流程
goodheartppl 2009-04-30
  • 打赏
  • 举报
回复
有一个超级简单的版本,我已经试过了 可行

先把你那个不需要FILTER的MERIT值降低到最低,或者把注册表的信息删掉

等连完了再恢复就可以了
yi7900 2009-04-30
  • 打赏
  • 举报
回复
IFilterGraph::ConnectDirect( IPin *ppinOut, IPin *ppinIn, const AM_MEDIA_TYPE *pmt);
这样可以不使用智能连接功能
ninemall 2009-04-21
  • 打赏
  • 举报
回复
..........先在graphedit里测试好来再搞咯
chiwa737 2009-04-15
  • 打赏
  • 举报
回复
同意楼上
Oversense 2009-04-10
  • 打赏
  • 举报
回复

这个真是超级简单了

在你 render 之前

调用 regsvr32 xxx.ocx /u 把你看不顺眼的dll/ocx unregsvr掉,

然后

render之后, regsvr32回来,就好了
jinlking 2009-04-10
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 Oversense 的回复:]

这个真是超级简单了

在你 render 之前

调用  regsvr32 xxx.ocx /u 把你看不顺眼的dll/ocx unregsvr掉,

然后

render之后, regsvr32回来,就好了
[/Quote]

很强悍的方法!
UDX协议 2009-04-10
  • 打赏
  • 举报
回复
to 楼上。

如果只是应付的话,可以。

但是实际应用中,根本不可能用你的方法。

不且说,你都能找到相应的dll/ax,如果你/u以后,你的应用程序如果异常退出会有什么后果?

你的软件和病毒没有区别了----破坏系统。
goodheartppl 2009-04-09
  • 打赏
  • 举报
回复
我也有过和你一样的问题

我后来的解决方案是 先手动连接自己的FILTER
然后剩下的用 RENDER PIN

然后把不想连的FILTER MERIT 值降低
把想连的FILTER 的MERIT 值增加
zhoumingjie 2009-04-09
  • 打赏
  • 举报
回复
这个应该比较简单,你可以仿照mpc的FGManager做个filter的封装,然后自己来确定优先级
mumuniuniu 2009-04-09
  • 打赏
  • 举报
回复
goodheartppl的方法很实用,我也一直用这种方法,
在更改优先级后可能需要重启才能有效
hust_terry 2009-04-04
  • 打赏
  • 举报
回复
这种要求有点费常规,关注解决方案。
UDX协议 2009-04-03
  • 打赏
  • 举报
回复
如果在这个不想联接的filter前面的filter是你自己的filter的话,有一种方法就是实现IStreamBuilder。

如果不是,没有较简单的方法,
不过你可以这样,你先让智能联接完成,然后再枚举每个filter,查看是否有你不想要的filter,如果有的话,就去掉,加进你想要的filter,再重新联接起来就行了。算是间接满足你的要求。
jinlking 2009-04-03
  • 打赏
  • 举报
回复
DShow会优先考虑添加到Graph中的filter,因此需要特定的filter可以预先添加。
但是排除某些filter,这个可能与filter注册信息中的优先级相关吧,merit
UDX协议 2009-04-03
  • 打赏
  • 举报
回复
如果自己实现graphbuilder,会疯的。
greenabc 2009-04-03
  • 打赏
  • 举报
回复
重写 RenderPin RenderFile RenderEx 等方法 , CLSID_FilterGraph 创建的对象的,
但是那个对象的类,没注意过 ,微软是不是给出了源码,如果没有的话 , 这个对象好像接口上没有这个方法,就需要自己实现一个 Graph Builder 了 ,对不

2,553

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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