2012-01-23 197 views
3

私はファイルをデコードしてアンドロイドデバイスで再生するためにffmpegを使用しています。私はこれが動作していると同時に、同時に2つのストリームをデコードしたいと思います。私はffmpegでav_lockmgr_register()呼び出しを使用する必要があるとのコメントを読んだことがあります。残念ながら、これらのロックの使用方法と、これらのロックを使用する際のフローの仕組みはわかりません。ffmpeg同時に複数のストリームをデコードする

現在、私は、Java側で別のスレッドを使用して、JNI経由でffmpegと通信しているネイティブコードを要求しています。

スレッドはネイティブ(NDK)側にある必要がありますか、それともJava側で管理できますか?そして、私はロックをする必要がありますか、もしそうなら、どのようにffmpegで動作しますか?

*** UPDATE 私は今、この作業を行っています。java sdkレベルでスレッドを設定すると、ネイティブレベルで別のスレッドに移行するようです。これで、私は自分の変数で構造体を作成した後、ネイティブレイヤーに変数を渡して各ビデオにどの構造体を使用するかを指定することができました。だから、ネイティブレベルでミューテックスやロックを使用する必要があり、何の問題もありませんでした。

私はffmpegでそうしないと遭遇する可能性のある問題を知っていますか?

答えて

2

私はこれに答えるつもりです。私の最新の更新アプローチが有効であるようです。 Javaレイヤーからスレッドを制御し、別のスレッドでネイティブ呼び出しを行うことで、すべてが機能していて、問題は発生していません。

関連する問題