OLD | NEW |
1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2016 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_FILTERS_MEDIA_SOURCE_STATE_H_ | 5 #ifndef MEDIA_FILTERS_MEDIA_SOURCE_STATE_H_ |
6 #define MEDIA_FILTERS_MEDIA_SOURCE_STATE_H_ | 6 #define MEDIA_FILTERS_MEDIA_SOURCE_STATE_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 | 82 |
83 // Signals the coded frame processor to update its group start timestamp to be | 83 // Signals the coded frame processor to update its group start timestamp to be |
84 // |timestamp_offset| if it is in sequence append mode. | 84 // |timestamp_offset| if it is in sequence append mode. |
85 void SetGroupStartTimestampIfInSequenceMode(base::TimeDelta timestamp_offset); | 85 void SetGroupStartTimestampIfInSequenceMode(base::TimeDelta timestamp_offset); |
86 | 86 |
87 // Returns the range of buffered data in this source, capped at |duration|. | 87 // Returns the range of buffered data in this source, capped at |duration|. |
88 // |ended| - Set to true if end of stream has been signaled and the special | 88 // |ended| - Set to true if end of stream has been signaled and the special |
89 // end of stream range logic needs to be executed. | 89 // end of stream range logic needs to be executed. |
90 Ranges<TimeDelta> GetBufferedRanges(TimeDelta duration, bool ended) const; | 90 Ranges<TimeDelta> GetBufferedRanges(TimeDelta duration, bool ended) const; |
91 | 91 |
| 92 // Returns the highest PTS of currently buffered frames in this source, or |
| 93 // base::TimeDelta() if none of the streams contain buffered data. |
| 94 TimeDelta GetHighestPresentationTimestamp() const; |
| 95 |
92 // Returns the highest buffered duration across all streams managed | 96 // Returns the highest buffered duration across all streams managed |
93 // by this object. | 97 // by this object. |
94 // Returns TimeDelta() if none of the streams contain buffered data. | 98 // Returns TimeDelta() if none of the streams contain buffered data. |
95 TimeDelta GetMaxBufferedDuration() const; | 99 TimeDelta GetMaxBufferedDuration() const; |
96 | 100 |
97 // Helper methods that call methods with similar names on all the | 101 // Helper methods that call methods with similar names on all the |
98 // ChunkDemuxerStreams managed by this object. | 102 // ChunkDemuxerStreams managed by this object. |
99 void StartReturningData(); | 103 void StartReturningData(); |
100 void AbortReads(); | 104 void AbortReads(); |
101 void Seek(TimeDelta seek_time); | 105 void Seek(TimeDelta seek_time); |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
218 // TODO(wolenetz): Refactor this function while integrating April 29, 2014 | 222 // TODO(wolenetz): Refactor this function while integrating April 29, 2014 |
219 // changes to MSE spec. See http://crbug.com/371499. | 223 // changes to MSE spec. See http://crbug.com/371499. |
220 bool auto_update_timestamp_offset_; | 224 bool auto_update_timestamp_offset_; |
221 | 225 |
222 DISALLOW_COPY_AND_ASSIGN(MediaSourceState); | 226 DISALLOW_COPY_AND_ASSIGN(MediaSourceState); |
223 }; | 227 }; |
224 | 228 |
225 } // namespace media | 229 } // namespace media |
226 | 230 |
227 #endif // MEDIA_FILTERS_MEDIA_SOURCE_STATE_H_ | 231 #endif // MEDIA_FILTERS_MEDIA_SOURCE_STATE_H_ |
OLD | NEW |