Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(102)

Side by Side Diff: media/cast/cast_defines.h

Issue 638123004: Type conversion fixes, media/ edition. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix compile Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « media/base/sinc_resampler.cc ('k') | media/cast/common/clock_drift_smoother.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef MEDIA_CAST_CAST_DEFINES_H_ 5 #ifndef MEDIA_CAST_CAST_DEFINES_H_
6 #define MEDIA_CAST_CAST_DEFINES_H_ 6 #define MEDIA_CAST_CAST_DEFINES_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <cmath>
10 #include <map> 11 #include <map>
11 #include <set> 12 #include <set>
12 13
13 #include "base/basictypes.h" 14 #include "base/basictypes.h"
14 #include "base/compiler_specific.h" 15 #include "base/compiler_specific.h"
15 #include "base/logging.h" 16 #include "base/logging.h"
16 #include "base/time/time.h" 17 #include "base/time/time.h"
17 #include "media/cast/net/cast_transport_config.h" 18 #include "media/cast/net/cast_transport_config.h"
18 19
19 namespace media { 20 namespace media {
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 172
172 int64 ntp_time_us = 173 int64 ntp_time_us =
173 elapsed_since_unix_epoch.InMicroseconds() + 174 elapsed_since_unix_epoch.InMicroseconds() +
174 (kUnixEpochInNtpSeconds * base::Time::kMicrosecondsPerSecond); 175 (kUnixEpochInNtpSeconds * base::Time::kMicrosecondsPerSecond);
175 176
176 ConvertTimeToFractions(ntp_time_us, ntp_seconds, ntp_fractions); 177 ConvertTimeToFractions(ntp_time_us, ntp_seconds, ntp_fractions);
177 } 178 }
178 179
179 inline base::TimeTicks ConvertNtpToTimeTicks(uint32 ntp_seconds, 180 inline base::TimeTicks ConvertNtpToTimeTicks(uint32 ntp_seconds,
180 uint32 ntp_fractions) { 181 uint32 ntp_fractions) {
181 int64 ntp_time_us = 182 // We need to ceil() here because the calculation of |fractions| in
182 static_cast<int64>(ntp_seconds) * base::Time::kMicrosecondsPerSecond + 183 // ConvertTimeToFractions() effectively does a floor().
183 static_cast<int64>(ntp_fractions) / kMagicFractionalUnit; 184 int64 ntp_time_us = ntp_seconds * base::Time::kMicrosecondsPerSecond +
185 static_cast<int64>(std::ceil(ntp_fractions / kMagicFractionalUnit));
184 186
185 base::TimeDelta elapsed_since_unix_epoch = base::TimeDelta::FromMicroseconds( 187 base::TimeDelta elapsed_since_unix_epoch = base::TimeDelta::FromMicroseconds(
186 ntp_time_us - 188 ntp_time_us -
187 (kUnixEpochInNtpSeconds * base::Time::kMicrosecondsPerSecond)); 189 (kUnixEpochInNtpSeconds * base::Time::kMicrosecondsPerSecond));
188 return base::TimeTicks::UnixEpoch() + elapsed_since_unix_epoch; 190 return base::TimeTicks::UnixEpoch() + elapsed_since_unix_epoch;
189 } 191 }
190 192
191 inline base::TimeDelta RtpDeltaToTimeDelta(int64 rtp_delta, int rtp_timebase) { 193 inline base::TimeDelta RtpDeltaToTimeDelta(int64 rtp_delta, int rtp_timebase) {
192 DCHECK_GT(rtp_timebase, 0); 194 DCHECK_GT(rtp_timebase, 0);
193 return rtp_delta * base::TimeDelta::FromSeconds(1) / rtp_timebase; 195 return rtp_delta * base::TimeDelta::FromSeconds(1) / rtp_timebase;
194 } 196 }
195 197
196 inline int64 TimeDeltaToRtpDelta(base::TimeDelta delta, int rtp_timebase) { 198 inline int64 TimeDeltaToRtpDelta(base::TimeDelta delta, int rtp_timebase) {
197 DCHECK_GT(rtp_timebase, 0); 199 DCHECK_GT(rtp_timebase, 0);
198 return delta * rtp_timebase / base::TimeDelta::FromSeconds(1); 200 return delta * rtp_timebase / base::TimeDelta::FromSeconds(1);
199 } 201 }
200 202
201 } // namespace cast 203 } // namespace cast
202 } // namespace media 204 } // namespace media
203 205
204 #endif // MEDIA_CAST_CAST_DEFINES_H_ 206 #endif // MEDIA_CAST_CAST_DEFINES_H_
OLDNEW
« no previous file with comments | « media/base/sinc_resampler.cc ('k') | media/cast/common/clock_drift_smoother.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698