libx264: Fix loop failure due to bufsize becoming 0
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 4 Oct 2011 21:21:52 +0000 (23:21 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 11 Oct 2011 19:34:15 +0000 (21:34 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 751a4efd4d754b15ebc6027b09051f27860bb1e8)

libavcodec/libx264.c

index bf542ac..6477f3f 100644 (file)
@@ -101,13 +101,14 @@ static int encode_nals(AVCodecContext *ctx, uint8_t *buf, int size,
 }
 
 static int X264_frame(AVCodecContext *ctx, uint8_t *buf,
-                      int bufsize, void *data)
+                      int orig_bufsize, void *data)
 {
     X264Context *x4 = ctx->priv_data;
     AVFrame *frame = data;
     x264_nal_t *nal;
     int nnal, i;
     x264_picture_t pic_out;
+    int bufsize;
 
     x264_picture_init( &x4->pic );
     x4->pic.img.i_csp   = X264_CSP_I420;
@@ -138,6 +139,7 @@ static int X264_frame(AVCodecContext *ctx, uint8_t *buf,
     }
 
     do {
+        bufsize = orig_bufsize;
     if (x264_encoder_encode(x4->enc, &nal, &nnal, frame? &x4->pic: NULL, &pic_out) < 0)
         return -1;