| Index: media/base/pipeline.cc
|
| diff --git a/media/base/pipeline.cc b/media/base/pipeline.cc
|
| index fd8b902d7f3808bb296fae869dde8e0aefee8303..36f520e09ad820a6dd2da8fbab76af211ca89b0e 100644
|
| --- a/media/base/pipeline.cc
|
| +++ b/media/base/pipeline.cc
|
| @@ -102,11 +102,13 @@ Pipeline::~Pipeline() {
|
| media_log_->CreateEvent(MediaLogEvent::PIPELINE_DESTROYED));
|
| }
|
|
|
| -void Pipeline::Start(scoped_ptr<FilterCollection> collection,
|
| - const PipelineStatusCB& ended_cb,
|
| - const PipelineStatusCB& error_cb,
|
| - const PipelineStatusCB& seek_cb,
|
| - const BufferingStateCB& buffering_state_cb) {
|
| +void Pipeline::Start(
|
| + scoped_ptr<FilterCollection> collection,
|
| + const PipelineStatusCB& ended_cb,
|
| + const PipelineStatusCB& error_cb,
|
| + const PipelineStatusCB& seek_cb,
|
| + const BufferingStateCB& buffering_state_cb,
|
| + const RequestDecryptorNotificationCB& request_decryptor_notification_cb) {
|
| base::AutoLock auto_lock(lock_);
|
| CHECK(!running_) << "Media pipeline is already running";
|
| DCHECK(!buffering_state_cb.is_null());
|
| @@ -114,7 +116,8 @@ void Pipeline::Start(scoped_ptr<FilterCollection> collection,
|
| running_ = true;
|
| message_loop_->PostTask(FROM_HERE, base::Bind(
|
| &Pipeline::StartTask, this, base::Passed(&collection),
|
| - ended_cb, error_cb, seek_cb, buffering_state_cb));
|
| + ended_cb, error_cb, seek_cb, buffering_state_cb,
|
| + request_decryptor_notification_cb));
|
| }
|
|
|
| void Pipeline::Stop(const base::Closure& stop_cb) {
|
| @@ -693,11 +696,13 @@ void Pipeline::OnUpdateStatistics(const PipelineStatistics& stats) {
|
| statistics_.video_frames_dropped += stats.video_frames_dropped;
|
| }
|
|
|
| -void Pipeline::StartTask(scoped_ptr<FilterCollection> filter_collection,
|
| - const PipelineStatusCB& ended_cb,
|
| - const PipelineStatusCB& error_cb,
|
| - const PipelineStatusCB& seek_cb,
|
| - const BufferingStateCB& buffering_state_cb) {
|
| +void Pipeline::StartTask(
|
| + scoped_ptr<FilterCollection> filter_collection,
|
| + const PipelineStatusCB& ended_cb,
|
| + const PipelineStatusCB& error_cb,
|
| + const PipelineStatusCB& seek_cb,
|
| + const BufferingStateCB& buffering_state_cb,
|
| + const RequestDecryptorNotificationCB& request_decryptor_notification_cb) {
|
| DCHECK(message_loop_->BelongsToCurrentThread());
|
| CHECK_EQ(kCreated, state_)
|
| << "Media pipeline cannot be started more than once";
|
| @@ -707,6 +712,7 @@ void Pipeline::StartTask(scoped_ptr<FilterCollection> filter_collection,
|
| error_cb_ = error_cb;
|
| seek_cb_ = seek_cb;
|
| buffering_state_cb_ = buffering_state_cb;
|
| + request_decryptor_notification_cb_ = request_decryptor_notification_cb;
|
|
|
| StateTransitionTask(PIPELINE_OK);
|
| }
|
| @@ -889,6 +895,7 @@ void Pipeline::InitializeAudioRenderer(const PipelineStatusCB& done_cb) {
|
| audio_renderer_->Initialize(
|
| stream,
|
| *filter_collection_->GetAudioDecoders(),
|
| + request_decryptor_notification_cb_,
|
| done_cb,
|
| base::Bind(&Pipeline::OnUpdateStatistics, this),
|
| base::Bind(&Pipeline::OnAudioUnderflow, this),
|
|
|