if (s->handle)
aacEncClose(&s->handle);
-#if FF_API_OLD_ENCODE_AUDIO
- av_freep(&avctx->coded_frame);
-#endif
av_freep(&avctx->extradata);
ff_af_queue_close(&s->afq);
avctx->bit_rate = (96*sce + 128*cpe) * avctx->sample_rate / 44;
if (avctx->profile == FF_PROFILE_AAC_HE ||
avctx->profile == FF_PROFILE_AAC_HE_V2 ||
+ avctx->profile == FF_PROFILE_MPEG2_AAC_HE ||
s->eld_sbr)
avctx->bit_rate /= 2;
}
}
if (avctx->cutoff > 0) {
- if (avctx->cutoff < (avctx->sample_rate + 255) >> 8) {
+ if (avctx->cutoff < (avctx->sample_rate + 255) >> 8 || avctx->cutoff > 20000) {
av_log(avctx, AV_LOG_ERROR, "cutoff valid range is %d-20000\n",
(avctx->sample_rate + 255) >> 8);
goto error;
goto error;
}
-#if FF_API_OLD_ENCODE_AUDIO
- avctx->coded_frame = avcodec_alloc_frame();
- if (!avctx->coded_frame) {
- ret = AVERROR(ENOMEM);
- goto error;
- }
-#endif
avctx->frame_size = info.frameLength;
avctx->delay = info.encoderDelay;
ff_af_queue_init(avctx, &s->afq);
in_buf.bufElSizes = &in_buffer_element_size;
/* add current frame to the queue */
- if ((ret = ff_af_queue_add(&s->afq, frame) < 0))
+ if ((ret = ff_af_queue_add(&s->afq, frame)) < 0)
return ret;
}
AVCodec ff_libfdk_aac_encoder = {
.name = "libfdk_aac",
+ .long_name = NULL_IF_CONFIG_SMALL("Fraunhofer FDK AAC"),
.type = AVMEDIA_TYPE_AUDIO,
.id = AV_CODEC_ID_AAC,
.priv_data_size = sizeof(AACContext),
.capabilities = CODEC_CAP_SMALL_LAST_FRAME | CODEC_CAP_DELAY,
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
AV_SAMPLE_FMT_NONE },
- .long_name = NULL_IF_CONFIG_SMALL("Fraunhofer FDK AAC"),
.priv_class = &aac_enc_class,
.defaults = aac_encode_defaults,
.profiles = profiles,