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.
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