summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
authorClément Bœsch <u@pkh.me>2017-05-20 16:52:10 +0200
committerClément Bœsch <u@pkh.me>2017-05-20 16:53:36 +0200
commite815111367cba1ec168ae080a6503e5b3eb326bf (patch)
tree3be47e544614756d77ae3a1939dd1752387604f0 /libavformat
parenta8ad127a63ab6348050bfade358facae68f39a2a (diff)
parent1920382aa9f21d7ed1a3c2214990da8d2b067a92 (diff)
Merge commit '1920382aa9f21d7ed1a3c2214990da8d2b067a92'
* commit '1920382aa9f21d7ed1a3c2214990da8d2b067a92': dashenc: add option to provide UTC timing source Also use E instead of AV_OPT_FLAG_ENCODING_PARAM to be consistent with the other AVOption. Merged-by: Clément Bœsch <u@pkh.me>
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/dashenc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
index 40430f8b6b..5b27941852 100644
--- a/libavformat/dashenc.c
+++ b/libavformat/dashenc.c
@@ -98,6 +98,7 @@ typedef struct DASHContext {
const char *media_seg_name;
AVRational min_frame_rate, max_frame_rate;
int ambiguous_frame_rate;
+ const char *utc_timing_url;
} DASHContext;
static int dash_write(void *opaque, uint8_t *buf, int buf_size)
@@ -500,6 +501,9 @@ static int write_manifest(AVFormatContext *s, int final)
av_free(escaped);
}
avio_printf(out, "\t</ProgramInformation>\n");
+ if (c->utc_timing_url)
+ avio_printf(out, "\t<UTCTiming schemeIdUri=\"urn:mpeg:dash:utc:http-xsdate:2014\" value=\"%s\"/>\n", c->utc_timing_url);
+
if (c->window_size && s->nb_streams > 0 && c->streams[0].nb_segments > 0 && !c->use_template) {
OutputStream *os = &c->streams[0];
int start_index = FFMAX(os->nb_segments - c->window_size, 0);
@@ -1063,6 +1067,7 @@ static const AVOption options[] = {
{ "single_file_name", "DASH-templated name to be used for baseURL. Implies storing all segments in one file, accessed using byte ranges", OFFSET(single_file_name), AV_OPT_TYPE_STRING, { .str = NULL }, 0, 0, E },
{ "init_seg_name", "DASH-templated name to used for the initialization segment", OFFSET(init_seg_name), AV_OPT_TYPE_STRING, {.str = "init-stream$RepresentationID$.m4s"}, 0, 0, E },
{ "media_seg_name", "DASH-templated name to used for the media segments", OFFSET(media_seg_name), AV_OPT_TYPE_STRING, {.str = "chunk-stream$RepresentationID$-$Number%05d$.m4s"}, 0, 0, E },
+ { "utc_timing_url", "URL of the page that will return the UTC timestamp in ISO format", OFFSET(utc_timing_url), AV_OPT_TYPE_STRING, { 0 }, 0, 0, E },
{ NULL },
};