目前我正在开发一个DirectShow应用程序,帮助用户配置他们的电视采集卡。此配置稍后将在另一个程序中使用。DirectShow:检测相关过滤器并添加这些过滤器?
我使用ICaptureGraphBuilder2::RenderStream方法呈现视频和音频。我的图表来源取决于用户选择哪个设备,但这主要是WDM Video Capture Filter类别中的设备。
这是我的问题。某些设备无法工作,因为它们不仅需要源过滤器。例如,我有一个网络摄像头,它具有独立的音频过滤器。另一个例子,我有一个电视调谐卡,它有自己的编码器/复用器。
由于我的应用程序应该可以与大多数捕获设备一起工作,有没有通用方法来检测图形工作所需的附加过滤器是否在源过滤器旁边?
我可以通过所有过滤器列举并检查他们的名字是彼此相似,但名字不能被信任......
提示用户输入音频过滤器听起来像是唯一的选择。顺便说一下,'ICaptureGraphBuilder2 :: RenderStream'也会自动添加一些过滤器,例如交叉开关。 –