目前我正在開發一個DirectShow應用程序,幫助用戶配置他們的電視採集卡。此配置稍後將在另一個程序中使用。DirectShow:檢測相關過濾器並添加這些過濾器?
我使用ICaptureGraphBuilder2::RenderStream方法呈現視頻和音頻。我的圖表來源取決於用戶選擇哪個設備,但這主要是WDM Video Capture Filter類別中的設備。
這是我的問題。某些設備無法工作,因爲它們不僅需要源過濾器。例如,我有一個網絡攝像頭,它具有獨立的音頻過濾器。另一個例子,我有一個電視調諧卡,它有自己的編碼器/複用器。
由於我的應用程序應該可以與大多數捕獲設備一起工作,有沒有通用方法來檢測圖形工作所需的附加過濾器是否在源過濾器旁邊?
我可以通過所有過濾器列舉並檢查他們的名字是彼此相似,但名字不能被信任......
提示用戶輸入音頻過濾器聽起來像是唯一的選擇。順便說一下,'ICaptureGraphBuilder2 :: RenderStream'也會自動添加一些過濾器,例如交叉開關。 –