我在下面的链接中有完全相同的问题,Using DirectShow filters outside DirectShow?我是一个新鲜的导演,那个堆栈中的两个答案对我来说不够清楚。我找不到办法联系作者,问他是否解决了他的问题。有没有办法做到这一点?
或者,有人能对这两个答案给出更详细的解释吗?手动“调用各种过滤器”是什么意思?“包装整个过滤器图”又是什么意思?
发布于 2011-06-08 07:37:37
我不能评论“手工”方法(这是个坏主意),但使用DirectShow的一种选择是将整个滤镜图形包装在您的Media Foundation对象中。因此,是的,在Media Foundation对象内将是一个完整的directshow图形,以及您感兴趣的过滤器。
当然,这不是微不足道的--对于directshow图形,您需要一些输入过滤器,然后可能还需要一个样本抓取过滤器来从图形中提取样本。您的图表将如下所示:
源过滤器->一些DMO解码器->样本抓取器->空渲染器
样本采集器...and会在每次传递样本时调用一个回调。
如果你的解码器滤波器是DMO,那么它就会变得容易得多。我猜你没有用DMO过滤器吧?
https://stackoverflow.com/questions/6016329
复制相似问题