Gst.Clock.prototype.set_calibration
function set_calibration(internal:Gst.ClockTime, external:Gst.ClockTime, rate_num:Gst.ClockTime, rate_denom:Gst.ClockTime):void { // Gjs wrapper for gst_clock_set_calibration() }
Adjusts the rate and time of clock. A rate of 1/1 is the normal speed of the clock. Values bigger than 1/1 make the clock go faster.
internal and external are calibration parameters that arrange that Gst.Clock.prototype.get_time should have been external at internal time internal. This internal time should not be in the future; that is, it should be less than the value of Gst.Clock.prototype.get_internal_time when this function is called.
Subsequent calls to Gst.Clock.prototype.get_time will return clock times computed as follows:
<programlisting> time = (internal_time - internal) * rate_num / rate_denom + external </programlisting>
This formula is implemented in Gst.Clock.prototype.adjust_unlocked. Of course, it tries to do the integer arithmetic as precisely as possible.
Note that Gst.Clock.prototype.get_time always returns increasing values so when you move the clock backwards, Gst.Clock.prototype.get_time will report the previous value until the clock catches up.
MT safe.
- internal
a reference internal time
- external
a reference external time
- rate_num
the numerator of the rate of the clock relative to its internal time
- rate_denom
the denominator of the rate of the clock