Hi,

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;
        if(!m_avAACFrame)
            m_avAACFrame=avcodec_alloc_frame();
        else
            avcodec_get_frame_defaults(m_avAACFrame);
int buff=avcodec_decode_audio4(pAACCodecCtx, m_avAACFrame, &gotframe, &avAACpkt);
        if (gotframe==0 || buff<0)
        {
            *outputsize=0;
            return;
        }
*outputsize=av_samples_get_buffer_size(NULL, 2, m_avAACFrame->nb_samples, pAACCodecCtx->sample_fmt, 1);
memcpy(outbuffer,*(byte**)&m_avAACFrame->data,*outputsize);

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

_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to