On Wed, 22 Feb 2012 19:57:18 -0500, Justin Ruggles <[email protected]> wrote: > --- > libavcodec/nellymoserenc.c | 40 ++++++++++++++++++++++++---------------- > 1 files changed, 24 insertions(+), 16 deletions(-) > > diff --git a/libavcodec/nellymoserenc.c b/libavcodec/nellymoserenc.c > index 81e1d37..4f351da 100644 > --- a/libavcodec/nellymoserenc.c > +++ b/libavcodec/nellymoserenc.c > @@ -127,10 +127,24 @@ static void apply_mdct(NellyMoserEncodeContext *s) > s->mdct_ctx.mdct_calc(&s->mdct_ctx, s->mdct_out + NELLY_BUF_LEN, > s->buf[s->bufsel] + NELLY_BUF_LEN); > } > > +static av_cold int encode_end(AVCodecContext *avctx) > +{ > + NellyMoserEncodeContext *s = avctx->priv_data; > + > + ff_mdct_end(&s->mdct_ctx); > + > + if (s->avctx->trellis) { > + av_free(s->opt); > + av_free(s->path); > + } > + > + return 0; > +} > + > static av_cold int encode_init(AVCodecContext *avctx) > { > NellyMoserEncodeContext *s = avctx->priv_data; > - int i; > + int i, ret; > > if (avctx->channels != 1) { > av_log(avctx, AV_LOG_ERROR, "Nellymoser supports only 1 channel\n"); > @@ -147,7 +161,8 @@ static av_cold int encode_init(AVCodecContext *avctx) > > avctx->frame_size = NELLY_SAMPLES; > s->avctx = avctx; > - ff_mdct_init(&s->mdct_ctx, 8, 0, 32768.0); > + if ((ret = ff_mdct_init(&s->mdct_ctx, 8, 0, 32768.0)) < 0) > + goto error; > ff_dsputil_init(&s->dsp, avctx); > > /* Generate overlap window */ > @@ -158,23 +173,16 @@ static av_cold int encode_init(AVCodecContext *avctx) > if (s->avctx->trellis) { > s->opt = av_malloc(NELLY_BANDS * OPT_SIZE * sizeof(float )); > s->path = av_malloc(NELLY_BANDS * OPT_SIZE * sizeof(uint8_t)); > + if (!s->opt || !s->path) { > + ret = AVERROR(ENOMEM); > + goto error; > + } > } > > return 0; > -} > - > -static av_cold int encode_end(AVCodecContext *avctx) > -{ > - NellyMoserEncodeContext *s = avctx->priv_data; > - > - ff_mdct_end(&s->mdct_ctx); > - > - if (s->avctx->trellis) { > - av_free(s->opt); > - av_free(s->path); > - } > - > - return 0; > +error: > + encode_end(avctx); > + return ret; > } > > #define find_best(val, table, LUT, LUT_add, LUT_size) \ > -- > 1.7.1 >
Looks ok. -- Anton Khirnov _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
