| Index: media/filters/source_buffer_stream.cc
|
| diff --git a/media/filters/source_buffer_stream.cc b/media/filters/source_buffer_stream.cc
|
| index 0ff0f3f0efb023e166248743947caa18f2af2b10..909d8828a21892fe4bec5f80b015e75cb3475dea 100644
|
| --- a/media/filters/source_buffer_stream.cc
|
| +++ b/media/filters/source_buffer_stream.cc
|
| @@ -490,7 +490,8 @@ bool SourceBufferStream::Append(const BufferQueue& buffers) {
|
| last_appended_buffer_timestamp_ = buffers.back()->GetDecodeTimestamp();
|
| last_appended_buffer_is_keyframe_ = buffers.back()->IsKeyframe();
|
| } else {
|
| - base::TimeDelta new_range_start_time = media_segment_start_time_;
|
| + base::TimeDelta new_range_start_time = std::min(
|
| + media_segment_start_time_, buffers.front()->GetDecodeTimestamp());
|
| const BufferQueue* buffers_for_new_range = &buffers;
|
| BufferQueue trimmed_buffers;
|
|
|
| @@ -1672,8 +1673,12 @@ SourceBufferRange::SourceBufferRange(
|
|
|
| void SourceBufferRange::AppendBuffersToEnd(const BufferQueue& new_buffers) {
|
| DCHECK(buffers_.empty() || CanAppendBuffersToEnd(new_buffers));
|
| + DCHECK(media_segment_start_time_ == kNoTimestamp() ||
|
| + media_segment_start_time_ <=
|
| + new_buffers.front()->GetDecodeTimestamp());
|
| for (BufferQueue::const_iterator itr = new_buffers.begin();
|
| - itr != new_buffers.end(); ++itr) {
|
| + itr != new_buffers.end();
|
| + ++itr) {
|
| DCHECK((*itr)->GetDecodeTimestamp() != kNoTimestamp());
|
| buffers_.push_back(*itr);
|
| size_in_bytes_ += (*itr)->data_size();
|
|
|