Index: media/base/pipeline.cc |
diff --git a/media/base/pipeline.cc b/media/base/pipeline.cc |
index de7098341337ff4c9807aaec23e8e9120134373b..b8f7755f3e3b650e5c164b4a81a873607b5ab8e1 100644 |
--- a/media/base/pipeline.cc |
+++ b/media/base/pipeline.cc |
@@ -204,6 +204,10 @@ Ranges<TimeDelta> Pipeline::GetBufferedTimeRanges() { |
Ranges<TimeDelta> time_ranges; |
if (clock_->Duration() == TimeDelta() || total_bytes_ == 0) |
return time_ranges; |
+ for (size_t i = 0; i < buffered_time_ranges_.size(); ++i) { |
+ time_ranges.Add(buffered_time_ranges_.start(i), |
+ buffered_time_ranges_.end(i)); |
+ } |
for (size_t i = 0; i < buffered_byte_ranges_.size(); ++i) { |
TimeDelta start = TimeForByteOffset_Locked(buffered_byte_ranges_.start(i)); |
TimeDelta end = TimeForByteOffset_Locked(buffered_byte_ranges_.end(i)); |
@@ -457,6 +461,14 @@ void Pipeline::AddBufferedByteRange(int64 start, int64 end) { |
did_loading_progress_ = true; |
} |
+void Pipeline::AddBufferedTimeRange(base::TimeDelta start, |
+ base::TimeDelta end) { |
+ DCHECK(IsRunning()); |
+ base::AutoLock auto_lock(lock_); |
+ buffered_time_ranges_.Add(start, end); |
+ did_loading_progress_ = true; |
+} |
+ |
void Pipeline::SetNaturalVideoSize(const gfx::Size& size) { |
DCHECK(IsRunning()); |
media_log_->AddEvent(media_log_->CreateVideoSizeSetEvent( |