Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_BASE_CLOCK_H_ | 5 #ifndef MEDIA_BASE_CLOCK_H_ |
| 6 #define MEDIA_BASE_CLOCK_H_ | 6 #define MEDIA_BASE_CLOCK_H_ |
| 7 | 7 |
| 8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
| 9 #include "base/time/time.h" | 9 #include "base/time/time.h" |
| 10 #include "media/base/media_export.h" | 10 #include "media/base/media_export.h" |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 47 // constant until Play() is called. | 47 // constant until Play() is called. |
| 48 base::TimeDelta Pause(); | 48 base::TimeDelta Pause(); |
| 49 | 49 |
| 50 // Sets a new playback rate. The rate at which the media time will increase | 50 // Sets a new playback rate. The rate at which the media time will increase |
| 51 // will now change. | 51 // will now change. |
| 52 void SetPlaybackRate(float playback_rate); | 52 void SetPlaybackRate(float playback_rate); |
| 53 | 53 |
| 54 // Forcefully sets the media time to |current_time|. The second parameter is | 54 // Forcefully sets the media time to |current_time|. The second parameter is |
| 55 // the |max_time| that the clock should progress after a call to Play(). This | 55 // the |max_time| that the clock should progress after a call to Play(). This |
| 56 // value is often the time of the end of the last frame buffered and decoded. | 56 // value is often the time of the end of the last frame buffered and decoded. |
| 57 // | |
| 58 // These values are clamped to the duration of the video, which is initially | |
| 59 // set to 0 (before SetDuration() is called). | |
| 60 void SetTime(base::TimeDelta current_time, base::TimeDelta max_time); | 57 void SetTime(base::TimeDelta current_time, base::TimeDelta max_time); |
| 61 | 58 |
| 62 // Sets the |max_time| to be returned by a call to Elapsed(). | 59 // Sets the |max_time| to be returned by a call to Elapsed(). |
| 63 void SetMaxTime(base::TimeDelta max_time); | 60 void SetMaxTime(base::TimeDelta max_time); |
| 64 | 61 |
| 65 // Returns the current elapsed media time. Returns 0 if SetDuration() has | 62 // Returns the current elapsed media time. Returns 0 if SetDuration() has |
|
xhwang
2014/07/08 19:53:10
Fix this comment.
scherkus (not reviewing)
2014/07/08 21:20:04
Done.
| |
| 66 // never been called. | 63 // never been called. |
| 67 base::TimeDelta Elapsed(); | 64 base::TimeDelta Elapsed(); |
| 68 | 65 |
| 69 // Sets the duration of the video. Clock expects the duration will be set | |
| 70 // exactly once. | |
| 71 void SetDuration(base::TimeDelta duration); | |
| 72 | |
| 73 // Returns the duration of the clock, or 0 if not set. | |
| 74 base::TimeDelta Duration() const; | |
| 75 | |
| 76 private: | 66 private: |
| 77 // Updates the reference points based on the current calculated time. | 67 // Updates the reference points based on the current calculated time. |
| 78 void UpdateReferencePoints(); | 68 void UpdateReferencePoints(); |
| 79 | 69 |
| 80 // Updates the reference points based on the given |current_time|. | 70 // Updates the reference points based on the given |current_time|. |
| 81 void UpdateReferencePoints(base::TimeDelta current_time); | 71 void UpdateReferencePoints(base::TimeDelta current_time); |
| 82 | 72 |
| 83 // Returns the time elapsed based on the current reference points, ignoring | 73 // Returns the time elapsed based on the current reference points, ignoring |
| 84 // the |max_time_| cap. | 74 // the |max_time_| cap. |
| 85 base::TimeDelta EstimatedElapsedTime(); | 75 base::TimeDelta EstimatedElapsedTime(); |
| (...skipping 20 matching lines...) Expand all Loading... | |
| 106 // Current accumulated amount of media time. The remaining portion must be | 96 // Current accumulated amount of media time. The remaining portion must be |
| 107 // calculated by comparing the system time to the reference time. | 97 // calculated by comparing the system time to the reference time. |
| 108 base::TimeDelta media_time_; | 98 base::TimeDelta media_time_; |
| 109 | 99 |
| 110 // Current playback rate. | 100 // Current playback rate. |
| 111 float playback_rate_; | 101 float playback_rate_; |
| 112 | 102 |
| 113 // The maximum time that can be returned by calls to Elapsed(). | 103 // The maximum time that can be returned by calls to Elapsed(). |
| 114 base::TimeDelta max_time_; | 104 base::TimeDelta max_time_; |
| 115 | 105 |
| 116 // Duration of the media. | |
| 117 base::TimeDelta duration_; | |
| 118 | |
| 119 DISALLOW_COPY_AND_ASSIGN(Clock); | 106 DISALLOW_COPY_AND_ASSIGN(Clock); |
| 120 }; | 107 }; |
| 121 | 108 |
| 122 } // namespace media | 109 } // namespace media |
| 123 | 110 |
| 124 #endif // MEDIA_BASE_CLOCK_H_ | 111 #endif // MEDIA_BASE_CLOCK_H_ |
| OLD | NEW |