Android でビデオを抽出、デコード、編集、エンコード、および多重化する機能を追加しようとしています。したがって、Android CTS ExtractDecodeEditEncodeMuxTestの一部である非常に便利な実装を見つけました。残念ながら、コードはテストケースの一部として実行された場合にのみ機能します。通常のアクティビティから実行して取得しようとしました:
E/ExtractDecodeEditEncodeMuxTest (18781): java.lang.IllegalStateException: マルチプレクサの停止に失敗しました
W/System.err(18781): java.lang.RuntimeException: Surface フレームの待機がタイムアウトしました W/System.err(18781): at ...OutputSurface.awaitNewImage(OutputSurface.java:216)
出力サーフェスがフレームを受信しない理由はありますか?
更新: 動作中のテスト ケースと動作していない実装のログ ファイルは次のとおりです。両方のコードはまったく同じです。唯一の違いは、動作中のものは AndroidTestCase であり、もう 1 つは IntentService 内のアプリケーションで実行されていることです。
約 6 フレーム後に抽出とデコードがすべて停止するようです。何か案は?