From 9e6198d9efc29a7f5f541a71a87a6187f4828e3b Mon Sep 17 00:00:00 2001 From: Jun Xie Date: Tue, 17 Mar 2015 21:49:40 +0800 Subject: [PATCH] dashdemux: set default @startNumber and also avoid wrong overwrite Set default @startNumber to 1, if @startNumber is missing at all level. Also avoid incorrect overwriting inherited value. https://bugzilla.gnome.org/show_bug.cgi?id=746347 --- ext/dash/gstmpdparser.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ext/dash/gstmpdparser.c b/ext/dash/gstmpdparser.c index 369aca4..21f84f1 100644 --- a/ext/dash/gstmpdparser.c +++ b/ext/dash/gstmpdparser.c @@ -1329,6 +1329,9 @@ gst_mpdparser_parse_mult_seg_base_type_ext (GstMultSegmentBaseType ** pointer, return; } + mult_seg_base_type->duration = 0; + mult_seg_base_type->startNumber = 1; + /* Inherit attribute values from parent */ if (parent) { mult_seg_base_type->duration = parent->duration; @@ -1345,8 +1348,10 @@ gst_mpdparser_parse_mult_seg_base_type_ext (GstMultSegmentBaseType ** pointer, mult_seg_base_type->duration = intval; } - gst_mpdparser_get_xml_prop_unsigned_integer (a_node, "startNumber", 1, - &mult_seg_base_type->startNumber); + if (gst_mpdparser_get_xml_prop_unsigned_integer (a_node, "startNumber", 1, + &intval)) { + mult_seg_base_type->startNumber = intval; + } GST_LOG ("extension of MultipleSegmentBaseType extension:"); gst_mpdparser_parse_seg_base_type_ext (&mult_seg_base_type->SegBaseType, -- 2.7.4