Clock.setCalibration

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_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_get_internal_time() when this function is called.

Subsequent calls to gst_clock_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_adjust_unlocked(). Of course, it tries to do the integer arithmetic as precisely as possible.

Note that gst_clock_get_time() always returns increasing values so when you move the clock backwards, gst_clock_get_time() will report the previous value until the clock catches up.

MT safe.

Parameters

internal GstClockTime

a reference internal time

external GstClockTime

a reference external time

rateNum GstClockTime

the numerator of the rate of the clock relative to its internal time

rateDenom GstClockTime

the denominator of the rate of the clock

Meta