Index: media/base/pipeline_impl.cc |
=================================================================== |
--- media/base/pipeline_impl.cc (revision 111037) |
+++ media/base/pipeline_impl.cc (working copy) |
@@ -1046,12 +1046,18 @@ |
int bitrate = 0; |
if (demuxer_.get()) |
bitrate = demuxer_->GetBitrate(); |
- // Needs to be locked because most other calls to |download_rate_monitor_| |
- // occur on the renderer thread. |
- download_rate_monitor_.Start( |
- base::Bind(&PipelineImpl::OnCanPlayThrough, this), bitrate); |
- download_rate_monitor_.SetBufferedBytes(buffered_bytes_, base::Time::Now()); |
+ if (bitrate == 0) { |
+ OnCanPlayThrough(); |
+ } else { |
+ // Needs to be locked because most other calls to |download_rate_monitor_| |
+ // occur on the renderer thread. |
+ download_rate_monitor_.Start( |
+ base::Bind(&PipelineImpl::OnCanPlayThrough, this), bitrate); |
+ download_rate_monitor_.SetBufferedBytes(buffered_bytes_, |
+ base::Time::Now()); |
+ } |
+ |
if (IsPipelineStopPending()) { |
// We had a pending stop request need to be honored right now. |
TearDownPipeline(); |