mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-10-21 09:53:47 +00:00
Revert "dashdemux: Include the period start in the fragment timestamps in all cases"
This reverts commit e671ad25a9
.
The timestamps should restart at 0 again for each period, but we have to
adjust the segment to map those timestamps to the actual stream time and
running time of that period.
Otherwise we would have timestamps that conflict with the ones from the tfdt
inside the MP4 container, which are restarting at 0 for each period.
https://bugzilla.gnome.org/show_bug.cgi?id=752409
This commit is contained in:
parent
cfe2871a5e
commit
bb05bbafd5
1 changed files with 2 additions and 6 deletions
|
@ -3738,7 +3738,6 @@ gst_mpd_client_get_next_fragment_timestamp (GstMpdClient * client,
|
|||
GstClockTime duration =
|
||||
gst_mpd_client_get_segment_duration (client, stream, NULL);
|
||||
guint segments_count = gst_mpd_client_get_segments_counts (client, stream);
|
||||
GstStreamPeriod *stream_period = gst_mpdparser_get_stream_period (client);
|
||||
|
||||
g_return_val_if_fail (stream->cur_seg_template->
|
||||
MultSegBaseType->SegmentTimeline == NULL, FALSE);
|
||||
|
@ -3746,7 +3745,7 @@ gst_mpd_client_get_next_fragment_timestamp (GstMpdClient * client,
|
|||
&& stream->segment_index >= segments_count)) {
|
||||
return FALSE;
|
||||
}
|
||||
*ts = stream_period->start + stream->segment_index * duration;
|
||||
*ts = stream->segment_index * duration;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
|
@ -3900,8 +3899,6 @@ gst_mpd_client_get_next_fragment (GstMpdClient * client,
|
|||
}
|
||||
}
|
||||
} else {
|
||||
GstStreamPeriod *stream_period = gst_mpdparser_get_stream_period (client);
|
||||
|
||||
if (stream->cur_seg_template != NULL) {
|
||||
mediaURL =
|
||||
gst_mpdparser_build_URL_from_template (stream->
|
||||
|
@ -3926,8 +3923,7 @@ gst_mpd_client_get_next_fragment (GstMpdClient * client,
|
|||
GST_DEBUG ("mediaURL = %s", mediaURL);
|
||||
GST_DEBUG ("indexURL = %s", indexURL);
|
||||
|
||||
fragment->timestamp =
|
||||
stream_period->start + stream->segment_index * fragment->duration;
|
||||
fragment->timestamp = stream->segment_index * fragment->duration;
|
||||
}
|
||||
|
||||
base_url = gst_uri_from_string (stream->baseURL);
|
||||
|
|
Loading…
Reference in a new issue