Browse Source

dashenc: Fix writing of timelines that don't start at t=0

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ö <martin@martin.st>
tags/n2.6
Martin Storsjö 10 years ago
parent
commit
b91a5757fc
1 changed files with 3 additions and 1 deletions
  1. +3
    -1
      libavformat/dashenc.c

+ 3
- 1
libavformat/dashenc.c View File

@@ -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\t<S ");
if (i == start_index || seg->time != 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 &&


Loading…
Cancel
Save