Chromium Code Reviews| 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..d0f7ac26ecd685d00f277543ad883d7a7c903b94 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()->timestamp()); |
|
acolwell GONE FROM CHROMIUM
2014/04/03 01:09:34
I believe this should actually be GetDecodeTimesta
DaleCurtis
2014/04/08 21:29:08
Done.
|
| 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(); |