Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1231)

Unified Diff: media/filters/source_buffer_stream.cc

Issue 1119163005: Return EOS when selected_range_ is NULL in SourceBufferStream (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merge all EOS checks to single function and add unit tests Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();
}

Powered by Google App Engine
This is Rietveld 408576698