avformat/webm_chunk: Avoid unnecessary flushes
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Sun, 1 Mar 2020 03:56:07 +0000 (04:56 +0100)
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Thu, 26 Mar 2020 01:08:17 +0000 (02:08 +0100)
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@gmail.com>
libavformat/webm_chunk.c

index 9e4c375..d4b2eb6 100644 (file)
@@ -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)))