hlsenc.c, segment.c: propagate defaults to mpegts
authorMika Raento <mikie@iki.fi>
Fri, 17 Oct 2014 16:28:47 +0000 (19:28 +0300)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 17 Oct 2014 19:31:25 +0000 (21:31 +0200)
This fixes the abnormally high ts overhead in the files produced by the
HLS and segments muxers. See https://trac.ffmpeg.org/ticket/2857 . For
example makes it much more likely that it can produces streams that fit
under the 64kb App store limit.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/hlsenc.c
libavformat/segment.c

index 8b180dc..0525e70 100644 (file)
@@ -85,14 +85,16 @@ static int hls_mux_init(AVFormatContext *s)
 {
     HLSContext *hls = s->priv_data;
     AVFormatContext *oc;
-    int i;
+    int i, ret;
 
-    hls->avf = oc = avformat_alloc_context();
-    if (!oc)
-        return AVERROR(ENOMEM);
+    ret = avformat_alloc_output_context2(&hls->avf, hls->oformat, NULL, NULL);
+    if (ret < 0)
+        return ret;
+    oc = hls->avf;
 
     oc->oformat            = hls->oformat;
     oc->interrupt_callback = s->interrupt_callback;
+    oc->max_delay          = s->max_delay;
     av_dict_copy(&oc->metadata, s->metadata, 0);
 
     for (i = 0; i < s->nb_streams; i++) {
index 6183208..9db2607 100644 (file)
@@ -143,6 +143,7 @@ static int segment_mux_init(AVFormatContext *s)
     oc = seg->avf;
 
     oc->interrupt_callback = s->interrupt_callback;
+    oc->max_delay          = s->max_delay;
     av_dict_copy(&oc->metadata, s->metadata, 0);
 
     for (i = 0; i < s->nb_streams; i++) {