0

フィルタ ピンを再接続する方法は?

リサイザー フィルター (c++) を作成し、オプション Pal(720X576) および Ntsc(720X480) を含むプロパティ ページを追加しました (デフォルトは Pal)。

グラフ編集でビデオ ファイルを選択し、マイ リサイザ フィルタを追加しました。グラフを再生すると、正常に動作し、Pal でビデオが表示されます。Ntsc に変更しようとすると、正しく動作しません。正しく動作させるには、最初に Resizer フィルター ピンを切断し、出力設定を変更してから再接続する必要があります (手動でこれを行うと、ビデオは Ntsc モードで再生されます)。

Transform() またはその他のより良い提案でフィルターを再接続することは可能ですか? 提案してください/儀式の方向を教えてください.

4

1 に答える 1

0

グラフが停止している間、グラフを作成するのと同じ方法でピンを再接続できIGraphBuilder::DisconnectますIGraphBuilder::ConnectTransform停止したグラフはまだ呼び出していないため、メソッドから実行することはできません。

グラフの実行中に、メディア タイプの接続を動的に再同意することを試みることができますが、これは動作することが保証されていません。動的フォーマット変更を参照してください:

フィルタがメディア タイプを切り替えることを、動的フォーマット変更と呼びます。DirectShow フィルターを作成している場合は、動的なフォーマット変更のメカニズムに注意する必要があります。フィルターがそのような変更をサポートしていない場合でも、別のフィルターが新しい形式を要求した場合、フィルターは正しく応答するはずです。

于 2013-01-28T08:03:02.687 に答える