| Index: media/mojo/services/mojo_renderer_impl.cc
|
| diff --git a/media/mojo/services/mojo_renderer_impl.cc b/media/mojo/services/mojo_renderer_impl.cc
|
| index e5a9433fc9d19017255e4a808462a8105b1f3880..ac1707f41852c731d901e2a8ceaf674e962b7d3c 100644
|
| --- a/media/mojo/services/mojo_renderer_impl.cc
|
| +++ b/media/mojo/services/mojo_renderer_impl.cc
|
| @@ -11,6 +11,7 @@
|
| #include "base/location.h"
|
| #include "base/single_thread_task_runner.h"
|
| #include "media/base/demuxer_stream_provider.h"
|
| +#include "media/base/renderer_client.h"
|
| #include "media/mojo/services/mojo_demuxer_stream_impl.h"
|
|
|
| namespace media {
|
| @@ -29,16 +30,10 @@ MojoRendererImpl::~MojoRendererImpl() {
|
| DCHECK(task_runner_->BelongsToCurrentThread());
|
| }
|
|
|
| -// TODO(xhwang): Support |waiting_for_decryption_key_cb| and |statictics_cb|.
|
| -// See http://crbug.com/585287
|
| void MojoRendererImpl::Initialize(
|
| DemuxerStreamProvider* demuxer_stream_provider,
|
| - const PipelineStatusCB& init_cb,
|
| - const StatisticsCB& /* statistics_cb */,
|
| - const BufferingStateCB& buffering_state_cb,
|
| - const base::Closure& ended_cb,
|
| - const PipelineStatusCB& error_cb,
|
| - const base::Closure& /* waiting_for_decryption_key_cb */) {
|
| + media::RendererClient* client,
|
| + const PipelineStatusCB& init_cb) {
|
| DVLOG(1) << __FUNCTION__;
|
| DCHECK(task_runner_->BelongsToCurrentThread());
|
| DCHECK(demuxer_stream_provider);
|
| @@ -61,10 +56,8 @@ void MojoRendererImpl::Initialize(
|
| base::Bind(&MojoRendererImpl::OnConnectionError, base::Unretained(this)));
|
|
|
| demuxer_stream_provider_ = demuxer_stream_provider;
|
| + client_ = client;
|
| init_cb_ = init_cb;
|
| - buffering_state_cb_ = buffering_state_cb;
|
| - ended_cb_ = ended_cb;
|
| - error_cb_ = error_cb;
|
|
|
| // Create audio and video interfaces::DemuxerStream and bind its lifetime to
|
| // the pipe.
|
| @@ -167,13 +160,13 @@ void MojoRendererImpl::OnBufferingStateChange(
|
| interfaces::BufferingState state) {
|
| DVLOG(2) << __FUNCTION__;
|
| DCHECK(task_runner_->BelongsToCurrentThread());
|
| - buffering_state_cb_.Run(static_cast<media::BufferingState>(state));
|
| + client_->OnBufferingStateChange(static_cast<media::BufferingState>(state));
|
| }
|
|
|
| void MojoRendererImpl::OnEnded() {
|
| DVLOG(1) << __FUNCTION__;
|
| DCHECK(task_runner_->BelongsToCurrentThread());
|
| - ended_cb_.Run();
|
| + client_->OnEnded();
|
| }
|
|
|
| void MojoRendererImpl::OnError() {
|
| @@ -183,7 +176,7 @@ void MojoRendererImpl::OnError() {
|
|
|
| // TODO(tim): Should we plumb error code from remote renderer?
|
| // http://crbug.com/410451.
|
| - error_cb_.Run(PIPELINE_ERROR_DECODE);
|
| + client_->OnError(PIPELINE_ERROR_DECODE);
|
| }
|
|
|
| void MojoRendererImpl::OnConnectionError() {
|
| @@ -195,7 +188,7 @@ void MojoRendererImpl::OnConnectionError() {
|
| return;
|
| }
|
|
|
| - error_cb_.Run(PIPELINE_ERROR_DECODE);
|
| + client_->OnError(PIPELINE_ERROR_DECODE);
|
| }
|
|
|
| void MojoRendererImpl::OnInitialized(bool success) {
|
|
|