]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/hlsenc.c
Merge commit '1520c6ff05d835da4b793318fc88bbbc129c86a1'
[ffmpeg] / libavformat / hlsenc.c
index 8daf53f8bb60e69a49aa69dc89e5c942264e985a..adcf7dfcddc5d14a98529bd1c57ec209465e34d2 100644 (file)
@@ -560,11 +560,22 @@ static int hls_start(AVFormatContext *s)
     }
     av_dict_free(&options);
 
-    if (oc->oformat->priv_class && oc->priv_data)
+    /* We only require one PAT/PMT per segment. */
+    if (oc->oformat->priv_class && oc->priv_data) {
+        char period[21];
+
+        snprintf(period, sizeof(period), "%d", (INT_MAX / 2) - 1);
+
         av_opt_set(oc->priv_data, "mpegts_flags", "resend_headers", 0);
+        av_opt_set(oc->priv_data, "sdt_period", period, 0);
+        av_opt_set(oc->priv_data, "pat_period", period, 0);
+    }
 
-    if (c->vtt_basename)
-        avformat_write_header(vtt_oc,NULL);
+    if (c->vtt_basename) {
+        err = avformat_write_header(vtt_oc,NULL);
+        if (err < 0)
+            return err;
+    }
 
     return 0;
 fail:
@@ -863,7 +874,7 @@ static const AVOption options[] = {
     {"round_durations", "round durations in m3u8 to whole numbers", 0, AV_OPT_TYPE_CONST, {.i64 = HLS_ROUND_DURATIONS }, 0, UINT_MAX,   E, "flags"},
     {"discont_start", "start the playlist with a discontinuity tag", 0, AV_OPT_TYPE_CONST, {.i64 = HLS_DISCONT_START }, 0, UINT_MAX,   E, "flags"},
     {"omit_endlist", "Do not append an endlist when ending stream", 0, AV_OPT_TYPE_CONST, {.i64 = HLS_OMIT_ENDLIST }, 0, UINT_MAX,   E, "flags"},
-    { "use_localtime",          "set filename expansion with strftime at segment creation", OFFSET(use_localtime), AV_OPT_TYPE_INT, {.i64 = 0 }, 0, 1, E },
+    { "use_localtime", "set filename expansion with strftime at segment creation", OFFSET(use_localtime), AV_OPT_TYPE_BOOL, {.i64 = 0 }, 0, 1, E },
     {"method", "set the HTTP method", OFFSET(method), AV_OPT_TYPE_STRING, {.str = NULL},  0, 0,    E},
 
     { NULL },