Index: media/base/pipeline.cc |
=================================================================== |
--- media/base/pipeline.cc (revision 145933) |
+++ media/base/pipeline.cc (working copy) |
@@ -204,6 +204,10 @@ |
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 @@ |
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( |