現在、ユーザーが TV キャプチャ カードを構成するのに役立つ DirectShow アプリケーションを開発しています。この構成は、後で別のプログラムで使用されます。
ICaptureGraphBuilder2::RenderStreamメソッドを使用して、ビデオとオーディオの両方をレンダリングします。グラフのソースは、ユーザーが選択したデバイスによって異なりますが、これはほとんどWDM ビデオ キャプチャ フィルターカテゴリのデバイスです。
これが私の問題です。一部のデバイスは、ソース フィルター以上のものを必要とするため、機能しません。たとえば、オーディオ用に別のフィルターを備えた Web カメラがあります。別の例として、独自の Encoder/Mux を持つ TV チューナー カードがあります。
私のアプリケーションはほとんどのキャプチャ デバイスで動作するはずですが、ソース フィルタの横に、グラフが動作するために必要な追加のフィルタがあるかどうかを検出する一般的な方法はありますか?
すべてのフィルターを列挙して、それらの名前が互いに似ているかどうかを確認できましたが、名前は信頼できません...