OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_CLOCK_DEVICE_DEFAULT_H_ | 5 #ifndef CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_CLOCK_DEVICE_DEFAULT_H_ |
6 #define CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_CLOCK_DEVICE_DEFAULT_H_ | 6 #define CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_CLOCK_DEVICE_DEFAULT_H_ |
7 | 7 |
8 #include "base/macros.h" | 8 #include "base/macros.h" |
9 #include "chromecast/media/cma/backend/media_clock_device.h" | 9 #include "base/threading/thread_checker.h" |
| 10 #include "base/time/time.h" |
| 11 #include "chromecast/public/media/media_clock_device.h" |
10 | 12 |
11 namespace chromecast { | 13 namespace chromecast { |
12 namespace media { | 14 namespace media { |
13 | 15 |
14 class MediaClockDeviceDefault : public MediaClockDevice { | 16 class MediaClockDeviceDefault : public MediaClockDevice { |
15 public: | 17 public: |
16 MediaClockDeviceDefault(); | 18 MediaClockDeviceDefault(); |
17 ~MediaClockDeviceDefault() override; | 19 ~MediaClockDeviceDefault() override; |
18 | 20 |
19 // MediaClockDevice implementation. | 21 // MediaClockDevice implementation. |
20 State GetState() const override; | 22 State GetState() const override; |
21 bool SetState(State new_state) override; | 23 bool SetState(State new_state) override; |
22 bool ResetTimeline(base::TimeDelta time) override; | 24 bool ResetTimeline(int64_t time_microseconds) override; |
23 bool SetRate(float rate) override; | 25 bool SetRate(float rate) override; |
24 base::TimeDelta GetTime() override; | 26 int64_t GetTimeMicroseconds() override; |
25 | 27 |
26 private: | 28 private: |
27 State state_; | 29 State state_; |
28 | 30 |
29 // Media time sampled at STC time |stc_|. | 31 // Media time sampled at STC time |stc_|. |
30 base::TimeDelta media_time_; | 32 base::TimeDelta media_time_; |
31 base::TimeTicks stc_; | 33 base::TimeTicks stc_; |
32 | 34 |
33 float rate_; | 35 float rate_; |
34 | 36 |
| 37 base::ThreadChecker thread_checker_; |
| 38 |
35 DISALLOW_COPY_AND_ASSIGN(MediaClockDeviceDefault); | 39 DISALLOW_COPY_AND_ASSIGN(MediaClockDeviceDefault); |
36 }; | 40 }; |
37 | 41 |
38 } // namespace media | 42 } // namespace media |
39 } // namespace chromecast | 43 } // namespace chromecast |
40 | 44 |
41 #endif // CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_CLOCK_DEVICE_DEFAULT_H_ | 45 #endif // CHROMECAST_MEDIA_CMA_BACKEND_MEDIA_CLOCK_DEVICE_DEFAULT_H_ |
OLD | NEW |