Function

CMSyncConvertTime(_:from:to:)

Converts a time from one timebase or clock to another timebase or clock.

Declaration

func CMSyncConvertTime(_ time: CMTime, from fromClockOrTimebase: CMClockOrTimebase, to toClockOrTimebase: CMClockOrTimebase) -> CMTime

Discussion

If both have a common master, this calculation is performed purely based on the mathematical rates and offsets in the common tree rooted in that master. If they have different master clocks (or are both clocks), this calculation also compensates for measured drift between the clocks. To convert to or from host time, pass CMClockGetHostTimeClock() as the appropriate argument.

See Also

Utility Functions

func CMClockGetTypeID() -> CFTypeID

Returns the CFTypeID of the CMClock.

func CMClockMightDrift(CMClock, otherClock: CMClock) -> Bool

Returns a Boolean that indicates whether it is possible for two clocks to drift relative to each other.

func CMClockInvalidate(CMClock)

Makes the clock stop functioning.

func CMSyncGetRelativeRate(CMClockOrTimebase, relativeTo: CMClockOrTimebase) -> Float64

Queries the relative rate of one timebase or clock relative to another timebase or clock.

func CMSyncGetRelativeRateAndAnchorTime(CMClockOrTimebase, relativeTo: CMClockOrTimebase, relativeRateOut: UnsafeMutablePointer<Float64>?, anchorTimeOut: UnsafeMutablePointer<CMTime>?, relativeToAnchorTimeOut: UnsafeMutablePointer<CMTime>?) -> OSStatus

Queries the relative rate of one timebase or clock relative to another timebase or clock and the times of each timebase or clock at which the relative rate went into effect.

func CMSyncMightDrift(CMClockOrTimebase, CMClockOrTimebase) -> Bool

Returns a Boolean indicating whether it is possible for one timebase/clock to drift relative to the other.

func CMSyncGetTime(CMClockOrTimebase) -> CMTime

A helper function to get time from a clock or timebase.