dashdemux: offset segment numbers by startNumber
authorChris Bass <floobleflam@gmail.com>
Thu, 8 Aug 2013 10:19:00 +0000 (11:19 +0100)
committerThiago Santos <thiago.sousa.santos@collabora.com>
Fri, 16 Aug 2013 14:15:47 +0000 (11:15 -0300)
For SegmentTemplate elements containing a startNumber attribute, the
`number' member of GstMediaSegments should be offset by the value of
startNumber; however, this is not currently the case. As a result, the
first URI(s) requested by the download loop will be wrong.

This commit ensures that segment numbers will be offset by startNumber
when one is present in a SegmentTemplate element.

https://bugzilla.gnome.org/show_bug.cgi?id=705661

ext/dash/gstmpdparser.c

index 8bd8907..071f4f5 100644 (file)
@@ -3035,7 +3035,8 @@ gst_mpdparser_get_chunk_by_index (GstMpdClient * client, guint indexStream,
 
     /* TODO check PeriodEnd for segment beyond end of period */
 
-    segment->number = indexChunk;
+    segment->number = indexChunk
+        + stream->cur_seg_template->MultSegBaseType->startNumber;
     segment->start_time = duration * indexChunk;
     segment->duration = duration;
     segment->SegmentURL = NULL;