On 5/29/2020 4:18 AM, Siyuan Huang wrote:
> according iso 23009-1 , in live cases , mpd refresh period should be
> changeable
> 
> and default 500 seconds is too long , in normal live cases , it should be
> 2~5 seconds

It's set to 500 when timeline isn't used (for example, template only),
in which case there's no need to get a new mpd so often as it rarely, if
at all, ever changes.
When timeline is enabled, it's already set to update much more often.

Also, your email client mangled this patch and can't be applied.

> 
>  
> 
> Signed-off-by: SiyuanHuang <saber.hu...@samsung.com>
> 
> ---
> 
> libavformat/dashenc.c | 6 +++++-
> 
> 1 file changed, 5 insertions(+), 1 deletion(-)
> 
> mode change 100644 => 100755 libavformat/dashenc.c
> 
>  
> 
> diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
> 
> old mode 100644
> 
> new mode 100755
> 
> index 0cf0df50ef..6f8de5762b
> 
> --- a/libavformat/dashenc.c
> 
> +++ b/libavformat/dashenc.c
> 
> @@ -196,6 +196,7 @@ typedef struct DASHContext {
> 
>      int target_latency_refid;
> 
>      AVRational min_playback_rate;
> 
>      AVRational max_playback_rate;
> 
> +    int64_t update_period;
> 
> } DASHContext;
> 
>  static struct codec_string {
> 
> @@ -1177,7 +1178,9 @@ static int write_manifest(AVFormatContext *s, int
> final)
> 
>          int64_t update_period = c->last_duration / AV_TIME_BASE;
> 
>          char now_str[100];
> 
>          if (c->use_template && !c->use_timeline)
> 
> -            update_period = 500;
> 
> +            update_period = 5;
> 
> +        if (c->update_period)
> 
> +            update_period = c->update_period;
> 
>          avio_printf(out, "\tminimumUpdatePeriod=\"PT%"PRId64"S\"\n",
> update_period);
> 
>          if (!c->ldash)
> 
>              avio_printf(out,
> "\tsuggestedPresentationDelay=\"PT%"PRId64"S\"\n", c->last_duration /
> AV_TIME_BASE);
> 
> @@ -2368,6 +2371,7 @@ static const AVOption options[] = {
> 
>      { "dvb_dash", "DVB-DASH profile", 0, AV_OPT_TYPE_CONST, {.i64 =
> MPD_PROFILE_DVB }, 0, UINT_MAX, E, "mpd_profile"},
> 
>      { "http_opts", "HTTP protocol options", OFFSET(http_opts),
> AV_OPT_TYPE_DICT, { .str = NULL }, 0, 0, E },
> 
>      { "target_latency", "Set desired target latency for Low-latency dash",
> OFFSET(target_latency), AV_OPT_TYPE_DURATION, { .i64 = 0 }, 0, INT_MAX, E },
> 
> +    { "update_period", "Set the mpd update interval",
> OFFSET(update_period),AV_OPT_TYPE_INT,{ .i64 = 0},0 ,INT_MAX,E},
> 
>      { "min_playback_rate", "Set desired minimum playback rate",
> OFFSET(min_playback_rate), AV_OPT_TYPE_RATIONAL, { .dbl = 1.0 }, 0.5, 1.5, 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
> },
> 
>      { NULL },
> 

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to