Fixed overflow error with time values 62/33762/1
authorDavid Steele <david.steele@partner.samsung.com>
Wed, 14 Jan 2015 12:19:06 +0000 (12:19 +0000)
committerDavid Steele <david.steele@partner.samsung.com>
Wed, 14 Jan 2015 12:19:06 +0000 (12:19 +0000)
Frame time was converting system time (2 uint32's) into a uint64,
but without promoting to uint64s first, so conversion from seconds to
microseconds was overflowing.

Change-Id: I0d7afa96d1f83d6bf1413647e118a4a44510fe35
Signed-off-by: David Steele <david.steele@partner.samsung.com>
adaptors/base/frame-time.cpp

index b31b6df..345c278 100644 (file)
@@ -225,7 +225,8 @@ inline void FrameTime::SetLastSyncTime()
 
   mPlatform.GetTimeMicroseconds( seconds, microseconds );
 
-  mLastSyncTime = ( seconds * MICROSECONDS_PER_SECOND ) + microseconds;
+  mLastSyncTime = seconds; // Promote from 32 bit to 64 bit value
+  mLastSyncTime = ( mLastSyncTime * MICROSECONDS_PER_SECOND ) + microseconds;
 }
 
 } // namespace Adaptor