| 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...) Expand all 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...) Expand 10 before | Expand all | Expand 10 after 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 |