複数の入力ピンでVMRを使用しているとします。 VMRは単一のディスプレイ上にある必要がある単一のサーフェスにレンダリングされます。ストリームを複数のVMRにレンダリングすることができます。各VMRは、最大化されたウィンドウ内の別のディスプレイに配置されます。
すべてのストリームが1つのグラフになっているかのように聞こえます。それぞれのグラフが1つのソースと1つのレンダラーを持つ、異なるグラフに分けることができます。 IMediaControl :: Runの代わりにIMediaFilter :: Runを使用することを意味します。
- グラフを1つマスタとして選択します。
- マスターに時計があることを確認してください。これは通常、アクティブになるときに実行されますが、グラフ上でSetDefaultSyncSourceを呼び出すことで、以前に強制的に発生させることができます。
- IMediaFilterのグラフを照会し、GetSyncSourceを使用してマスターグラフから時計を取得し、SetSyncSourceを使用して他のグラフに渡します。
- すべてのグラフを一時停止します。
- GetStateがS_OKを返すまで待機します(一時停止が完了しました)。
- グラフから時間を取得し、10ms程度加算します。
- IMediaFilter ::すべてのグラフで実行し、この時間(現在+ 10ms)をパラメータとして渡します。
ありがとうGeraint。私はそれを試みます。 –