如何识别DirectShowNet过滤器引脚

时间:2011-06-15 19:57:36

标签: c# directshow directshow.net

我正在尝试实现我创建的graphedit过滤器文件。我正在使用3ivx对视频进行编码和压缩,然后将其保存为.mp4。

在我的graphedit文件中,我有:

Mpeg4s Decoder DMO (out0) -> (XForm In) 3ivx MPEG-4 Video Encoder (XForm Out)->

然而,当我把它放到代码中时,无法找到引脚(XForm In)和(XForm Out),因此无法连接。

我将运行图添加到DsRot以显示当前图形,它显示过滤器(XForm In)和(XForm Out)引脚未连接。

我致电

IEnumPins pinsx;
filter.EnumPins( out pinsx );

尝试获取可用的引脚,但它不存储IEnumPins中的名称,它存储对象。

如何找到与此过滤器关联的引脚?

1 个答案:

答案 0 :(得分:2)

查看Splicer.Utilities.FilterGraphTools (codeplex)处的FindPinByDirection功能。

还有一个ConnectFilters函数,您可以使用它:

public static void ConnectFilters(IGraphBuilder graphBuilder, 
            IBaseFilter upFilter, IBaseFilter downFilter, 
            bool useIntelligentConnect)