On Sun, 5 Jan 2020, Martin Storsjö wrote:
On Sun, 5 Jan 2020, Marton Balint wrote:
The IO context is flushed by libavformat/mux.c after writing the header by
calling
avio_write_marker(s->pb, AV_NOPTS_VALUE, AVIO_DATA_MARKER_UNKNOWN), so this
change should have no effect at all.
Signed-off-by: Marton Balint <c...@passwd.hu>
If I read avio_write_marker correctly, it won't do an implicit flush on these
calls unless the user actually has set the s->write_data_type function
pointer - which only is set when used by direct API users.
So for normal cases, if I read it correctly, one can't assume
avio_write_marker implies a flush in general.
Yes, you are right, I missed that too... I believe the patch is still
correct if I fix the commit message:
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.
Thanks,
Marton
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".