Index: webkit/media/webmediaplayer_impl.cc |
diff --git a/webkit/media/webmediaplayer_impl.cc b/webkit/media/webmediaplayer_impl.cc |
index 9e907e11782aa3cc51cfd7e77a546a28dbf99e3f..23e2b2befa5a23195e10553d379d9297a1cc7381 100644 |
--- a/webkit/media/webmediaplayer_impl.cc |
+++ b/webkit/media/webmediaplayer_impl.cc |
@@ -188,17 +188,21 @@ 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::RegisterDecryptorReadyNotification, |
ddorwin
2012/12/13 23:09:43
Name needs to be updated per other CL.
xhwang
2012/12/14 03:16:21
Done.
|
+ base::Unretained(decryptor_.get())); |
} |
+ |
+ // Create default audio renderer using the null sink if no sink was provided. |
ddorwin
2012/12/13 23:09:43
This is a change in behavior. Why? OR, how did thi
xhwang
2012/12/14 03:16:21
Please see: https://codereview.chromium.org/115640
|
+ 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() { |
@@ -1127,6 +1131,7 @@ void WebMediaPlayerImpl::NotifyDownloading(bool is_downloading) { |
void WebMediaPlayerImpl::StartPipeline() { |
starting_ = true; |
+ |
pipeline_->Start( |
filter_collection_.Pass(), |
BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineEnded), |