2012-04-22 9 views
1

私は直接ショーを始めたばかりで、これが可能かどうか疑問に思っています(解決策を見つけるための追加的な助けもいいかもしれませんが、これが追求する価値があるかどうかさらに心配しています)。1つのアプリケーションでDirectShowフィルタを設定および管理できますが、出力ピンを別のアプリケーションにバインドすることはできますか?

C++でDirectShowソースフィルタを作成していますが、FillBuffer呼び出しがC#アプリケーションに渡されるように設計しています。私の理解から、C#アプリケーションはDirectShowフィルタをロードし(DirectShowNetライブラリを使用する予定です)、ヘルパーメソッド(FillBuffer関数を指定してメディアソースを構成する)を含む作成したインターフェイスを要求する必要があります。これは、DirectShowNetサイトのGSSFの例と非常によく似ています。

しかし、あるアプリケーションにフィルタを読み込んで別のアプリケーションでフィルタを使用するのを妨げているのではないか、またはフィルタがロードされたときにフィルタの構成に対して行った変更が反映されないかどうかは疑問です別のアプリケーション。

私は、COMまたはDirectShowでそれほど快適ではないと言いました。

答えて

1

アプリケーションでのDirectShowフィルタの使用は、このアプリケーションでグラフを作成することを意味します。 2つのアプリケーションを使用する場合は、2つのグラフがあり、それぞれに独自のフィルタインスタンスがあります。

複数のアプリケーションで1つのグラフを使用できるかどうかはわかりません。 GraphBuilderツールは既存のグラフに接続することができますが、これはもともとはデバッグ上の理由で実装されたものであり、グラフの共有ではありません。

構成を共有し、2つのフィルタインスタンスを使用できる場合は、共有構成(レジストリ、シリアル化されたデータなど)を実装し、各フィルタが構成の変更をポーリングできるようにします。

+0

ありがとうございます。それが私の代わりの解決策でした。あなたの洞察に感謝します。 –

関連する問題