From b91a5757fcbf723da99b05b298a6f820271dbc2b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Martin=20Storsj=C3=B6?= Date: Mon, 29 Dec 2014 15:39:23 +0200 Subject: [PATCH] dashenc: Fix writing of timelines that don't start at t=0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit When writing an explicit time, reset the cur_time variable to this value as well. This avoids writing excessive time attributes for each segment in the timeline, as long as the segments are continuous. Signed-off-by: Martin Storsjö --- libavformat/dashenc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index b4fd1949e7..7dd08ec646 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -214,8 +214,10 @@ static void output_segment_list(OutputStream *os, AVIOContext *out, DASHContext Segment *seg = os->segments[i]; int repeat = 0; avio_printf(out, "\t\t\t\t\t\ttime != cur_time) + if (i == start_index || seg->time != cur_time) { + cur_time = seg->time; avio_printf(out, "t=\"%"PRId64"\" ", seg->time); + } avio_printf(out, "d=\"%d\" ", seg->duration); while (i + repeat + 1 < os->nb_segments && os->segments[i + repeat + 1]->duration == seg->duration && -- 2.11.0