| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "webkit/media/webmediaplayer_util.h" |
| |
| #include <math.h> |
| |
| namespace webkit_media { |
| |
| base::TimeDelta ConvertSecondsToTimestamp(float seconds) { |
| float microseconds = seconds * base::Time::kMicrosecondsPerSecond; |
| float integer = ceilf(microseconds); |
| float difference = integer - microseconds; |
| |
| // Round down if difference is large enough. |
| if ((microseconds > 0 && difference > 0.5f) || |
| (microseconds <= 0 && difference >= 0.5f)) { |
| integer -= 1.0f; |
| } |
| |
| // Now we can safely cast to int64 microseconds. |
| return base::TimeDelta::FromMicroseconds(static_cast<int64>(integer)); |
| } |
| |
| } // namespace webkit_media |