Commit c3714639 authored by Marton Balint's avatar Marton Balint

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: 's avatarMarton Balint <cus@passwd.hu>
parent c05d82fa
...@@ -324,7 +324,6 @@ static int framehash_write_packet(struct AVFormatContext *s, AVPacket *pkt) ...@@ -324,7 +324,6 @@ static int framehash_write_packet(struct AVFormatContext *s, AVPacket *pkt)
} }
avio_printf(s->pb, "\n"); avio_printf(s->pb, "\n");
avio_flush(s->pb);
return 0; return 0;
} }
......
...@@ -118,7 +118,6 @@ static int write_packet_pipe(AVFormatContext *s, AVPacket *pkt) ...@@ -118,7 +118,6 @@ static int write_packet_pipe(AVFormatContext *s, AVPacket *pkt)
return ret; return ret;
} else { } else {
avio_write(s->pb, pkt->data, pkt->size); avio_write(s->pb, pkt->data, pkt->size);
avio_flush(s->pb);
} }
img->img_number++; img->img_number++;
return 0; return 0;
......
...@@ -2799,7 +2799,6 @@ static int mxf_write_opatom_packet(AVFormatContext *s, AVPacket *pkt, MXFIndexEn ...@@ -2799,7 +2799,6 @@ static int mxf_write_opatom_packet(AVFormatContext *s, AVPacket *pkt, MXFIndexEn
mxf->edit_units_count++; mxf->edit_units_count++;
avio_write(pb, pkt->data, pkt->size); avio_write(pb, pkt->data, pkt->size);
mxf->body_offset += pkt->size; mxf->body_offset += pkt->size;
avio_flush(pb);
return 0; return 0;
} }
...@@ -2937,8 +2936,6 @@ static int mxf_write_packet(AVFormatContext *s, AVPacket *pkt) ...@@ -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); mxf->body_offset += 16+4+pkt->size + klv_fill_size(16+4+pkt->size);
} }
avio_flush(pb);
return 0; return 0;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment