Index: media/filters/source_buffer_stream.cc |
diff --git a/media/filters/source_buffer_stream.cc b/media/filters/source_buffer_stream.cc |
index 4271ab9601bb44393a6f79f0db3fd09daf7c00fd..10f83892a554897af7ab4a590e1f44c6baf0404b 100644 |
--- a/media/filters/source_buffer_stream.cc |
+++ b/media/filters/source_buffer_stream.cc |
@@ -928,7 +928,7 @@ void SourceBufferStream::Seek(base::TimeDelta timestamp) { |
} |
bool SourceBufferStream::IsSeekPending() const { |
- return !(end_of_stream_ && IsEndSelected()) && seek_pending_; |
+ return !IsEndOfStreamReached() && seek_pending_; |
wolenetz
2015/05/12 20:36:24
nit: please swap the order of the evaluation here
landell
2015/05/13 09:55:56
Done.
|
} |
void SourceBufferStream::OnSetDuration(base::TimeDelta duration) { |
@@ -1099,7 +1099,7 @@ SourceBufferStream::Status SourceBufferStream::GetNextBufferInternal( |
} |
wolenetz
2015/05/12 20:36:23
nit: probably good for protection against later re
landell
2015/05/13 09:55:56
Done.
|
if (!selected_range_ || !selected_range_->HasNextBuffer()) { |
- if (end_of_stream_ && IsEndSelected()) |
+ if (IsEndOfStreamReached()) |
return kEndOfStream; |
DVLOG(3) << __FUNCTION__ << " " << GetStreamTypeName() |
<< ": returning kNeedBuffer " |
@@ -1205,7 +1205,10 @@ void SourceBufferStream::UnmarkEndOfStream() { |
end_of_stream_ = false; |
} |
-bool SourceBufferStream::IsEndSelected() const { |
+bool SourceBufferStream::IsEndOfStreamReached() const { |
+ if (!end_of_stream_) |
+ return false; |
+ |
if (ranges_.empty()) |
wolenetz
2015/05/12 20:36:23
nit: I think it might be possible in an edge case
landell
2015/05/13 09:55:56
Done.
|
return true; |
@@ -1215,6 +1218,9 @@ bool SourceBufferStream::IsEndSelected() const { |
return seek_buffer_timestamp_ >= last_range_end_time; |
} |
+ if (!selected_range_ && track_buffer_.empty()) |
wolenetz
2015/05/12 20:36:24
nit: see my comment, above.
landell
2015/05/13 09:55:56
Done.
|
+ return true; |
+ |
return selected_range_ == ranges_.back(); |
} |