首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何自动选择我想要的用于我的OutPin的DirectShow源过滤器的解码器过滤器

如何自动选择我想要的用于我的OutPin的DirectShow源过滤器的解码器过滤器
EN

Stack Overflow用户
提问于 2012-08-26 14:15:04
回答 1查看 259关注 0票数 0

我已经编写了一个DirectShow源过滤器和源过滤器的外引脚连接到视频解码器过滤器

它在GraphEdit中工作得很好,因为我手动连接它们。

现在,我正在努力使它在中工作。问题在于译码器滤波器。

如何将解码器过滤器限制为"ffdshow视频解码器“?从CheckMediaType?我想要"ffdshow视频解码器“是唯一的过滤器可以连接到OutPin,它也可以自动连接到WMP。如果未安装此解码器筛选器,则图表不应工作。

谢谢您的帮助,12小时后我会回来查看答案:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-26 14:29:25

在输出引脚类中重写IPin::Connect方法。在那里,您将有您正在连接的引脚的IPin接口。您希望这只是视频解码器的输入引脚,所以您在那里做IPin::QueryPinInfo,并获得引脚的过滤器。在这里,您可以做IBaseFilter::GetClassID,并将获得的CLSID与您所知道和期望的CLSID进行比较。如果不匹配,则返回失败。

这是如何只连接到您想要的过滤器。另一件事是,应用程序甚至可能不尝试所需的筛选器,在这种情况下,您可能希望实现IStreamBuilder来建议输出引脚上连接的筛选器。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12130821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档