| 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();
|
|
|