OSDN Git Service

sidxindex: Don't adjust the Period start time depending on the track start time
authorMartin Storsjö <martin@martin.st>
Fri, 28 Nov 2014 07:40:31 +0000 (09:40 +0200)
committerMartin Storsjö <martin@martin.st>
Fri, 2 Jan 2015 23:24:29 +0000 (01:24 +0200)
This was only necessary to get playback to start with dash.js 1.2.0,
it has been fixed in the git version.

The previous behaviour was incorrect - the Period's start time
is irrespective of the actual first timestamp of the contents
within the period. The Period start time only says when, within the
global timeline, this particular piece should start to be played
back.

Signed-off-by: Martin Storsjö <martin@martin.st>
tools/sidxindex.c

index 62f021f..6c6b3a4 100644 (file)
@@ -252,7 +252,6 @@ static int output_mpd(struct Tracks *tracks, const char *filename)
     int nb_tracks_buf[2] = { 0 };
     int *nb_tracks;
     int set, nb_sets;
-    int64_t latest_start = 0;
 
     if (!tracks->multiple_tracks_per_file) {
         adaptation_sets = adaptation_sets_buf;
@@ -299,17 +298,7 @@ static int output_mpd(struct Tracks *tracks, const char *filename)
     fprintf(out, "\"\n");
     fprintf(out, "\tminBufferTime=\"PT5S\">\n");
 
-    for (i = 0; i < tracks->nb_tracks; i++) {
-        int64_t start = av_rescale_rnd(tracks->tracks[i]->earliest_presentation,
-                                       AV_TIME_BASE,
-                                       tracks->tracks[i]->earliest_presentation_timescale,
-                                       AV_ROUND_UP);
-        latest_start = FFMAX(start, latest_start);
-    }
-    fprintf(out, "\t<Period start=\"");
-    write_time(out, latest_start, 3, AV_ROUND_UP);
-    fprintf(out, "\">\n");
-
+    fprintf(out, "\t<Period start=\"PT0.0S\">\n");
 
     for (set = 0; set < nb_sets; set++) {
         if (nb_tracks[set] == 0)