Re: [FFmpeg-devel] [PATCH 01/11] avformat/dashenc: renamed 'min_seg_duration' to 'seg_duration'
On 3/23/18 7:22 PM, Aurelien Jacobs wrote: > On Fri, Mar 23, 2018 at 02:32:30PM +0800, Steven Liu wrote: >> >> >>> On 23 Mar 2018, at 13:20, vdi...@akamai.com wrote: >>> >>> From: Vishwanath Dixit>>> >>> --- >>> doc/muxers.texi | 2 +- >>> libavformat/dashenc.c | 10 +- >>> 2 files changed, 6 insertions(+), 6 deletions(-) >>> >>> diff --git a/doc/muxers.texi b/doc/muxers.texi >>> index cb75c26..65eec92 100644 >>> --- a/doc/muxers.texi >>> +++ b/doc/muxers.texi >>> @@ -225,7 +225,7 @@ ffmpeg -re -i -map 0 -map 0 -c:a libfdk_aac >>> -c:v libx264 >>> @end example >>> >>> @table @option >>> -@item -min_seg_duration @var{microseconds} >>> +@item -seg_duration @var{microseconds} >>> Set the segment length in microseconds. >>> @item -window_size @var{size} >>> Set the maximum number of segments kept in the manifest. >>> diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c >>> index bdf8c8d..bdd5b56 100644 >>> --- a/libavformat/dashenc.c >>> +++ b/libavformat/dashenc.c >>> @@ -94,7 +94,7 @@ typedef struct DASHContext { >>> int nb_as; >>> int window_size; >>> int extra_window_size; >>> -int min_seg_duration; >>> +int seg_duration; >>> int remove_at_exit; >>> int use_template; >>> int use_timeline; >>> @@ -974,7 +974,7 @@ static int dash_init(AVFormatContext *s) >>> else >>> av_dict_set(, "movflags", >>> "frag_custom+dash+delay_moov", 0); >>> } else { >>> -av_dict_set_int(, "cluster_time_limit", >>> c->min_seg_duration / 1000, 0); >>> +av_dict_set_int(, "cluster_time_limit", c->seg_duration / >>> 1000, 0); >>> av_dict_set_int(, "cluster_size_limit", 5 * 1024 * 1024, >>> 0); // set a large cluster size limit >>> av_dict_set_int(, "dash", 1, 0); >>> av_dict_set_int(, "dash_track_number", i + 1, 0); >>> @@ -1020,7 +1020,7 @@ static int dash_init(AVFormatContext *s) >>> os->segment_index = 1; >>> } >>> >>> -if (!c->has_video && c->min_seg_duration <= 0) { >>> +if (!c->has_video && c->seg_duration <= 0) { >>> av_log(s, AV_LOG_WARNING, "no video stream and no min seg duration >>> set\n"); >>> return AVERROR(EINVAL); >>> } >>> @@ -1287,7 +1287,7 @@ static int dash_write_packet(AVFormatContext *s, >>> AVPacket *pkt) >>> if ((!c->has_video || st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) && >>> pkt->flags & AV_PKT_FLAG_KEY && os->packets_written && >>> av_compare_ts(pkt->pts - os->start_pts, st->time_base, >>> - c->min_seg_duration, AV_TIME_BASE_Q) >= 0) { >>> + c->seg_duration, AV_TIME_BASE_Q) >= 0) { >>> int64_t prev_duration = c->last_duration; >>> >>> c->last_duration = av_rescale_q(pkt->pts - os->start_pts, >>> @@ -1427,7 +1427,7 @@ static const AVOption options[] = { >>> { "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 }, >>> { "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 }, >>> -{ "min_seg_duration", "minimum segment duration (in microseconds)", >>> OFFSET(min_seg_duration), AV_OPT_TYPE_INT, { .i64 = 500 }, 0, INT_MAX, >>> E }, >>> +{ "seg_duration", "minimum segment duration (in microseconds)", >>> OFFSET(seg_duration), AV_OPT_TYPE_INT, { .i64 = 500 }, 0, INT_MAX, E }, >> >> No, you can make the min_seg_duration deprecated, leave a warning message, >> update the info into the document, and add set_duration here, bump the >> version. >> So that can give the user some time to change the options from >> min_seg_duration to seg_duration. > > This is probably also a good oportunity to change seg_duration to > AV_OPT_TYPE_DURATION. Thanks for this input. I have made the suggested update. Revised patch is here: https://patchwork.ffmpeg.org/patch/8311/ > ___ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 01/11] avformat/dashenc: renamed 'min_seg_duration' to 'seg_duration'
On 3/23/18 12:02 PM, Steven Liu wrote: > > >> On 23 Mar 2018, at 13:20, vdi...@akamai.com wrote: >> >> From: Vishwanath Dixit>> >> --- >> doc/muxers.texi | 2 +- >> libavformat/dashenc.c | 10 +- >> 2 files changed, 6 insertions(+), 6 deletions(-) >> >> diff --git a/doc/muxers.texi b/doc/muxers.texi >> index cb75c26..65eec92 100644 >> --- a/doc/muxers.texi >> +++ b/doc/muxers.texi >> @@ -225,7 +225,7 @@ ffmpeg -re -i -map 0 -map 0 -c:a libfdk_aac -c:v >> libx264 >> @end example >> >> @table @option >> -@item -min_seg_duration @var{microseconds} >> +@item -seg_duration @var{microseconds} >> Set the segment length in microseconds. >> @item -window_size @var{size} >> Set the maximum number of segments kept in the manifest. >> diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c >> index bdf8c8d..bdd5b56 100644 >> --- a/libavformat/dashenc.c >> +++ b/libavformat/dashenc.c >> @@ -94,7 +94,7 @@ typedef struct DASHContext { >> int nb_as; >> int window_size; >> int extra_window_size; >> -int min_seg_duration; >> +int seg_duration; >> int remove_at_exit; >> int use_template; >> int use_timeline; >> @@ -974,7 +974,7 @@ static int dash_init(AVFormatContext *s) >> else >> av_dict_set(, "movflags", >> "frag_custom+dash+delay_moov", 0); >> } else { >> -av_dict_set_int(, "cluster_time_limit", >> c->min_seg_duration / 1000, 0); >> +av_dict_set_int(, "cluster_time_limit", c->seg_duration / >> 1000, 0); >> av_dict_set_int(, "cluster_size_limit", 5 * 1024 * 1024, >> 0); // set a large cluster size limit >> av_dict_set_int(, "dash", 1, 0); >> av_dict_set_int(, "dash_track_number", i + 1, 0); >> @@ -1020,7 +1020,7 @@ static int dash_init(AVFormatContext *s) >> os->segment_index = 1; >> } >> >> -if (!c->has_video && c->min_seg_duration <= 0) { >> +if (!c->has_video && c->seg_duration <= 0) { >> av_log(s, AV_LOG_WARNING, "no video stream and no min seg duration >> set\n"); >> return AVERROR(EINVAL); >> } >> @@ -1287,7 +1287,7 @@ static int dash_write_packet(AVFormatContext *s, >> AVPacket *pkt) >> if ((!c->has_video || st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) && >> pkt->flags & AV_PKT_FLAG_KEY && os->packets_written && >> av_compare_ts(pkt->pts - os->start_pts, st->time_base, >> - c->min_seg_duration, AV_TIME_BASE_Q) >= 0) { >> + c->seg_duration, AV_TIME_BASE_Q) >= 0) { >> int64_t prev_duration = c->last_duration; >> >> c->last_duration = av_rescale_q(pkt->pts - os->start_pts, >> @@ -1427,7 +1427,7 @@ static const AVOption options[] = { >> { "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 }, >> { "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 }, >> -{ "min_seg_duration", "minimum segment duration (in microseconds)", >> OFFSET(min_seg_duration), AV_OPT_TYPE_INT, { .i64 = 500 }, 0, INT_MAX, E >> }, >> +{ "seg_duration", "minimum segment duration (in microseconds)", >> OFFSET(seg_duration), AV_OPT_TYPE_INT, { .i64 = 500 }, 0, INT_MAX, E }, > > No, you can make the min_seg_duration deprecated, leave a warning message, > update the info into the document, and add set_duration here, bump the > version. > So that can give the user some time to change the options from > min_seg_duration to seg_duration. Thanks for the review comment. I have made the suggested updates and have submitted the revised patch https://patchwork.ffmpeg.org/patch/8311/ >> { "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 }, >> -- >> 1.9.1 >> >> ___ >> ffmpeg-devel mailing list >> ffmpeg-devel@ffmpeg.org >> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > Thanks > Steven > > > > > ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 01/11] avformat/dashenc: renamed 'min_seg_duration' to 'seg_duration'
On Fri, Mar 23, 2018 at 02:32:30PM +0800, Steven Liu wrote: > > > > On 23 Mar 2018, at 13:20, vdi...@akamai.com wrote: > > > > From: Vishwanath Dixit> > > > --- > > doc/muxers.texi | 2 +- > > libavformat/dashenc.c | 10 +- > > 2 files changed, 6 insertions(+), 6 deletions(-) > > > > diff --git a/doc/muxers.texi b/doc/muxers.texi > > index cb75c26..65eec92 100644 > > --- a/doc/muxers.texi > > +++ b/doc/muxers.texi > > @@ -225,7 +225,7 @@ ffmpeg -re -i -map 0 -map 0 -c:a libfdk_aac > > -c:v libx264 > > @end example > > > > @table @option > > -@item -min_seg_duration @var{microseconds} > > +@item -seg_duration @var{microseconds} > > Set the segment length in microseconds. > > @item -window_size @var{size} > > Set the maximum number of segments kept in the manifest. > > diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c > > index bdf8c8d..bdd5b56 100644 > > --- a/libavformat/dashenc.c > > +++ b/libavformat/dashenc.c > > @@ -94,7 +94,7 @@ typedef struct DASHContext { > > int nb_as; > > int window_size; > > int extra_window_size; > > -int min_seg_duration; > > +int seg_duration; > > int remove_at_exit; > > int use_template; > > int use_timeline; > > @@ -974,7 +974,7 @@ static int dash_init(AVFormatContext *s) > > else > > av_dict_set(, "movflags", > > "frag_custom+dash+delay_moov", 0); > > } else { > > -av_dict_set_int(, "cluster_time_limit", > > c->min_seg_duration / 1000, 0); > > +av_dict_set_int(, "cluster_time_limit", c->seg_duration / > > 1000, 0); > > av_dict_set_int(, "cluster_size_limit", 5 * 1024 * 1024, > > 0); // set a large cluster size limit > > av_dict_set_int(, "dash", 1, 0); > > av_dict_set_int(, "dash_track_number", i + 1, 0); > > @@ -1020,7 +1020,7 @@ static int dash_init(AVFormatContext *s) > > os->segment_index = 1; > > } > > > > -if (!c->has_video && c->min_seg_duration <= 0) { > > +if (!c->has_video && c->seg_duration <= 0) { > > av_log(s, AV_LOG_WARNING, "no video stream and no min seg duration > > set\n"); > > return AVERROR(EINVAL); > > } > > @@ -1287,7 +1287,7 @@ static int dash_write_packet(AVFormatContext *s, > > AVPacket *pkt) > > if ((!c->has_video || st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) && > > pkt->flags & AV_PKT_FLAG_KEY && os->packets_written && > > av_compare_ts(pkt->pts - os->start_pts, st->time_base, > > - c->min_seg_duration, AV_TIME_BASE_Q) >= 0) { > > + c->seg_duration, AV_TIME_BASE_Q) >= 0) { > > int64_t prev_duration = c->last_duration; > > > > c->last_duration = av_rescale_q(pkt->pts - os->start_pts, > > @@ -1427,7 +1427,7 @@ static const AVOption options[] = { > > { "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 }, > > { "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 }, > > -{ "min_seg_duration", "minimum segment duration (in microseconds)", > > OFFSET(min_seg_duration), AV_OPT_TYPE_INT, { .i64 = 500 }, 0, INT_MAX, > > E }, > > +{ "seg_duration", "minimum segment duration (in microseconds)", > > OFFSET(seg_duration), AV_OPT_TYPE_INT, { .i64 = 500 }, 0, INT_MAX, E }, > > No, you can make the min_seg_duration deprecated, leave a warning message, > update the info into the document, and add set_duration here, bump the > version. > So that can give the user some time to change the options from > min_seg_duration to seg_duration. This is probably also a good oportunity to change seg_duration to AV_OPT_TYPE_DURATION. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 01/11] avformat/dashenc: renamed 'min_seg_duration' to 'seg_duration'
> On 23 Mar 2018, at 13:20, vdi...@akamai.com wrote: > > From: Vishwanath Dixit> > --- > doc/muxers.texi | 2 +- > libavformat/dashenc.c | 10 +- > 2 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/doc/muxers.texi b/doc/muxers.texi > index cb75c26..65eec92 100644 > --- a/doc/muxers.texi > +++ b/doc/muxers.texi > @@ -225,7 +225,7 @@ ffmpeg -re -i -map 0 -map 0 -c:a libfdk_aac -c:v > libx264 > @end example > > @table @option > -@item -min_seg_duration @var{microseconds} > +@item -seg_duration @var{microseconds} > Set the segment length in microseconds. > @item -window_size @var{size} > Set the maximum number of segments kept in the manifest. > diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c > index bdf8c8d..bdd5b56 100644 > --- a/libavformat/dashenc.c > +++ b/libavformat/dashenc.c > @@ -94,7 +94,7 @@ typedef struct DASHContext { > int nb_as; > int window_size; > int extra_window_size; > -int min_seg_duration; > +int seg_duration; > int remove_at_exit; > int use_template; > int use_timeline; > @@ -974,7 +974,7 @@ static int dash_init(AVFormatContext *s) > else > av_dict_set(, "movflags", "frag_custom+dash+delay_moov", > 0); > } else { > -av_dict_set_int(, "cluster_time_limit", c->min_seg_duration > / 1000, 0); > +av_dict_set_int(, "cluster_time_limit", c->seg_duration / > 1000, 0); > av_dict_set_int(, "cluster_size_limit", 5 * 1024 * 1024, 0); > // set a large cluster size limit > av_dict_set_int(, "dash", 1, 0); > av_dict_set_int(, "dash_track_number", i + 1, 0); > @@ -1020,7 +1020,7 @@ static int dash_init(AVFormatContext *s) > os->segment_index = 1; > } > > -if (!c->has_video && c->min_seg_duration <= 0) { > +if (!c->has_video && c->seg_duration <= 0) { > av_log(s, AV_LOG_WARNING, "no video stream and no min seg duration > set\n"); > return AVERROR(EINVAL); > } > @@ -1287,7 +1287,7 @@ static int dash_write_packet(AVFormatContext *s, > AVPacket *pkt) > if ((!c->has_video || st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) && > pkt->flags & AV_PKT_FLAG_KEY && os->packets_written && > av_compare_ts(pkt->pts - os->start_pts, st->time_base, > - c->min_seg_duration, AV_TIME_BASE_Q) >= 0) { > + c->seg_duration, AV_TIME_BASE_Q) >= 0) { > int64_t prev_duration = c->last_duration; > > c->last_duration = av_rescale_q(pkt->pts - os->start_pts, > @@ -1427,7 +1427,7 @@ static const AVOption options[] = { > { "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 }, > { "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 }, > -{ "min_seg_duration", "minimum segment duration (in microseconds)", > OFFSET(min_seg_duration), AV_OPT_TYPE_INT, { .i64 = 500 }, 0, INT_MAX, E > }, > +{ "seg_duration", "minimum segment duration (in microseconds)", > OFFSET(seg_duration), AV_OPT_TYPE_INT, { .i64 = 500 }, 0, INT_MAX, E }, No, you can make the min_seg_duration deprecated, leave a warning message, update the info into the document, and add set_duration here, bump the version. So that can give the user some time to change the options from min_seg_duration to seg_duration. > { "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 }, > -- > 1.9.1 > > ___ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel Thanks Steven ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH 01/11] avformat/dashenc: renamed 'min_seg_duration' to 'seg_duration'
From: Vishwanath Dixit--- doc/muxers.texi | 2 +- libavformat/dashenc.c | 10 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/muxers.texi b/doc/muxers.texi index cb75c26..65eec92 100644 --- a/doc/muxers.texi +++ b/doc/muxers.texi @@ -225,7 +225,7 @@ ffmpeg -re -i -map 0 -map 0 -c:a libfdk_aac -c:v libx264 @end example @table @option -@item -min_seg_duration @var{microseconds} +@item -seg_duration @var{microseconds} Set the segment length in microseconds. @item -window_size @var{size} Set the maximum number of segments kept in the manifest. diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index bdf8c8d..bdd5b56 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -94,7 +94,7 @@ typedef struct DASHContext { int nb_as; int window_size; int extra_window_size; -int min_seg_duration; +int seg_duration; int remove_at_exit; int use_template; int use_timeline; @@ -974,7 +974,7 @@ static int dash_init(AVFormatContext *s) else av_dict_set(, "movflags", "frag_custom+dash+delay_moov", 0); } else { -av_dict_set_int(, "cluster_time_limit", c->min_seg_duration / 1000, 0); +av_dict_set_int(, "cluster_time_limit", c->seg_duration / 1000, 0); av_dict_set_int(, "cluster_size_limit", 5 * 1024 * 1024, 0); // set a large cluster size limit av_dict_set_int(, "dash", 1, 0); av_dict_set_int(, "dash_track_number", i + 1, 0); @@ -1020,7 +1020,7 @@ static int dash_init(AVFormatContext *s) os->segment_index = 1; } -if (!c->has_video && c->min_seg_duration <= 0) { +if (!c->has_video && c->seg_duration <= 0) { av_log(s, AV_LOG_WARNING, "no video stream and no min seg duration set\n"); return AVERROR(EINVAL); } @@ -1287,7 +1287,7 @@ static int dash_write_packet(AVFormatContext *s, AVPacket *pkt) if ((!c->has_video || st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) && pkt->flags & AV_PKT_FLAG_KEY && os->packets_written && av_compare_ts(pkt->pts - os->start_pts, st->time_base, - c->min_seg_duration, AV_TIME_BASE_Q) >= 0) { + c->seg_duration, AV_TIME_BASE_Q) >= 0) { int64_t prev_duration = c->last_duration; c->last_duration = av_rescale_q(pkt->pts - os->start_pts, @@ -1427,7 +1427,7 @@ static const AVOption options[] = { { "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 }, { "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 }, -{ "min_seg_duration", "minimum segment duration (in microseconds)", OFFSET(min_seg_duration), AV_OPT_TYPE_INT, { .i64 = 500 }, 0, INT_MAX, E }, +{ "seg_duration", "minimum segment duration (in microseconds)", OFFSET(seg_duration), AV_OPT_TYPE_INT, { .i64 = 500 }, 0, INT_MAX, E }, { "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 }, -- 1.9.1 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel