From: Sebastian Dröge Date: Thu, 25 Jun 2015 21:24:50 +0000 (+0200) Subject: dashdemux: Subtract the period start time from the presentation offset X-Git-Tag: 1.6.0~455 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=626a8f0a74f8ea748b811b74ba9e7ae2baea2cca;p=platform%2Fupstream%2Fgst-plugins-bad.git dashdemux: Subtract the period start time from the presentation offset We're interested in the offset between the period start timestamp and the actual media timestamp so that we can properly correct for it. The absolute presentation offset to timestamp 0 is useless as the only thing we really care about is the offset between the current fragment timestamp and the media timestamp. --- diff --git a/ext/dash/gstmpdparser.c b/ext/dash/gstmpdparser.c index d5f9956..e7420ec 100644 --- a/ext/dash/gstmpdparser.c +++ b/ext/dash/gstmpdparser.c @@ -3761,13 +3761,17 @@ gst_mpd_parser_get_stream_presentation_offset (GstMpdClient * client, guint stream_idx) { GstActiveStream *stream = NULL; + GstStreamPeriod *stream_period = gst_mpdparser_get_stream_period (client); g_return_val_if_fail (client != NULL, FALSE); g_return_val_if_fail (client->active_streams != NULL, FALSE); stream = g_list_nth_data (client->active_streams, stream_idx); g_return_val_if_fail (stream != NULL, FALSE); - return stream->presentationTimeOffset; + if (stream->presentationTimeOffset > stream_period->start) + return stream->presentationTimeOffset - stream_period->start; + else + return 0; } gboolean