| Index: media/base/seekable_buffer.cc
|
| diff --git a/media/base/seekable_buffer.cc b/media/base/seekable_buffer.cc
|
| index 0f1cc33cb14ef5ff458c1540169bc888032d6742..15819c13c09f6b0623d3abe6ed2d2abe4bd626e6 100644
|
| --- a/media/base/seekable_buffer.cc
|
| +++ b/media/base/seekable_buffer.cc
|
| @@ -44,6 +44,22 @@ size_t SeekableBuffer::Peek(uint8* data, size_t size) {
|
| return InternalRead(data, size, false);
|
| }
|
|
|
| +bool SeekableBuffer::GetCurrentChunk(const uint8** data, size_t* size) const {
|
| + BufferQueue::iterator current_buffer = current_buffer_;
|
| + size_t current_buffer_offset = current_buffer_offset_;
|
| + // Advance position if we are in the end of the current buffer.
|
| + while (current_buffer != buffers_.end() &&
|
| + current_buffer_offset >= (*current_buffer)->GetDataSize()) {
|
| + ++current_buffer;
|
| + current_buffer_offset = 0;
|
| + }
|
| + if (current_buffer == buffers_.end())
|
| + return false;
|
| + *data = (*current_buffer)->GetData() + current_buffer_offset;
|
| + *size = (*current_buffer)->GetDataSize() - current_buffer_offset;
|
| + return true;
|
| +}
|
| +
|
| bool SeekableBuffer::Append(Buffer* buffer_in) {
|
| if (buffers_.empty() && buffer_in->GetTimestamp().InMicroseconds() > 0) {
|
| current_time_ = buffer_in->GetTimestamp();
|
|
|