From 4bf90e095b361cb11371921bf6eb357831d857b2 Mon Sep 17 00:00:00 2001 From: Marton Balint Date: Sat, 4 Jan 2020 19:03:24 +0100 Subject: [PATCH] avformat: remove avio_flush() calls from the end of write_header functions To make it consistent with other muxers. The user can still control the generic flushing behaviour after write_header (same way as after packets) using the -flush_packets option, the default typically means to flush unless a non-streamed file output is used. Therefore this change should have no adverse effect on streaming, even if it is assumed that the first packet has a clean buffer, so small seekbacks within the output buffer work even when the IO context is not seekable. Signed-off-by: Marton Balint --- libavformat/aiffenc.c | 3 --- libavformat/amr.c | 1 - libavformat/asfenc.c | 2 -- libavformat/assenc.c | 1 - libavformat/astenc.c | 2 -- libavformat/au.c | 1 - libavformat/avienc.c | 2 -- libavformat/cafenc.c | 1 - libavformat/ffmetaenc.c | 1 - libavformat/framehash.c | 1 - libavformat/gxfenc.c | 1 - libavformat/icoenc.c | 2 -- libavformat/idroqenc.c | 1 - libavformat/ilbc.c | 1 - libavformat/jacosubenc.c | 1 - libavformat/matroskaenc.c | 2 -- libavformat/microdvdenc.c | 1 - libavformat/mmf.c | 2 -- libavformat/movenc.c | 1 - libavformat/mpjpeg.c | 1 - libavformat/nutenc.c | 2 -- libavformat/rmenc.c | 1 - libavformat/rsoenc.c | 2 -- libavformat/smjpegenc.c | 1 - libavformat/soxenc.c | 2 -- libavformat/swfenc.c | 1 - libavformat/wavenc.c | 2 -- libavformat/webvttenc.c | 1 - 28 files changed, 40 deletions(-) diff --git a/libavformat/aiffenc.c b/libavformat/aiffenc.c index e25794d1855..ec2c7db09ab 100644 --- a/libavformat/aiffenc.c +++ b/libavformat/aiffenc.c @@ -199,9 +199,6 @@ static int aiff_write_header(AVFormatContext *s) avpriv_set_pts_info(s->streams[aiff->audio_stream_idx], 64, 1, s->streams[aiff->audio_stream_idx]->codecpar->sample_rate); - /* Data is starting here */ - avio_flush(pb); - return 0; } diff --git a/libavformat/amr.c b/libavformat/amr.c index 42840a50a30..650b565b1b9 100644 --- a/libavformat/amr.c +++ b/libavformat/amr.c @@ -60,7 +60,6 @@ static int amr_write_header(AVFormatContext *s) } else { return -1; } - avio_flush(pb); return 0; } diff --git a/libavformat/asfenc.c b/libavformat/asfenc.c index 44e11fc7635..d03cff91c0b 100644 --- a/libavformat/asfenc.c +++ b/libavformat/asfenc.c @@ -801,8 +801,6 @@ static int asf_write_header(AVFormatContext *s) return -1; } - avio_flush(s->pb); - asf->packet_nb_payloads = 0; asf->packet_timestamp_start = -1; asf->packet_timestamp_end = -1; diff --git a/libavformat/assenc.c b/libavformat/assenc.c index 12aadca1712..68c3396e5ad 100644 --- a/libavformat/assenc.c +++ b/libavformat/assenc.c @@ -77,7 +77,6 @@ static int write_header(AVFormatContext *s) avio_printf(s->pb, "[Events]\r\nFormat: %s, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text\r\n", ass->ssa_mode ? "Marked" : "Layer"); } - avio_flush(s->pb); return 0; } diff --git a/libavformat/astenc.c b/libavformat/astenc.c index 578e658891e..d38a3aab38b 100644 --- a/libavformat/astenc.c +++ b/libavformat/astenc.c @@ -101,8 +101,6 @@ static int ast_write_header(AVFormatContext *s) avio_wb64(pb, 0); avio_wb32(pb, 0); - avio_flush(pb); - return 0; } diff --git a/libavformat/au.c b/libavformat/au.c index cb48e67feb4..19a0f569636 100644 --- a/libavformat/au.c +++ b/libavformat/au.c @@ -311,7 +311,6 @@ static int au_write_header(AVFormatContext *s) } else { avio_wb64(pb, 0); /* annotation field */ } - avio_flush(pb); return 0; } diff --git a/libavformat/avienc.c b/libavformat/avienc.c index 940ea335102..23cc58ea76c 100644 --- a/libavformat/avienc.c +++ b/libavformat/avienc.c @@ -580,8 +580,6 @@ static int avi_write_header(AVFormatContext *s) avi->movi_list = ff_start_tag(pb, "LIST"); ffio_wfourcc(pb, "movi"); - avio_flush(pb); - return 0; } diff --git a/libavformat/cafenc.c b/libavformat/cafenc.c index 0f7c4ebbb32..8fe1dcef19c 100644 --- a/libavformat/cafenc.c +++ b/libavformat/cafenc.c @@ -203,7 +203,6 @@ static int caf_write_header(AVFormatContext *s) avio_wb64(pb, -1); //< mChunkSize avio_wb32(pb, 0); //< mEditCount - avio_flush(pb); return 0; } diff --git a/libavformat/ffmetaenc.c b/libavformat/ffmetaenc.c index a9adbb1d19c..800fb1887c6 100644 --- a/libavformat/ffmetaenc.c +++ b/libavformat/ffmetaenc.c @@ -54,7 +54,6 @@ static int write_header(AVFormatContext *s) avio_write(s->pb, ID_STRING, sizeof(ID_STRING) - 1); avio_w8(s->pb, '1'); // version avio_w8(s->pb, '\n'); - avio_flush(s->pb); return 0; } diff --git a/libavformat/framehash.c b/libavformat/framehash.c index 3ae9092c61d..8d90793d7c7 100644 --- a/libavformat/framehash.c +++ b/libavformat/framehash.c @@ -45,7 +45,6 @@ int ff_framehash_write_header(AVFormatContext *s) avio_printf(s->pb, "#sar %d: %d/%d\n", i, st->sample_aspect_ratio.num, st->sample_aspect_ratio.den); break; } - avio_flush(s->pb); } return 0; } diff --git a/libavformat/gxfenc.c b/libavformat/gxfenc.c index ad9ddea8877..c9fb0dcd91b 100644 --- a/libavformat/gxfenc.c +++ b/libavformat/gxfenc.c @@ -834,7 +834,6 @@ static int gxf_write_header(AVFormatContext *s) gxf->packet_count = 3; - avio_flush(pb); return 0; } diff --git a/libavformat/icoenc.c b/libavformat/icoenc.c index 975c3466bf2..a7df8b72bc6 100644 --- a/libavformat/icoenc.c +++ b/libavformat/icoenc.c @@ -106,8 +106,6 @@ static int ico_write_header(AVFormatContext *s) if (!ico->images) return AVERROR(ENOMEM); - avio_flush(pb); - return 0; } diff --git a/libavformat/idroqenc.c b/libavformat/idroqenc.c index 8122efef835..261f21939cc 100644 --- a/libavformat/idroqenc.c +++ b/libavformat/idroqenc.c @@ -55,7 +55,6 @@ static int roq_write_header(struct AVFormatContext *s) } avio_write(s->pb, header, 8); - avio_flush(s->pb); return 0; } diff --git a/libavformat/ilbc.c b/libavformat/ilbc.c index ba11953b59c..01c7112ad17 100644 --- a/libavformat/ilbc.c +++ b/libavformat/ilbc.c @@ -49,7 +49,6 @@ static int ilbc_write_header(AVFormatContext *s) av_log(s, AV_LOG_ERROR, "Unsupported mode\n"); return AVERROR(EINVAL); } - avio_flush(pb); return 0; } diff --git a/libavformat/jacosubenc.c b/libavformat/jacosubenc.c index 0954f5f0585..77575c6b3c0 100644 --- a/libavformat/jacosubenc.c +++ b/libavformat/jacosubenc.c @@ -25,7 +25,6 @@ static int jacosub_write_header(AVFormatContext *s) if (par->extradata_size) { avio_write(s->pb, par->extradata, par->extradata_size - 1); - avio_flush(s->pb); } return 0; } diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index 9dcd1946e88..4b6d14b435f 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -2000,8 +2000,6 @@ static int mkv_write_header(AVFormatContext *s) mkv->cur_audio_pkt.size = 0; mkv->cluster_pos = -1; - avio_flush(pb); - // start a new cluster every 5 MB or 5 sec, or 32k / 1 sec for streaming or // after 4k and on a keyframe if (pb->seekable & AVIO_SEEKABLE_NORMAL) { diff --git a/libavformat/microdvdenc.c b/libavformat/microdvdenc.c index 80e6fa8674e..1cd215d8def 100644 --- a/libavformat/microdvdenc.c +++ b/libavformat/microdvdenc.c @@ -37,7 +37,6 @@ static int microdvd_write_header(struct AVFormatContext *s) avio_write(s->pb, "{DEFAULT}{}", 11); avio_write(s->pb, par->extradata, par->extradata_size); avio_w8(s->pb, '\n'); - avio_flush(s->pb); } avpriv_set_pts_info(s->streams[0], 64, framerate.num, framerate.den); diff --git a/libavformat/mmf.c b/libavformat/mmf.c index 917113066aa..4e087fc9203 100644 --- a/libavformat/mmf.c +++ b/libavformat/mmf.c @@ -123,8 +123,6 @@ static int mmf_write_header(AVFormatContext *s) avpriv_set_pts_info(s->streams[0], 64, 1, s->streams[0]->codecpar->sample_rate); - avio_flush(pb); - return 0; } diff --git a/libavformat/movenc.c b/libavformat/movenc.c index e422bdd071a..e20eea75714 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -6579,7 +6579,6 @@ static int mov_write_header(AVFormatContext *s) !(mov->flags & FF_MOV_FLAG_DELAY_MOOV)) { if ((ret = mov_write_moov_tag(pb, mov, s)) < 0) return ret; - avio_flush(pb); mov->moov_written = 1; if (mov->flags & FF_MOV_FLAG_GLOBAL_SIDX) mov->reserved_header_pos = avio_tell(pb); diff --git a/libavformat/mpjpeg.c b/libavformat/mpjpeg.c index 80f83c58719..e410e848017 100644 --- a/libavformat/mpjpeg.c +++ b/libavformat/mpjpeg.c @@ -34,7 +34,6 @@ static int mpjpeg_write_header(AVFormatContext *s) { MPJPEGContext *mpj = s->priv_data; avio_printf(s->pb, "--%s\r\n", mpj->boundary_tag); - avio_flush(s->pb); return 0; } diff --git a/libavformat/nutenc.c b/libavformat/nutenc.c index 46dce7722dd..44773924dd7 100644 --- a/libavformat/nutenc.c +++ b/libavformat/nutenc.c @@ -768,8 +768,6 @@ static int nut_write_header(AVFormatContext *s) if (s->avoid_negative_ts < 0) s->avoid_negative_ts = 1; - avio_flush(bc); - return 0; } diff --git a/libavformat/rmenc.c b/libavformat/rmenc.c index 3bff4daf0a7..e137dbc44fe 100644 --- a/libavformat/rmenc.c +++ b/libavformat/rmenc.c @@ -360,7 +360,6 @@ static int rm_write_header(AVFormatContext *s) if (rv10_write_header(s, 0, 0)) return AVERROR_INVALIDDATA; - avio_flush(s->pb); return 0; } diff --git a/libavformat/rsoenc.c b/libavformat/rsoenc.c index e34e2c64e20..3159f0c4277 100644 --- a/libavformat/rsoenc.c +++ b/libavformat/rsoenc.c @@ -60,8 +60,6 @@ static int rso_write_header(AVFormatContext *s) avio_wb16(pb, par->sample_rate); avio_wb16(pb, 0x0000); /* play mode ? (0x0000 = don't loop) */ - avio_flush(pb); - return 0; } diff --git a/libavformat/smjpegenc.c b/libavformat/smjpegenc.c index 68a128647e3..c3c1a6346c5 100644 --- a/libavformat/smjpegenc.c +++ b/libavformat/smjpegenc.c @@ -88,7 +88,6 @@ static int smjpeg_write_header(AVFormatContext *s) } avio_wl32(pb, SMJPEG_HEND); - avio_flush(pb); return 0; } diff --git a/libavformat/soxenc.c b/libavformat/soxenc.c index 7b37bd48484..7259131b036 100644 --- a/libavformat/soxenc.c +++ b/libavformat/soxenc.c @@ -80,8 +80,6 @@ static int sox_write_header(AVFormatContext *s) ffio_fill(pb, 0, comment_size - comment_len); - avio_flush(pb); - return 0; } diff --git a/libavformat/swfenc.c b/libavformat/swfenc.c index f53db0fb2b3..84f924eda52 100644 --- a/libavformat/swfenc.c +++ b/libavformat/swfenc.c @@ -337,7 +337,6 @@ static int swf_write_header(AVFormatContext *s) put_swf_end_tag(s); } - avio_flush(s->pb); return 0; } diff --git a/libavformat/wavenc.c b/libavformat/wavenc.c index 2b281490565..c44d6d26e9d 100644 --- a/libavformat/wavenc.c +++ b/libavformat/wavenc.c @@ -361,8 +361,6 @@ static int wav_write_header(AVFormatContext *s) wav->data = ff_start_tag(pb, "data"); } - avio_flush(pb); - return 0; } diff --git a/libavformat/webvttenc.c b/libavformat/webvttenc.c index 61b7f546229..cbd989dcb6c 100644 --- a/libavformat/webvttenc.c +++ b/libavformat/webvttenc.c @@ -57,7 +57,6 @@ static int webvtt_write_header(AVFormatContext *ctx) avpriv_set_pts_info(s, 64, 1, 1000); avio_printf(pb, "WEBVTT\n"); - avio_flush(pb); return 0; } -- 2.39.2