summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarton Balint <cus@passwd.hu>2020-01-04 20:32:26 +0100
committerMarton Balint <cus@passwd.hu>2020-01-07 21:51:45 +0100
commitc371463915aef11fb8d052fd25313d0444a42cfd (patch)
tree6e56077cb064e27c70d7dc274c758a7e5c617f8e
parentc05d82fa92b38ac0459a0605872991d8fa9e2252 (diff)
avformat: remove avio_flush() calls from the end of write_packet functions
Removing explicit avio_flush() calls helps us to buffer more data and avoid flushing the IO context too often which causes reduced IO throughput for non-streamed file output. The user can control flushing behaviour at the end of every packet 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 a new 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 <cus@passwd.hu>
-rw-r--r--libavformat/hashenc.c1
-rw-r--r--libavformat/img2enc.c1
-rw-r--r--libavformat/mxfenc.c3
3 files changed, 0 insertions, 5 deletions
diff --git a/libavformat/hashenc.c b/libavformat/hashenc.c
index ddc67f53b5..ce609f6efa 100644
--- a/libavformat/hashenc.c
+++ b/libavformat/hashenc.c
@@ -324,7 +324,6 @@ static int framehash_write_packet(struct AVFormatContext *s, AVPacket *pkt)
}
avio_printf(s->pb, "\n");
- avio_flush(s->pb);
return 0;
}
diff --git a/libavformat/img2enc.c b/libavformat/img2enc.c
index 39398f37a3..5ee99890ce 100644
--- a/libavformat/img2enc.c
+++ b/libavformat/img2enc.c
@@ -118,7 +118,6 @@ static int write_packet_pipe(AVFormatContext *s, AVPacket *pkt)
return ret;
} else {
avio_write(s->pb, pkt->data, pkt->size);
- avio_flush(s->pb);
}
img->img_number++;
return 0;
diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
index e187b3845d..396768d51f 100644
--- a/libavformat/mxfenc.c
+++ b/libavformat/mxfenc.c
@@ -2799,7 +2799,6 @@ static int mxf_write_opatom_packet(AVFormatContext *s, AVPacket *pkt, MXFIndexEn
mxf->edit_units_count++;
avio_write(pb, pkt->data, pkt->size);
mxf->body_offset += pkt->size;
- avio_flush(pb);
return 0;
}
@@ -2937,8 +2936,6 @@ static int mxf_write_packet(AVFormatContext *s, AVPacket *pkt)
mxf->body_offset += 16+4+pkt->size + klv_fill_size(16+4+pkt->size);
}
- avio_flush(pb);
-
return 0;
}