[FFmpeg-devel] [PATCH] libavformat/dashenc.c:support mpd update period

Jeyapal, Karthick kjeyapal at akamai.com
Thu Jul 9 09:01:04 EEST 2020


Pushed the patch, with minor change to commit message.

Thanks,
Karthick
On 6/30/20 11:14 AM, Siyuan Huang wrote:
> Update with no file mode changes :
>
>  
>
> From 818095d4f0aa50dfee3cb0622146a2180801c5fe Mon Sep 17 00:00:00 2001
>
> From: Siyuan Huang <saber.huang at samsung.com>
>
> Date: Tue, 30 Jun 2020 13:41:46 +0800
>
> Subject: [PATCH] libavformat/dashenc.c:support mpd update period v3
>
>  
>
> according iso 23009-1 , in live cases , mpd refresh
>
> period should be changeable
>
>  
>
> Signed-off-by: Siyuan Huang <saber.huang at samsung.com>
>
> ---
>
> doc/muxers.texi       | 4 ++++
>
> libavformat/dashenc.c | 4 ++++
>
> 2 files changed, 8 insertions(+)
>
>  
>
> diff --git a/doc/muxers.texi b/doc/muxers.texi
>
> index b1389a3227..86976f4f61 100644
>
> --- a/doc/muxers.texi
>
> +++ b/doc/muxers.texi
>
> @@ -366,6 +366,10 @@ adjusting playback latency and buffer occupancy during
> normal playback by client
>
> Set the maximum playback rate indicated as appropriate for the purposes of
> automatically
>
> adjusting playback latency and buffer occupancy during normal playback by
> clients.
>
> + at item update_period @var{update_period}
>
> + Set the mpd update period ,for dynamic content.
>
> + The unit is second.
>
> +
>
> @end table
>
>  @anchor{framecrc}
>
> diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
>
> index 62193058d7..dc3306a56a 100644
>
> --- a/libavformat/dashenc.c
>
> +++ b/libavformat/dashenc.c
>
> @@ -198,6 +198,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 {
>
> @@ -1184,6 +1185,8 @@ static int write_manifest(AVFormatContext *s, int
> final)
>
>          char now_str[100];
>
>          if (c->use_template && !c->use_timeline)
>
>              update_period = 500;
>
> +        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);
>
> @@ -2380,6 +2383,7 @@ static const AVOption options[] = {
>
>      { "target_latency", "Set desired target latency for Low-latency dash",
> OFFSET(target_latency), AV_OPT_TYPE_DURATION, { .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
> },
>
> +    { "update_period", "Set the mpd update interval",
> OFFSET(update_period), AV_OPT_TYPE_INT64, {.i64 = 0}, 0, INT64_MAX, E},
>
>      { NULL },
>
> };
>
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://urldefense.proofpoint.com/v2/url?u=https-3A__ffmpeg.org_mailman_listinfo_ffmpeg-2Ddevel&d=DwIGaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=xOoesbz-6ff1GPXp5Lg4jf1ZG99yp4a1qhxVn_YOwRU&m=4YPMEclN8LjEF9ay98BehLzHoqtCqzgK4hxGam47mRQ&s=5Xpoq0cZZUGetVqh7mK1Wpmgm1JwFfS8cH8wVHYwpuk&e= 
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".



More information about the ffmpeg-devel mailing list