mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-23 22:46:24 +00:00
audioclock: make sure values are ever increasing
This commit is contained in:
parent
e1aa348246
commit
d655120ee6
1 changed files with 12 additions and 3 deletions
|
@ -165,12 +165,21 @@ gst_audio_clock_get_internal_time (GstClock * clock)
|
||||||
aclock = GST_AUDIO_CLOCK_CAST (clock);
|
aclock = GST_AUDIO_CLOCK_CAST (clock);
|
||||||
|
|
||||||
result = aclock->func (clock, aclock->user_data);
|
result = aclock->func (clock, aclock->user_data);
|
||||||
if (result == GST_CLOCK_TIME_NONE)
|
if (result == GST_CLOCK_TIME_NONE) {
|
||||||
result = aclock->last_time;
|
result = aclock->last_time;
|
||||||
else {
|
} else {
|
||||||
result += aclock->abidata.ABI.time_offset;
|
result += aclock->abidata.ABI.time_offset;
|
||||||
|
/* clock must be increasing */
|
||||||
|
if (aclock->last_time < result)
|
||||||
aclock->last_time = result;
|
aclock->last_time = result;
|
||||||
|
else
|
||||||
|
result = aclock->last_time;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GST_DEBUG_OBJECT (clock,
|
||||||
|
"result %" GST_TIME_FORMAT ", last_time %" GST_TIME_FORMAT,
|
||||||
|
GST_TIME_ARGS (result), GST_TIME_ARGS (aclock->last_time));
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue