Index: webkit/media/webmediaplayer_impl.cc |
diff --git a/webkit/media/webmediaplayer_impl.cc b/webkit/media/webmediaplayer_impl.cc |
index 9e907e11782aa3cc51cfd7e77a546a28dbf99e3f..1f04c509c9b63b48ecbf27a842ad8f24f8af0f1f 100644 |
--- a/webkit/media/webmediaplayer_impl.cc |
+++ b/webkit/media/webmediaplayer_impl.cc |
@@ -188,17 +188,20 @@ WebMediaPlayerImpl::WebMediaPlayerImpl( |
filter_collection_->AddVideoRenderer(video_renderer); |
proxy_->set_frame_provider(video_renderer); |
- // Create default audio renderer using the null sink if no sink was provided. |
- if (!audio_renderer_sink) { |
- audio_renderer_sink = new media::NullAudioSink(); |
- } |
- filter_collection_->AddAudioRenderer( |
- new media::AudioRendererImpl(audio_renderer_sink)); |
- |
+ media::SetDecryptorReadyCB set_decryptor_ready_cb; |
if (WebKit::WebRuntimeFeatures::isEncryptedMediaEnabled()) { |
decryptor_.reset(new ProxyDecryptor(message_loop_factory_->GetMessageLoop( |
media::MessageLoopFactory::kPipeline), proxy_.get(), client, frame)); |
+ set_decryptor_ready_cb = base::Bind(&ProxyDecryptor::SetDecryptorReadyCB, |
+ base::Unretained(decryptor_.get())); |
} |
+ |
+ // Create default audio renderer using the null sink if no sink was provided. |
+ if (!audio_renderer_sink) |
+ audio_renderer_sink = new media::NullAudioSink(); |
+ |
+ filter_collection_->AddAudioRenderer(new media::AudioRendererImpl( |
+ audio_renderer_sink, set_decryptor_ready_cb)); |
} |
WebMediaPlayerImpl::~WebMediaPlayerImpl() { |