summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
authorVishwanath Dixit <vdixit@akamai.com>2018-05-07 15:28:02 +0530
committerKarthick Jeyapal <kjeyapal@akamai.com>2018-05-15 11:13:36 +0530
commite3518821c95d3a90498e93e53dcc886b9d082ccf (patch)
tree098474f907b6876588601f6b91cae4c90d42e2f0 /libavformat
parent9a09f4c54ab829811c2dd041cfb7196000590b78 (diff)
avformat/dashenc: configuring container format options
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/dashenc.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
index 1dd633365d..e27b61c096 100644
--- a/libavformat/dashenc.c
+++ b/libavformat/dashenc.c
@@ -125,6 +125,7 @@ typedef struct DASHContext {
int streaming;
int64_t timeout;
int index_correction;
+ char *format_options_str;
} DASHContext;
static struct codec_string {
@@ -1017,6 +1018,11 @@ static int dash_init(AVFormatContext *s)
av_dict_free(&opts);
os->init_start_pos = 0;
+ if (c->format_options_str) {
+ ret = av_dict_parse_string(&opts, c->format_options_str, "=", ":", 0);
+ if (ret < 0)
+ return ret;
+ }
if (!strcmp(os->format_name, "mp4")) {
if (c->streaming)
av_dict_set(&opts, "movflags", "frag_every_frame+dash+delay_moov", 0);
@@ -1538,6 +1544,7 @@ static const AVOption options[] = {
{ "streaming", "Enable/Disable streaming mode of output. Each frame will be moof fragment", OFFSET(streaming), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, E },
{ "timeout", "set timeout for socket I/O operations", OFFSET(timeout), AV_OPT_TYPE_DURATION, { .i64 = -1 }, -1, INT_MAX, .flags = E },
{ "index_correction", "Enable/Disable segment index correction logic", OFFSET(index_correction), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, E },
+ { "format_options","set list of options for the container format (mp4/webm) used for dash", OFFSET(format_options_str), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, E},
{ NULL },
};