Skip to content

Commit

Permalink
avformat: remove more unneeded avio_flush() calls
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
cus committed Jan 7, 2020
1 parent c371463 commit f4a8ea7
Show file tree
Hide file tree
Showing 5 changed files with 0 additions and 13 deletions.
1 change: 0 additions & 1 deletion libavformat/asfenc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down
1 change: 0 additions & 1 deletion libavformat/avienc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down
2 changes: 0 additions & 2 deletions libavformat/gxfenc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
2 changes: 0 additions & 2 deletions libavformat/segafilmenc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down
7 changes: 0 additions & 7 deletions libavformat/wavenc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand All @@ -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",
Expand All @@ -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);
}
}

Expand Down

0 comments on commit f4a8ea7

Please sign in to comment.