4

AAC を使用して Android デバイスで M4A ファイルをデコードしようとしています。

次のコードを使用してコーデックを初期化します。

codec = avcodec_find_decoder(CODEC_ID_AAC);
c= avcodec_alloc_context();
avcodec_open(c, codec);

ただし、後で次を使用してフレームをデコードしようとすると:

len = avcodec_decode_audio3(c, (short *)mOutbuf, &out_size, &avpkt);

ログに -1 (エラーを示す) と次のメッセージが表示されます。

10-11 16:30:01.115: INFO/M4ADecoder(5260): channel element 0.0 is not allocated
10-11 16:30:02.195: INFO/M4ADecoder(5260): channel element 2.0 is not allocated
10-11 16:30:03.295: INFO/M4ADecoder(5260): channel element 0.6 is not allocated
10-11 16:30:07.645: INFO/M4ADecoder(5260): Sample rate index in program config element does not match the sample rate index configured by the container.
10-11 16:30:07.655: INFO/M4ADecoder(5260): Number of bands (3) exceeds limit (2).

コーデックをセットアップするときに他に必要な手順はありますか? データを AAC デコーダーに送信する前に、ファイルを事前に解析する必要がありますか?

同じファイルは、Mac OSX の最新の ffmpeg コード (つまり、ffmpeg -i filename.m4a") で正常に動作します。

4

0 に答える 0