| Index: media/base/pipeline_impl.cc
|
| diff --git a/media/base/pipeline_impl.cc b/media/base/pipeline_impl.cc
|
| index 49ebe4a3b606bc93eaca80ca5f1c29365ade684e..2b38269652945c1d59d82b551ad8dfc17f63b646 100644
|
| --- a/media/base/pipeline_impl.cc
|
| +++ b/media/base/pipeline_impl.cc
|
| @@ -157,6 +157,11 @@ bool PipelineImpl::IsInitialized() const {
|
| }
|
| }
|
|
|
| +bool PipelineImpl::IsNetworkActive() const {
|
| + AutoLock auto_lock(lock_);
|
| + return network_activity_;
|
| +}
|
| +
|
| bool PipelineImpl::IsRendered(const std::string& major_mime_type) const {
|
| AutoLock auto_lock(lock_);
|
| bool is_rendered = (rendered_mime_types_.find(major_mime_type) !=
|
| @@ -284,6 +289,12 @@ void PipelineImpl::SetPipelineErrorCallback(PipelineCallback* error_callback) {
|
| error_callback_.reset(error_callback);
|
| }
|
|
|
| +void PipelineImpl::SetNetworkEventCallback(PipelineCallback* network_callback) {
|
| + DCHECK(!IsRunning())
|
| + << "Permanent callbacks should be set before the pipeline has started";
|
| + network_callback_.reset(network_callback);
|
| +}
|
| +
|
| void PipelineImpl::ResetState() {
|
| AutoLock auto_lock(lock_);
|
| const base::TimeDelta kZero;
|
| @@ -417,6 +428,16 @@ void PipelineImpl::SetLoaded(bool loaded) {
|
| loaded_ = loaded;
|
| }
|
|
|
| +void PipelineImpl::SetNetworkActivity(bool network_activity) {
|
| + DCHECK(IsRunning());
|
| + {
|
| + AutoLock auto_lock(lock_);
|
| + network_activity_ = network_activity;
|
| + }
|
| + message_loop_->PostTask(FROM_HERE,
|
| + NewRunnableMethod(this, &PipelineImpl::NotifyNetworkEventTask));
|
| +}
|
| +
|
| void PipelineImpl::BroadcastMessage(FilterMessage message) {
|
| DCHECK(IsRunning());
|
|
|
| @@ -718,6 +739,13 @@ void PipelineImpl::NotifyEndedTask() {
|
| }
|
| }
|
|
|
| +void PipelineImpl::NotifyNetworkEventTask() {
|
| + DCHECK_EQ(MessageLoop::current(), message_loop_);
|
| + if (network_callback_.get()) {
|
| + network_callback_->Run();
|
| + }
|
| +}
|
| +
|
| void PipelineImpl::BroadcastMessageTask(FilterMessage message) {
|
| DCHECK_EQ(MessageLoop::current(), message_loop_);
|
|
|
|
|