0

ビデオ形式でフレームをキャプチャする DirectShow ビデオ レンダラーを作成しましたVIDEOINFOHEADER2(これは、組み込みのグラバーでは不可能です)。CBaseVideoRendererこのクラスは、必要な基本メソッドから派生し、実装します。CheckMediaTypeSetMediaTypeが呼び出されOnStartStreamingます。ただしDoRenderSample、ストリームはすぐに終了するため、呼び出されることはありません。興味深いことに、オーディオは DirectSound レンダラーによってグラフにレンダリングされます。つまり、データがあります。

私のグラフには「ライブ ソース」、つまり BDA DVB-S があることを付け加えておきます。レンダラーの代わりに EVR を追加すると、すべてが機能します。つまり、サウンドとビデオが再生されます。

ここで何が問題なのですか?レンダラーがライブ ソースからデータを受信するための特別な要件はありますか?

更新 1: GraphEdit でグラフを実行すると、サウンドも再生されますが、エラー メッセージが表示されることを追加する必要があります (レンダラーのみで、EVR ではありません):「グラフは状態を変更できませんでした。少なくとも 1 つの操作に関与するピンは既に接続されています。(リターン コード: 0x80040204)」これは問題の一部だと思いますが、残念ながらそれが何を意味するのか、コードで何を変更すればよいのかわかりません。

更新 2:要求に応じて、私のグラフの ROT エントリ (クリックして拡大):

ROT からのグラフ

4

0 に答える 0