lavf/swfdec: fix flushing with compressed swf.
authorClément Bœsch <ubitux@gmail.com>
Fri, 12 Oct 2012 16:23:46 +0000 (18:23 +0200)
committerClément Bœsch <ubitux@gmail.com>
Mon, 3 Dec 2012 15:40:17 +0000 (16:40 +0100)
We now only return in the middle of the refill in case of read error, so
inflate can be re-called if zlib needs an empty (z.avail_in=0) inflate
call for flushing.

libavformat/swfdec.c

index 86ea6de..6136b54 100644 (file)
@@ -72,7 +72,7 @@ static int zlib_refill(void *opaque, uint8_t *buf, int buf_size)
 retry:
     if (!z->avail_in) {
         int n = avio_read(s->pb, swf->zbuf_in, ZBUF_SIZE);
-        if (n <= 0)
+        if (n < 0)
             return n;
         z->next_in  = swf->zbuf_in;
         z->avail_in = n;