| Index: media/base/pipeline_impl.cc
|
| diff --git a/media/base/pipeline_impl.cc b/media/base/pipeline_impl.cc
|
| index 386b064a96221aa8d344c5ad5e9dd74a7d9d92d1..d4c1b8eb841b4b4fd16257818f7977f7d0566644 100644
|
| --- a/media/base/pipeline_impl.cc
|
| +++ b/media/base/pipeline_impl.cc
|
| @@ -251,7 +251,7 @@ base::TimeDelta PipelineImpl::GetBufferedTime() {
|
| base::AutoLock auto_lock(lock_);
|
|
|
| // If media is fully loaded, then return duration.
|
| - if (loaded_ || total_bytes_ == buffered_bytes_) {
|
| + if (local_source_ || total_bytes_ == buffered_bytes_) {
|
| max_buffered_time_ = duration_;
|
| return duration_;
|
| }
|
| @@ -312,9 +312,9 @@ bool PipelineImpl::IsStreaming() const {
|
| return streaming_;
|
| }
|
|
|
| -bool PipelineImpl::IsLoaded() const {
|
| +bool PipelineImpl::IsLocalSource() const {
|
| base::AutoLock auto_lock(lock_);
|
| - return loaded_;
|
| + return local_source_;
|
| }
|
|
|
| PipelineStatistics PipelineImpl::GetStatistics() const {
|
| @@ -358,7 +358,7 @@ void PipelineImpl::ResetState() {
|
| buffered_time_ = kZero;
|
| buffered_bytes_ = 0;
|
| streaming_ = false;
|
| - loaded_ = false;
|
| + local_source_ = false;
|
| total_bytes_ = 0;
|
| natural_size_.SetSize(0, 0);
|
| volume_ = 1.0f;
|
| @@ -547,16 +547,6 @@ void PipelineImpl::SetNaturalVideoSize(const gfx::Size& size) {
|
| natural_size_ = size;
|
| }
|
|
|
| -void PipelineImpl::SetStreaming(bool streaming) {
|
| - DCHECK(IsRunning());
|
| - media_log_->AddEvent(
|
| - media_log_->CreateBooleanEvent(
|
| - MediaLogEvent::STREAMING_SET, "streaming", streaming));
|
| -
|
| - base::AutoLock auto_lock(lock_);
|
| - streaming_ = streaming;
|
| -}
|
| -
|
| void PipelineImpl::NotifyEnded() {
|
| DCHECK(IsRunning());
|
| message_loop_->PostTask(FROM_HERE,
|
| @@ -564,17 +554,6 @@ void PipelineImpl::NotifyEnded() {
|
| media_log_->AddEvent(media_log_->CreateEvent(MediaLogEvent::ENDED));
|
| }
|
|
|
| -void PipelineImpl::SetLoaded(bool loaded) {
|
| - DCHECK(IsRunning());
|
| - media_log_->AddEvent(
|
| - media_log_->CreateBooleanEvent(
|
| - MediaLogEvent::LOADED_SET, "loaded", loaded));
|
| -
|
| - base::AutoLock auto_lock(lock_);
|
| - loaded_ = loaded;
|
| - download_rate_monitor_.set_loaded(loaded_);
|
| -}
|
| -
|
| void PipelineImpl::SetNetworkActivity(bool is_downloading_data) {
|
| DCHECK(IsRunning());
|
|
|
| @@ -1044,12 +1023,16 @@ void PipelineImpl::FilterStateTransitionTask() {
|
|
|
| // Start monitoring rate of downloading.
|
| int bitrate = 0;
|
| - if (demuxer_.get())
|
| + if (demuxer_.get()) {
|
| bitrate = demuxer_->GetBitrate();
|
| + local_source_ = demuxer_->IsLocalSource();
|
| + streaming_ = !demuxer_->IsSeekable();
|
| + }
|
| // 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);
|
| + base::Bind(&PipelineImpl::OnCanPlayThrough, this),
|
| + bitrate, streaming_, local_source_);
|
| download_rate_monitor_.SetBufferedBytes(buffered_bytes_, base::Time::Now());
|
|
|
| if (IsPipelineStopPending()) {
|
|
|