| Index: media/filters/pipeline_controller.cc
|
| diff --git a/media/filters/pipeline_controller.cc b/media/filters/pipeline_controller.cc
|
| index 2055afb9dc08cdd3a3879434301051a1b84167c8..4bbc3b064053d698137761a016dbf2283e5d954e 100644
|
| --- a/media/filters/pipeline_controller.cc
|
| +++ b/media/filters/pipeline_controller.cc
|
| @@ -12,17 +12,20 @@ namespace media {
|
| PipelineController::PipelineController(
|
| Pipeline* pipeline,
|
| const RendererFactoryCB& renderer_factory_cb,
|
| + const PipelineStatusCB& start_done_cb,
|
| const SeekedCB& seeked_cb,
|
| const SuspendedCB& suspended_cb,
|
| const PipelineStatusCB& error_cb)
|
| : pipeline_(pipeline),
|
| renderer_factory_cb_(renderer_factory_cb),
|
| + start_done_cb_(start_done_cb),
|
| seeked_cb_(seeked_cb),
|
| suspended_cb_(suspended_cb),
|
| error_cb_(error_cb),
|
| weak_factory_(this) {
|
| DCHECK(pipeline_);
|
| DCHECK(!renderer_factory_cb_.is_null());
|
| + DCHECK(!start_done_cb.is_null());
|
| DCHECK(!seeked_cb_.is_null());
|
| DCHECK(!suspended_cb_.is_null());
|
| DCHECK(!error_cb_.is_null());
|
| @@ -118,6 +121,10 @@ void PipelineController::OnPipelineStatus(State state,
|
| PipelineStatus pipeline_status) {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
|
|
| + if (state_ == State::STARTING) {
|
| + start_done_cb_.Run(pipeline_status);
|
| + }
|
| +
|
| if (pipeline_status != PIPELINE_OK) {
|
| error_cb_.Run(pipeline_status);
|
| return;
|
|
|