wmavoice: free frame before ff_get_buffer
authorTimo Rothenpieler <timo@rothenpieler.org>
Sat, 11 Nov 2017 12:12:06 +0000 (13:12 +0100)
committerTimo Rothenpieler <timo@rothenpieler.org>
Sat, 11 Nov 2017 13:19:05 +0000 (14:19 +0100)
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

index 2ec4499..3f86d0d 100644 (file)
@@ -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)