[Libav-user] AAC decoding problems

Funky Factory Development funkyfactory at gmx.at
Sat Dec 29 12:54:36 CET 2012


I'm having some issues with AAC decoding with recent version of ffmpeg:

I'm using this code to decode AAC Frames (from a stream).
I had some troubles with the decoding - everything runs fine but the 
after a few seconds playing
the decoded buffer (m_avAACFrame->data) only contains zeros.

         int gotframe=0;
         int buff=avcodec_decode_audio4(pAACCodecCtx, m_avAACFrame, 
&gotframe, &avAACpkt);
         if (gotframe==0 || buff<0)
         *outputsize=av_samples_get_buffer_size(NULL, 2, 
m_avAACFrame->nb_samples, pAACCodecCtx->sample_fmt, 1);

So i switched to the latest version of ffmpeg (Zeranoe FFmpeg for 
Windows) and now i have the problem that the output sample format is 
always AV_SAMPLE_FMT_FLT instead of AV_SAMPLE_FMT_S16 ?

     pAACCodecCtx->bit_rate = 64000;
     pAACCodecCtx->sample_rate = 44100;
     pAACCodecCtx->channels = 2;
     pAACCodecCtx->channel_layout = 3;
     pAACCodecCtx->sample_fmt = AV_SAMPLE_FMT_S16;

     //pAACCodecCtx->bit_rate = 64000;
     //pAACCodecCtx->sample_rate = fmtp[11];
     //pAACCodecCtx->channels = fmtp[7];
     //c->sample_fmt = AV_SAMPLE_FMT_DBL;
     //c->profile = FF_PROFILE_AAC_SSR;

     /* open it */

     if (avcodec_open2(pAACCodecCtx, AACCodec,NULL) < 0)
         return false;

Is AAC not properly supported on ffmpeg ?

Thanks for your help

More information about the Libav-user mailing list