h264: return index in buffer on end-of-sequence.
authorRonald S. Bultje <rsbultje@gmail.com>
Sat, 31 Dec 2011 17:12:53 +0000 (09:12 -0800)
committerRonald S. Bultje <rsbultje@gmail.com>
Wed, 4 Jan 2012 03:50:22 +0000 (19:50 -0800)
Fixes hangs if the last packet contains an end-of-sequence NAL unit,
bug 158.

libavcodec/h264.c

index bb7619d..9502a7c 100644 (file)
@@ -4008,7 +4008,7 @@ static int decode_frame(AVCodecContext *avctx,
     H264Context *h = avctx->priv_data;
     MpegEncContext *s = &h->s;
     AVFrame *pict = data;
-    int buf_index;
+    int buf_index = 0;
 
     s->flags= avctx->flags;
     s->flags2= avctx->flags2;
@@ -4038,7 +4038,7 @@ static int decode_frame(AVCodecContext *avctx,
             *pict= *(AVFrame*)out;
         }
 
-        return 0;
+        return buf_index;
     }
 
     buf_index=decode_nal_units(h, buf, buf_size);