Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(622)

Unified Diff: webkit/media/webmediaplayer_impl.cc

Issue 11492003: Encrypted Media: Support Audio Decrypt-Only. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: resolved comments and fixed unittest Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« media/filters/audio_decoder_selector.cc ('K') | « media/media.gyp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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),
« media/filters/audio_decoder_selector.cc ('K') | « media/media.gyp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698