Index: webkit/media/webmediaplayer_impl.cc |
diff --git a/webkit/media/webmediaplayer_impl.cc b/webkit/media/webmediaplayer_impl.cc |
index f5e63331a239b83b285e7a5aa1b881c4b48036b5..a9e5ff937cc3a7fc3bd780214c4fe8990f6412d4 100644 |
--- a/webkit/media/webmediaplayer_impl.cc |
+++ b/webkit/media/webmediaplayer_impl.cc |
@@ -1124,12 +1124,21 @@ void WebMediaPlayerImpl::NotifyDownloading(bool is_downloading) { |
void WebMediaPlayerImpl::StartPipeline() { |
starting_ = true; |
+ |
+ media::SetDecryptorReadyCB set_decryptor_ready_cb; |
+ if (decryptor_) { |
+ set_decryptor_ready_cb = |
+ base::Bind(&ProxyDecryptor::RegisterDecryptorReadyNotification, |
+ base::Unretained(decryptor_.get())); |
+ } |
+ |
pipeline_->Start( |
filter_collection_.Pass(), |
BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineEnded), |
BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineError), |
BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineSeek), |
- BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineBufferingState)); |
+ BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineBufferingState), |
+ set_decryptor_ready_cb); |
} |
void WebMediaPlayerImpl::SetNetworkState(WebMediaPlayer::NetworkState state) { |