[FFmpeg-cvslog] avformat/webm_chunk: Avoid unnecessary flushes

Andreas Rheinhardt git at videolan.org
Thu Mar 26 03:11:52 EET 2020


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at gmail.com> | Sun Mar  1 04:56:07 2020 +0100| [3d4dd9195f6892b3e9d04dc543d6211095248d22] | committer: Andreas Rheinhardt

avformat/webm_chunk: Avoid unnecessary flushes

The webm_chunk muxer caches its output to a dynamic buffer and when it
outputs anything, it explicitly flushes it. So set the flags indicating
that flushing after each packet should not be done automatically
(basically avoiding avio_write_marker() to be called by flush_if_needed()
in libavformat/mux.c).

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3d4dd9195f6892b3e9d04dc543d6211095248d22
---

 libavformat/webm_chunk.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavformat/webm_chunk.c b/libavformat/webm_chunk.c
index 9e4c375c3f..d4b2eb6dff 100644
--- a/libavformat/webm_chunk.c
+++ b/libavformat/webm_chunk.c
@@ -72,10 +72,12 @@ static int chunk_mux_init(AVFormatContext *s)
 
     oc->interrupt_callback = s->interrupt_callback;
     oc->max_delay          = s->max_delay;
-    oc->flags                 = s->flags;
+    oc->flags                 = s->flags & ~AVFMT_FLAG_FLUSH_PACKETS;
     oc->strict_std_compliance = s->strict_std_compliance;
     oc->avoid_negative_ts     = s->avoid_negative_ts;
 
+    oc->flush_packets         = 0;
+
     av_dict_copy(&oc->metadata, s->metadata, 0);
 
     if (!(st = avformat_new_stream(oc, NULL)))



More information about the ffmpeg-cvslog mailing list