synth_superframe can be called twice per call to decode_packet. It is not fully clear if calling ff_get_buffer on the same frame twice is supported, so unref the frame first to be save. --- libavcodec/wmavoice.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/libavcodec/wmavoice.c b/libavcodec/wmavoice.c index 2ec4499981..3f86d0da35 100644 --- a/libavcodec/wmavoice.c +++ b/libavcodec/wmavoice.c @@ -1756,6 +1756,10 @@ static int synth_superframe(AVCodecContext *ctx, AVFrame *frame, stabilize_lsps(lsps[n], s->lsps); } + /* synth_superframe can run multiple times per packet + * free potential previous frame */ + av_frame_unref(frame); + /* get output buffer */ frame->nb_samples = MAX_SFRAMESIZE; if ((res = ff_get_buffer(ctx, frame, 0)) < 0) -- 2.14.2 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel