]> git.sesse.net Git - ffmpeg/commitdiff
avformat: remove more unneeded avio_flush() calls
authorMarton Balint <cus@passwd.hu>
Sat, 4 Jan 2020 20:14:46 +0000 (21:14 +0100)
committerMarton Balint <cus@passwd.hu>
Tue, 7 Jan 2020 20:51:45 +0000 (21:51 +0100)
These instances are simply redundant or present because avio_flush() used to be
required before doing a seekback. That is no longer the case, aviobuf code does
the flush automatically on seek.

This only affects code which is either disabled for streaming IO contexts or
does no seekbacks after the flush, so this change should have no adverse effect
on streaming.

Signed-off-by: Marton Balint <cus@passwd.hu>
libavformat/asfenc.c
libavformat/avienc.c
libavformat/gxfenc.c
libavformat/segafilmenc.c
libavformat/wavenc.c

index d03cff91c0b4867209f5f33d2ee9648224be2687..8eaa9d40ce4215e8899834faa9b31168747aeac4 100644 (file)
@@ -1130,7 +1130,6 @@ static int asf_write_trailer(AVFormatContext *s)
             return ret;
         asf_write_index(s, asf->index_ptr, asf->maximum_packet, asf->next_start_sec);
     }
-    avio_flush(s->pb);
 
     if (asf->is_streamed || !(s->pb->seekable & AVIO_SEEKABLE_NORMAL)) {
         put_chunk(s, 0x4524, 0, 0); /* end of stream */
index 23cc58ea76ccc9ce4c78048f7072d8f7a4b6578c..d6cfb1b783929e00926519b9bb92e32152162171 100644 (file)
@@ -591,7 +591,6 @@ static void update_odml_entry(AVFormatContext *s, int stream_index, int64_t ix,
     int64_t pos;
     int au_byterate, au_ssize, au_scale;
 
-    avio_flush(pb);
     pos = avio_tell(pb);
 
     /* Updating one entry in the AVI OpenDML master index */
index c9fb0dcd91bd07f5364d46273af30a1c89f1dc8a..e09b8d76256cdc577a29386b33cddbc68a2ddccb 100644 (file)
@@ -863,13 +863,11 @@ static int gxf_write_trailer(AVFormatContext *s)
         return ret;
     gxf_write_flt_packet(s);
     gxf_write_umf_packet(s);
-    avio_flush(pb);
     /* update duration in all map packets */
     for (i = 1; i < gxf->map_offsets_nb; i++) {
         avio_seek(pb, gxf->map_offsets[i], SEEK_SET);
         if ((ret = gxf_write_map_packet(s, 1)) < 0)
             return ret;
-        avio_flush(pb);
     }
 
     avio_seek(pb, end, SEEK_SET);
index f1048ff8082a264d3eabf8175392849c239e1405..812d0ad64e947af82f72c304b2e78413961c6225 100644 (file)
@@ -362,8 +362,6 @@ static int film_write_header(AVFormatContext *format_context)
 
     avio_wb32(pb, film->packet_count);
 
-    avio_flush(pb);
-
     /* Finally, write out each packet's data to the header */
     packet = film->start;
     while (packet != NULL) {
index ea7573139cb63984a102c5c5bc471340b63b7a3b..f6f5710802d1c95cdbcec1d5590264e9eff5b0c8 100644 (file)
@@ -411,17 +411,13 @@ static int wav_write_trailer(AVFormatContext *s)
     int rf64 = 0;
     int ret = 0;
 
-    avio_flush(pb);
-
     if (s->pb->seekable & AVIO_SEEKABLE_NORMAL) {
         if (wav->write_peak != PEAK_ONLY && avio_tell(pb) - wav->data < UINT32_MAX) {
             ff_end_tag(pb, wav->data);
-            avio_flush(pb);
         }
 
         if (wav->write_peak && wav->peak_output) {
             ret = peak_write_chunk(s);
-            avio_flush(pb);
         }
 
         /* update file size */
@@ -433,8 +429,6 @@ static int wav_write_trailer(AVFormatContext *s)
             avio_seek(pb, 4, SEEK_SET);
             avio_wl32(pb, (uint32_t)(file_size - 8));
             avio_seek(pb, file_size, SEEK_SET);
-
-            avio_flush(pb);
         } else {
             av_log(s, AV_LOG_ERROR,
                    "Filesize %"PRId64" invalid for wav, output file will be broken\n",
@@ -454,7 +448,6 @@ static int wav_write_trailer(AVFormatContext *s)
             } else {
                 avio_wl32(pb, number_of_samples);
                 avio_seek(pb, file_size, SEEK_SET);
-                avio_flush(pb);
             }
         }