OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 // SeekableBuffer to support backward and forward seeking in a buffer for | 5 // SeekableBuffer to support backward and forward seeking in a buffer for |
6 // reading a media data source. | 6 // reading a media data source. |
7 // | 7 // |
8 // In order to support backward and forward seeking, this class buffers data in | 8 // In order to support backward and forward seeking, this class buffers data in |
9 // both backward and forward directions, the current read position can be reset | 9 // both backward and forward directions, the current read position can be reset |
10 // to anywhere in the buffered data. | 10 // to anywhere in the buffered data. |
(...skipping 18 matching lines...) Loading... |
29 // only advise a halt of further writing to this buffer. | 29 // only advise a halt of further writing to this buffer. |
30 // This class is not inherently thread-safe. Concurrent access must be | 30 // This class is not inherently thread-safe. Concurrent access must be |
31 // externally serialized. | 31 // externally serialized. |
32 | 32 |
33 #ifndef MEDIA_BASE_SEEKABLE_BUFFER_H_ | 33 #ifndef MEDIA_BASE_SEEKABLE_BUFFER_H_ |
34 #define MEDIA_BASE_SEEKABLE_BUFFER_H_ | 34 #define MEDIA_BASE_SEEKABLE_BUFFER_H_ |
35 | 35 |
36 #include <list> | 36 #include <list> |
37 | 37 |
38 #include "base/basictypes.h" | 38 #include "base/basictypes.h" |
39 #include "base/lock.h" | |
40 #include "base/ref_counted.h" | 39 #include "base/ref_counted.h" |
41 #include "media/base/buffers.h" | 40 #include "media/base/buffers.h" |
42 | 41 |
43 namespace media { | 42 namespace media { |
44 | 43 |
45 class SeekableBuffer { | 44 class SeekableBuffer { |
46 public: | 45 public: |
47 // Constructs an instance with |forward_capacity| and |backward_capacity|. | 46 // Constructs an instance with |forward_capacity| and |backward_capacity|. |
48 // The values are in bytes. | 47 // The values are in bytes. |
49 SeekableBuffer(size_t backward_capacity, size_t forward_capacity); | 48 SeekableBuffer(size_t backward_capacity, size_t forward_capacity); |
(...skipping 111 matching lines...) Loading... |
161 // Keeps track of the most recent time we've seen in case the |buffers_| is | 160 // Keeps track of the most recent time we've seen in case the |buffers_| is |
162 // empty when our owner asks what time it is. | 161 // empty when our owner asks what time it is. |
163 base::TimeDelta current_time_; | 162 base::TimeDelta current_time_; |
164 | 163 |
165 DISALLOW_COPY_AND_ASSIGN(SeekableBuffer); | 164 DISALLOW_COPY_AND_ASSIGN(SeekableBuffer); |
166 }; | 165 }; |
167 | 166 |
168 } // namespace media | 167 } // namespace media |
169 | 168 |
170 #endif // MEDIA_BASE_SEEKABLE_BUFFER_H_ | 169 #endif // MEDIA_BASE_SEEKABLE_BUFFER_H_ |
OLD | NEW |