summaryrefslogtreecommitdiff
path: root/ext/dash/gstdashdemux.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/dash/gstdashdemux.c')
-rw-r--r--ext/dash/gstdashdemux.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/ext/dash/gstdashdemux.c b/ext/dash/gstdashdemux.c
index 5445ad4a4..20d676419 100644
--- a/ext/dash/gstdashdemux.c
+++ b/ext/dash/gstdashdemux.c
@@ -736,7 +736,8 @@ gst_dash_demux_process_manifest (GstAdaptiveDemux * demux, GstBuffer * buf)
if (gst_buffer_map (buf, &mapinfo, GST_MAP_READ)) {
manifest = (gchar *) mapinfo.data;
if (gst_mpd_parse (dashdemux->client, manifest, mapinfo.size)) {
- if (gst_mpd_client_setup_media_presentation (dashdemux->client)) {
+ if (gst_mpd_client_setup_media_presentation (dashdemux->client, 0, 0,
+ NULL)) {
ret = TRUE;
} else {
GST_ELEMENT_ERROR (demux, STREAM, DECODE,
@@ -1208,6 +1209,10 @@ gst_dash_demux_seek (GstAdaptiveDemux * demux, GstEvent * seek)
target_pos = (GstClockTime) demux->segment.stop;
/* select the requested Period in the Media Presentation */
+ if (!gst_mpd_client_setup_media_presentation (dashdemux->client, target_pos,
+ -1, NULL))
+ return FALSE;
+
current_period = 0;
for (list = g_list_first (dashdemux->client->periods); list;
list = g_list_next (list)) {
@@ -1295,7 +1300,8 @@ gst_dash_demux_update_manifest_data (GstAdaptiveDemux * demux,
period_idx = gst_mpd_client_get_period_index (dashdemux->client);
/* setup video, audio and subtitle streams, starting from current Period */
- if (!gst_mpd_client_setup_media_presentation (new_client)) {
+ if (!gst_mpd_client_setup_media_presentation (new_client, -1,
+ (period_id ? -1 : period_idx), period_id)) {
/* TODO */
}