2016-04-11 22 views
1

にWDMストリーミングクロスバーのデバイスを追加します。私は基本的なDirectShowのグラフを持ってフィルターグラフ

ビデオキャプチャ出典:SMIグラバーのDev(4chののUSB DVR)>ビデオレンダラ

私はグラフの開始、私はこのエラーを取得:

デバイスは

x8007048F

に接続されていません

は、GraphStudioNextまたはmy c#コードのいずれかです。私はWDMストリーミングクロスバーデバイスデバイス(SM DBAクロスバーフィルタ)を追加し、ビデオキャプチャソースに接続するGraphStudioNextで動作するソリューションを見つけましたが、私のC#コードでどのように同じことをするのか分かりません。

ご協力いただきありがとうございます。

答えて

2

エラーはERROR_DEVICE_NOT_CONNECTEDです。キャプチャフィルタは単独では実行できません。これは、基本的にクロスバーを追加せずに実行されることが予想されるため、ハードウェアドライバのバグ/不正確と考えることができます。

は、キャプチャデバイスが使用している場合は、Windowsのドライバモデル:あなたはすでに上流に接続する必要がある、というかむしろあなたはそれがICaptureGraphBuilder2::FindInterface呼び出しによって追加されていることができるものを見られるように

あなたは、明示的にクロスバーのフィルタを追加することができます(WDM)ドライバの場合、グラフには、TVチューナフィルタやアナログビデオクロスバーフィルタなど、WDMビデオキャプチャフィルタの上流側に特定のフィルタが必要な場合があります。 pCategoryパラメータがNULLと等しくない場合、このメソッドは自動的に必要なWDMフィルタをグラフに挿入します。これを行うには、キャプチャフィルタの入力ピンをクエリして、サポートするメディアを判断し、マッチングフィルタに接続します。

DxTunerサンプルをDirectShow.NETから参照して、FindInterfaceの使用例を参照してください。

+0

実際に私はクロスバなしのキャプチャデバイスフィルタでのみ動作することができました前に、 – habibhassani

+0

あなたはFindInterfaceのパラメータの意味を説明してください、idはmsdnドキュメントの説明を把握していませんでしたFindInterface ( [中]のconst GUID * pCategory、 [中]のconst GUID *パラメータ・タイプ、 IBaseFilter * PF、 [中] REFIIDのRIID、 は、[出力]、ボイド** ppint [中]) – habibhassani

+0

あなたが見ていましたDxTunerで?あなたが興味を持っているコード行があります: 'captureGraphBuilder.FindInterface(null、null、theDevice、typeof(IAMCrossbar).GUID、out o)' –

関連する問題