GraphEdit で次のグラフを作成しました: Logitech Webcam -> Infinite Tee Pin Filter -> VideoRenderer。これは問題なく動作します (GraphEdit は、TEe フィルターと VideoRenderer フィルターの間にいくつかの中間フィルターを自動的に挿入します)。
コードで同じことを試みましたが、Tee フィルターを VideoRenderer に接続しようとすると失敗します。最初に Web カメラを T フィルターに接続すると動作します (Web カメラがオンになり、S_OK が表示されます)。次に、T フィルターから 1 つの出力ピンを最初のフィルターに接続しようとしましたが、失敗しました (エラーは、それが可能であるということです)。それらを接続するための一連の中間フィルターが見つかりません)。同じ効果で、IGraphBuilder::Connect と ICaptureGraphBuilder2::RenderStream の両方にそれらを接続しようとしました。ピンを列挙するには、hr = _CaptureGraphBuilder.FindPin(theFilter, PinDirection.Input, null, null, true, 0, out thePin); を使用します。ビデオ レンダラーの場合、Tee フィルターの PinDirection.Output を除いて同じです (これは C# にありますが、コンストラクトは C++ に正確にマップされます)。
何か案は?