社区
多媒体/流媒体开发
帖子详情
如果在Graph中查找指定CLSID的Filter?
__Shakespeare
2006-06-28 05:13:34
给定一个Graph,如何查找一个指定了CLSID的Filter,比如设计一个函数,参数是IGraphBulider和CLSID,而返回值是Filter指针???
...全文
267
4
打赏
收藏
如果在Graph中查找指定CLSID的Filter?
给定一个Graph,如何查找一个指定了CLSID的Filter,比如设计一个函数,参数是IGraphBulider和CLSID,而返回值是Filter指针???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Eddie005
2006-06-29
打赏
举报
回复
up~~~
pp7765
2006-06-29
打赏
举报
回复
学习
bitgold
2006-06-28
打赏
举报
回复
IBaseFilter *FindFilterByCLSID(IGraphBuilder *apGraph, REFCLSID aClsid)
{
IBaseFilter *lpFoundFilter = NULL;
//枚举智能接口的滤镜列表
IEnumFilters *lpFilters = NULL;
apGraph->EnumFilters(&lpFilters);
if (lpFilters)
{
IBaseFilter *lpFilter = NULL;
IPersist *lpPersist = NULL;
CLSID clsid;
ULONG lulFetchCount = 0;
//逐一查询滤镜列表中符合条件的滤镜
while (S_OK == lpFilters->Next(1, &lpFilter, &lulFetchCount) && lulFetchCount && !lpFoundFilter)
{
HRESULT hr = lpFilter->QueryInterface(IID_IPersist, (void**)&lpPersist);
if (SUCCEEDED(hr))
{
lpPersist->GetClassID(&clsid);
lpPersist->Release();
if (aClsid == clsid)
{
lpFilter->AddRef();
lpFoundFilter = lpFilter;
}
}
lpFilter->Release();
}
lpFilters->Release();
}
return lpFoundFilter;
}
bitgold
2006-06-28
打赏
举报
回复
使用IEnumFilters枚举GraphBuilder链路上的滤镜,然后申请接口IPersist获取滤镜的GUID对比需要查找的GUID
获得
filter
的
CLSID
并加入到
graph
中
一、获得
filter
的
CLSID
获得
filter
的
CLSID
有三种方法: 1、通过注册表
中
记录的值获得。 HKEY_CURRENT_USER/Software/Microsoft/ActiveMovie/devenum下面有几个分 类,各个
filter
都在里面。 比如DivX MPEG-4 Fast...
DirectX:在
graph
自己主动连线
中
增加自己定义
filter
(
graph
中
遍历
filter
)
为客户提供的视频播放的
filter
的測试程序
中
,採用正向手动连接的方式...如今,採用在自己主动连线的
graph
中
加入自己的
filter
:步骤例如以下:1. 构建自己主动连线
graph
。2. 在
graph
...
DirectShow 构建
Filter
Graph
·
Filter
Graph
Manager:这个对象用于控制
Filter
Graph
,支持I
Graph
Builder、IMediaControl和IMediaEvent等许多接口。所有的directshow应用程序都需要在某些地方用到这个对象,虽然在有些情况下,是其它的对象为...
DirectX:在
graph
自动连线
中
加入自定义
filter
(
graph
中
遍历
filter
)
为客户提供的视频播放的
filter
的测试程序
中
,采用正向手动连接的方式(http://blog.csdn.net/mao0514/article/details/40535791),由于不同的视频压缩格式,导致这种方式的缺点是不能...2. 在
graph
中
查找
render filt
构建
Filter
Graph
3.3. 构建
Filter
Graph
3.3.1. 用于构建
Graph
的组件 DirectShow提供了一系列用于构建
filter
graph
的组件,包括: *
Filter
Graph
Manager。这个对象用于控制
filter
graph
,支持I
Graph
Builder、IMediaControl和...
多媒体/流媒体开发
2,541
社区成员
20,280
社区内容
发帖
与我相关
我的任务
多媒体/流媒体开发
专题开发/技术/项目 多媒体/流媒体开发
复制链接
扫一扫
分享
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章