aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsfan5 <sfan5@live.de>2019-07-01 11:06:06 +0800
committerSteven Liu <lq@chinaffmpeg.org>2019-07-01 11:06:06 +0800
commit034b72fc0b29fe1e1f1e7c38d996bbb5266c4e5d (patch)
treeeee0f7fafa7fbede2038dfb91cb8e494e530d1a5
parent1476d82e7330623e2f105ff0f4a6d315325d7880 (diff)
downloadffmpeg-034b72fc0b29fe1e1f1e7c38d996bbb5266c4e5d.tar.gz
avformat/dashdec: Fix reading values from SegmentTimeline inside Period
This was missed in commit e752da546463e693865d92a837fc0e8d2b28db2e.
-rw-r--r--libavformat/dashdec.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/libavformat/dashdec.c b/libavformat/dashdec.c
index 5727d13a51..f0f9aa1d59 100644
--- a/libavformat/dashdec.c
+++ b/libavformat/dashdec.c
@@ -842,7 +842,7 @@ static int parse_manifest_representation(AVFormatContext *s, const char *url,
xmlNodePtr representation_segmenttemplate_node = NULL;
xmlNodePtr representation_baseurl_node = NULL;
xmlNodePtr representation_segmentlist_node = NULL;
- xmlNodePtr segmentlists_tab[2];
+ xmlNodePtr segmentlists_tab[3];
xmlNodePtr fragment_timeline_node = NULL;
xmlNodePtr fragment_templates_tab[5];
char *duration_val = NULL;
@@ -1003,9 +1003,10 @@ static int parse_manifest_representation(AVFormatContext *s, const char *url,
xmlNodePtr fragmenturl_node = NULL;
segmentlists_tab[0] = representation_segmentlist_node;
segmentlists_tab[1] = adaptionset_segmentlist_node;
+ segmentlists_tab[2] = period_segmentlist_node;
- duration_val = get_val_from_nodes_tab(segmentlists_tab, 2, "duration");
- timescale_val = get_val_from_nodes_tab(segmentlists_tab, 2, "timescale");
+ duration_val = get_val_from_nodes_tab(segmentlists_tab, 3, "duration");
+ timescale_val = get_val_from_nodes_tab(segmentlists_tab, 3, "timescale");
if (duration_val) {
rep->fragment_duration = (int64_t) strtoll(duration_val, NULL, 10);
av_log(s, AV_LOG_TRACE, "rep->fragment_duration = [%"PRId64"]\n", rep->fragment_duration);