2016-03-29 18 views
0

私はリアルタイムで編集する必要があるビデオを再生するためにMedia Foundationを使用しています。そのため、フレームをいつ表示する準備ができているかを知る必要がありますが、コールバックはそのようなメッセージを表示しません。MediaFoundation - フレームは準備完了ですか?

私の唯一のアイデアは、フレームレートをチェックして、それを恥ずかしがるようにタイマーを設定し、最後にタイマーが呼び出された場所をGetPositionを使って確認していますが、この。

ありがとうございます!

マット

答えて

0

なぜあなたはIMFStreamSink::ProcessSampleの実装で編集を行うと、現在使用しているものは何でも出力ノードに編集した渡しtopologoyで独自のIMFStreamSinkインスタンスを注入することはできませんか?

また、EVRを使用している場合は、カスタムプレゼンターを作成することもできます(MSDNのthisを参照)。

+0

この日を過ごした後、私は安全に言うことができます、私は完全に混乱しています。私はMediaFoundationを完全に新しくしました。これを動作させるには、以下のMSDNサイトでチュートリアルを使用しました。 IMFStreamSinkをプログラムに統合する方法がわかりません。それはそれが自分のやり方であるように思えるので、これを取り除き、やり直す必要があります。 https://msdn.microsoft.com/en-us/library/windows/desktop/ff728866(v=vs.85).aspx – CodeConfusion

0

私は簡単な解決策を見つけました。セッションの再生速度を設定し、セッションからプレゼンテーションクロックを作成します。タイマーを設定し、プレゼンテーションクロックを確認してください。 1ティックの再生速度に等しい時間が経過すると、新しいフレームが提示されている。

関連する問題