Browse Source

avcodec/a64multienc: use av_frame_ref instead of copying the frame

This fixes freeing the frame buffer twice on cleanup leading to a crash.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 39e4ed7c1d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.4.8
Andreas Cadhalpun Michael Niedermayer 11 years ago
parent
commit
3167bba15e
1 changed files with 3 additions and 1 deletions
  1. +3
    -1
      libavcodec/a64multienc.c

+ 3
- 1
libavcodec/a64multienc.c View File

@@ -317,7 +317,9 @@ static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
} else {
/* fill up mc_meta_charset with data until lifetime exceeds */
if (c->mc_frame_counter < c->mc_lifetime) {
*p = *pict;
ret = av_frame_ref(p, pict);
if (ret < 0)
return ret;
p->pict_type = AV_PICTURE_TYPE_I;
p->key_frame = 1;
to_meta_with_crop(avctx, p, meta + 32000 * c->mc_frame_counter);


Loading…
Cancel
Save