@ -2362,50 +2362,50 @@ static int dash_check_bitstream(AVFormatContext *s, AVStream *st,
#define E AV_OPT_FLAG_ENCODING_PARAM
staticconstAVOptionoptions[]={
{"adaptation_sets","Adaptation sets. Syntax: id=0,streams=0,1,2 id=1,streams=3,4 and so on",OFFSET(adaptation_sets),AV_OPT_TYPE_STRING,{0},0,0,AV_OPT_FLAG_ENCODING_PARAM},
{"window_size","number of segments kept in the manifest",OFFSET(window_size),AV_OPT_TYPE_INT,{.i64=0},0,INT_MAX,E},
{"auto","select segment file format based on codec",0,AV_OPT_TYPE_CONST,{.i64=SEGMENT_TYPE_AUTO},0,UINT_MAX,E,"segment_type"},
{"mp4","make segment file in ISOBMFF format",0,AV_OPT_TYPE_CONST,{.i64=SEGMENT_TYPE_MP4},0,UINT_MAX,E,"segment_type"},
{"webm","make segment file in WebM format",0,AV_OPT_TYPE_CONST,{.i64=SEGMENT_TYPE_WEBM},0,UINT_MAX,E,"segment_type"},
{"extra_window_size","number of segments kept outside of the manifest before removing from disk",OFFSET(extra_window_size),AV_OPT_TYPE_INT,{.i64=5},0,INT_MAX,E},
{"seg_duration","segment duration (in seconds, fractional value can be set)",OFFSET(seg_duration),AV_OPT_TYPE_DURATION,{.i64=5000000},0,INT_MAX,E},
{"format_options","set list of options for the container format (mp4/webm) used for dash",OFFSET(format_options),AV_OPT_TYPE_DICT,{.str=NULL},0,0,E},
{"frag_duration","fragment duration (in seconds, fractional value can be set)",OFFSET(frag_duration),AV_OPT_TYPE_DURATION,{.i64=0},0,INT_MAX,E},
{"frag_type","set type of interval for fragments",OFFSET(frag_type),AV_OPT_TYPE_INT,{.i64=FRAG_TYPE_NONE},0,FRAG_TYPE_NB-1,E,"frag_type"},
{"none","one fragment per segment",0,AV_OPT_TYPE_CONST,{.i64=FRAG_TYPE_NONE},0,UINT_MAX,E,"frag_type"},
{"every_frame","fragment at every frame",0,AV_OPT_TYPE_CONST,{.i64=FRAG_TYPE_EVERY_FRAME},0,UINT_MAX,E,"frag_type"},
{"duration","fragment at specific time intervals",0,AV_OPT_TYPE_CONST,{.i64=FRAG_TYPE_DURATION},0,UINT_MAX,E,"frag_type"},
{"pframes","fragment at keyframes and following P-Frame reordering (Video only, experimental)",0,AV_OPT_TYPE_CONST,{.i64=FRAG_TYPE_PFRAMES},0,UINT_MAX,E,"frag_type"},
{"remove_at_exit","remove all segments when finished",OFFSET(remove_at_exit),AV_OPT_TYPE_BOOL,{.i64=0},0,1,E},
{"use_template","Use SegmentTemplate instead of SegmentList",OFFSET(use_template),AV_OPT_TYPE_BOOL,{.i64=1},0,1,E},
{"use_timeline","Use SegmentTimeline in SegmentTemplate",OFFSET(use_timeline),AV_OPT_TYPE_BOOL,{.i64=1},0,1,E},
{"single_file","Store all segments in one file, accessed using byte ranges",OFFSET(single_file),AV_OPT_TYPE_BOOL,{.i64=0},0,1,E},
{"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$.$ext$"},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$.$ext$"},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},
{"method","set the HTTP method",OFFSET(method),AV_OPT_TYPE_STRING,{.str=NULL},0,0,E},
{"http_user_agent","override User-Agent field in HTTP header",OFFSET(user_agent),AV_OPT_TYPE_STRING,{.str=NULL},0,0,E},
{"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),AV_OPT_TYPE_DICT,{.str=NULL},0,0,E},
{"none","one fragment per segment",0,AV_OPT_TYPE_CONST,{.i64=FRAG_TYPE_NONE},0,UINT_MAX,E,"frag_type"},
{"every_frame","fragment at every frame",0,AV_OPT_TYPE_CONST,{.i64=FRAG_TYPE_EVERY_FRAME},0,UINT_MAX,E,"frag_type"},
{"duration","fragment at specific time intervals",0,AV_OPT_TYPE_CONST,{.i64=FRAG_TYPE_DURATION},0,UINT_MAX,E,"frag_type"},
{"pframes","fragment at keyframes and following P-Frame reordering (Video only, experimental)",0,AV_OPT_TYPE_CONST,{.i64=FRAG_TYPE_PFRAMES},0,UINT_MAX,E,"frag_type"},
{"global_sidx","Write global SIDX atom. Applicable only for single file, mp4 output, non-streaming mode",OFFSET(global_sidx),AV_OPT_TYPE_BOOL,{.i64=0},0,1,E},
{"http_user_agent","override User-Agent field in HTTP header",OFFSET(user_agent),AV_OPT_TYPE_STRING,{.str=NULL},0,0,E},
{"ignore_io_errors","Ignore IO errors during open and write. Useful for long-duration runs with network output",OFFSET(ignore_io_errors),AV_OPT_TYPE_BOOL,{.i64=0},0,1,E},
{"lhls","Enable Low-latency HLS(Experimental). Adds #EXT-X-PREFETCH tag with current segment's URI",OFFSET(lhls),AV_OPT_TYPE_BOOL,{.i64=0},0,1,E},
{"index_correction","Enable/Disable segment index correction logic",OFFSET(index_correction),AV_OPT_TYPE_BOOL,{.i64=0},0,1,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$.$ext$"},0,0,E},
{"ldash","Enable Low-latency dash. Constrains the value of a few elements",OFFSET(ldash),AV_OPT_TYPE_BOOL,{.i64=0},0,1,E},
{"lhls","Enable Low-latency HLS(Experimental). Adds #EXT-X-PREFETCH tag with current segment's URI",OFFSET(lhls),AV_OPT_TYPE_BOOL,{.i64=0},0,1,E},
{"master_m3u8_publish_rate","Publish master playlist every after this many segment intervals",OFFSET(master_publish_rate),AV_OPT_TYPE_INT,{.i64=0},0,UINT_MAX,E},
{"write_prft","Write producer reference time element",OFFSET(write_prft),AV_OPT_TYPE_BOOL,{.i64=-1},-1,1,E},
{"max_playback_rate","Set desired maximum playback rate",OFFSET(max_playback_rate),AV_OPT_TYPE_RATIONAL,{.dbl=1.0},0.5,1.5,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$.$ext$"},0,0,E},
{"method","set the HTTP method",OFFSET(method),AV_OPT_TYPE_STRING,{.str=NULL},0,0,E},
{"mpd_profile","Set profiles. Elements and values used in the manifest may be constrained by them",OFFSET(profile),AV_OPT_TYPE_FLAGS,{.i64=MPD_PROFILE_DASH},0,UINT_MAX,E,"mpd_profile"},
{"dash","MPEG-DASH ISO Base media file format live profile",0,AV_OPT_TYPE_CONST,{.i64=MPD_PROFILE_DASH},0,UINT_MAX,E,"mpd_profile"},
{"remove_at_exit","remove all segments when finished",OFFSET(remove_at_exit),AV_OPT_TYPE_BOOL,{.i64=0},0,1,E},
{"seg_duration","segment duration (in seconds, fractional value can be set)",OFFSET(seg_duration),AV_OPT_TYPE_DURATION,{.i64=5000000},0,INT_MAX,E},
{"single_file","Store all segments in one file, accessed using byte ranges",OFFSET(single_file),AV_OPT_TYPE_BOOL,{.i64=0},0,1,E},
{"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},
{"streaming","Enable/Disable streaming mode of output. Each frame will be moof fragment",OFFSET(streaming),AV_OPT_TYPE_BOOL,{.i64=0},0,1,E},
{"target_latency","Set desired target latency for Low-latency dash",OFFSET(target_latency),AV_OPT_TYPE_DURATION,{.i64=0},0,INT_MAX,E},