Я пытаюсь использовать API MediaCodec на Android для декодирования потока AAC. (Это необработанный AAC.) Я попытался использовать MediaFormat.createAudioFormat(), чтобы создать объект формата для передачи в MediaCodec.configure(), но я продолжал получать ошибки при использовании AAC (audio/mp4a-latm). (Он работает с MP3 (аудио/mpeg), хотя...)
Наконец, я создал MediaExtractor для файла AAC и посмотрел на объект формата, который он создавал. Я видел, что он включал ключ "csd-0" для ByteBuffer, состоящий из двух байтов как со значением 0x12. Если я включу этот ключ и значение в объект формата, который я использовал для настройки кодека AAC, все работает.
Кто-нибудь есть идея, что происходит? В документации указано, что я не должен настраивать этот ключ. Кто-нибудь имеет указатель на примеры MediaCodec для декодирования файлов AAC без использования MediaExtractor для создания объекта формата?