Commit 205a95f7 authored by Justin Ruggles's avatar Justin Ruggles

wmaenc: alloc/free coded_frame instead of keeping it in the WMACodecContext

parent c815ca36
......@@ -386,6 +386,11 @@ int ff_wma_end(AVCodecContext *avctx)
av_free(s->int_table[i]);
}
#if FF_API_OLD_ENCODE_AUDIO
if (av_codec_is_encoder(avctx->codec))
av_freep(&avctx->coded_frame);
#endif
return 0;
}
......
......@@ -66,7 +66,6 @@ typedef struct CoefVLCTable {
typedef struct WMACodecContext {
AVCodecContext* avctx;
AVFrame frame;
GetBitContext gb;
PutBitContext pb;
int version; ///< 1 = 0x160 (WMAV1), 2 = 0x161 (WMAV2)
......
......@@ -52,6 +52,11 @@ static int encode_init(AVCodecContext * avctx){
return AVERROR(EINVAL);
}
#if FF_API_OLD_ENCODE_AUDIO
if (!(avctx->coded_frame = avcodec_alloc_frame()))
return AVERROR(ENOMEM);
#endif
/* extract flag infos */
flags1 = 0;
flags2 = 1;
......@@ -88,11 +93,6 @@ static int encode_init(AVCodecContext * avctx){
s->frame_len;
avctx->frame_size = avctx->delay = s->frame_len;
#if FF_API_OLD_ENCODE_AUDIO
avctx->coded_frame = &s->frame;
avcodec_get_frame_defaults(avctx->coded_frame);
#endif
return 0;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment