On Tue, Mar 22, 2016 at 12:36 PM, Hendrik Leppkes <h.lepp...@gmail.com> wrote: > On Tue, Mar 22, 2016 at 11:35 AM, qw <applema...@163.com> wrote: >> Hi, >> >> I am reading ffmpeg source code, and confused about the following logic in >> movenc.c, >> >> if (enc->codec_id == AV_CODEC_ID_AAC && pkt->size > 2 && >> (AV_RB16(pkt->data) & 0xfff0) == 0xfff0) { >> if (!s->streams[pkt->stream_index]->nb_frames) { >> av_log(s, AV_LOG_ERROR, "Malformed AAC bitstream detected: " >> "use the audio bitstream filter 'aac_adtstoasc' to fix it >> " >> "('-bsf:a aac_adtstoasc' option with ffmpeg)\n"); >> return -1; >> } >> av_log(s, AV_LOG_WARNING, "aac bitstream error\n"); >> } >> >> If I used default setting to encode audio samples into packets and moved >> those packets into mp4 container, my transcoding program will report: >> >> [mov @ 0xe30a00] Malformed AAC bitstream detected: use the audio bitstream >> filter 'aac_adtstoasc' to fix it ('-bsf:a aac_adtstoasc' option with ffmpeg) >> >> why movenc.c can't support ADTS format? how to set fdk_aac encoder to code >> audio samples without the error message? >> > > ADTS in MOV/MP4 is not allowed, only raw AAC is. When encoding with > ffmpeg straight into MP4, it should automatically do this, if you have > your own application, you need to set the global header flag on the > decoder context.
*encoder* context of course. > > Please post questions to the user mailing list, not the development list. > > - Hendrik _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel