avio: flush the internal buffer in avio_close()
authorStefano Sabatini <stefasab@gmail.com>
Wed, 15 Aug 2012 23:25:05 +0000 (01:25 +0200)
committerAnton Khirnov <anton@khirnov.net>
Sat, 15 Sep 2012 16:24:49 +0000 (18:24 +0200)
This is consistent with stdio, and thus what people would naturally
expect.

libavformat/avio.h
libavformat/aviobuf.c
libavformat/img2enc.c
libavformat/version.h

index 10c0a12ccbd1e8ffaa5483aca2b1653459cd0669..55c96bc432418598247e5cecba33307a385e915b 100644 (file)
@@ -349,6 +349,9 @@ int avio_open2(AVIOContext **s, const char *url, int flags,
  * Close the resource accessed by the AVIOContext s and free it.
  * This function can only be used if s was opened by avio_open().
  *
+ * The internal buffer is automatically flushed before closing the
+ * resource.
+ *
  * @return 0 on success, an AVERROR < 0 on error.
  */
 int avio_close(AVIOContext *s);
index fb0161329881db80e5d43b52041b3c257becf884..7dc66e25a6e97a46c5613f33ea869fdeff2b5a2c 100644 (file)
@@ -761,6 +761,7 @@ int avio_close(AVIOContext *s)
     if (!s)
         return 0;
 
+    avio_flush(s);
     h = s->opaque;
     av_freep(&s->buffer);
     av_free(s);
index 6273af94f8935b0239a5d03dd1647b43b2aa7cee..bf183560e04a7b128b5aa954099ffecd23f8a867 100644 (file)
@@ -86,8 +86,6 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt)
         avio_write(pb[0], pkt->data        , ysize);
         avio_write(pb[1], pkt->data + ysize, (pkt->size - ysize)/2);
         avio_write(pb[2], pkt->data + ysize +(pkt->size - ysize)/2, (pkt->size - ysize)/2);
-        avio_flush(pb[1]);
-        avio_flush(pb[2]);
         avio_close(pb[1]);
         avio_close(pb[2]);
     }else{
index fa4d49a33a91c823bd179c9c1d38725b44cb90fc..a86f35a6b4b9a5f7d1721726887700a3b4342670 100644 (file)
@@ -31,7 +31,7 @@
 
 #define LIBAVFORMAT_VERSION_MAJOR 54
 #define LIBAVFORMAT_VERSION_MINOR 16
-#define LIBAVFORMAT_VERSION_MICRO  0
+#define LIBAVFORMAT_VERSION_MICRO  1
 
 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
                                                LIBAVFORMAT_VERSION_MINOR, \