From: Havard Graff Date: Thu, 20 Sep 2018 08:42:48 +0000 (-0700) Subject: systemclock: pre-calculate the ratio for multiplying the perf-count on win X-Git-Tag: 1.16.2~207 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c6e5f59b2cc28addb24a885f0c92173129d94a38;p=platform%2Fupstream%2Fgstreamer.git systemclock: pre-calculate the ratio for multiplying the perf-count on win Saves a lot of computations. --- diff --git a/gst/gstsystemclock.c b/gst/gstsystemclock.c index 508ef21..c5260f2 100644 --- a/gst/gstsystemclock.c +++ b/gst/gstsystemclock.c @@ -89,6 +89,7 @@ struct _GstSystemClockPrivate #ifdef G_OS_WIN32 LARGE_INTEGER start; LARGE_INTEGER frequency; + guint64 ratio; #endif /* G_OS_WIN32 */ #ifdef __APPLE__ struct mach_timebase_info mach_timebase; @@ -195,6 +196,7 @@ gst_system_clock_init (GstSystemClock * clock) if (priv->frequency.QuadPart != 0) /* we take a base time so that time starts from 0 to ease debugging */ QueryPerformanceCounter (&priv->start); + priv->ratio = GST_SECOND / priv->frequency.QuadPart; #endif /* G_OS_WIN32 */ #ifdef __APPLE__ @@ -580,8 +582,7 @@ gst_system_clock_get_internal_time (GstClock * clock) /* we prefer the highly accurate performance counters on windows */ QueryPerformanceCounter (&now); - return gst_util_uint64_scale (now.QuadPart - sysclock->priv->start.QuadPart, - GST_SECOND, sysclock->priv->frequency.QuadPart); + return ((now.QuadPart - sysclock->priv->start.QuadPart) * sysclock->priv->ratio); } else #endif /* G_OS_WIN32 */ #if !defined HAVE_POSIX_TIMERS || !defined HAVE_CLOCK_GETTIME