[SCM] libav/experimental: mpegvideo: synchronize AVFrame pointers in ERContext fully

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Aug 10 16:03:26 UTC 2014


The following commit has been merged in the experimental branch:
commit 0ddc53dabbc6f636d062b187ea27934610aaad30
Author: Janne Grunau <janne-libav at jannau.net>
Date:   Wed Jun 11 19:40:28 2014 +0200

    mpegvideo: synchronize AVFrame pointers in ERContext fully
    
    Since error resilience uses AVFrame pointers instead of references it
    has to copy NULL pointers too. After a codec flush the last/next frame
    pointers in MpegEncContext are NULL and the old pointers remaining in
    ERContext are invalid. Fixes a crash in vlc for android thumbnailer.
    Reported and debugged by Adrien Maglo <magsoft at videolan.org>.

diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index 49bc70c..aea6321 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -2470,8 +2470,11 @@ void ff_mpeg_set_erpic(ERPicture *dst, Picture *src)
 {
     int i;
 
-    if (!src)
+    if (!src) {
+        dst->f  = NULL;
+        dst->tf = NULL;
         return;
+    }
 
     dst->f = src->f;
     dst->tf = &src->tf;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list