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

Unified Diff: content/renderer/media/android/webmediaplayer_android.h

Issue 193523002: Encrypted Media: Implement IPC based SetCdm(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: comments addressed Created 6 years, 9 months 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
Index: content/renderer/media/android/webmediaplayer_android.h
diff --git a/content/renderer/media/android/webmediaplayer_android.h b/content/renderer/media/android/webmediaplayer_android.h
index 3ccf5ce9d22576ba753068cdf8b3fc0a8c0b11ff..6442a06cc82f64b1fc1b482907a9478c7f0b47ef 100644
--- a/content/renderer/media/android/webmediaplayer_android.h
+++ b/content/renderer/media/android/webmediaplayer_android.h
@@ -36,6 +36,7 @@ class MessageLoopProxy;
}
namespace blink {
+class WebContentDecryptionModule;
class WebFrame;
class WebURL;
}
@@ -53,8 +54,9 @@ class WebLayerImpl;
}
namespace content {
-class WebMediaPlayerDelegate;
class RendererMediaPlayerManager;
+class WebContentDecryptionModuleImpl;
+class WebMediaPlayerDelegate;
// This class implements blink::WebMediaPlayer by keeping the android
// media player in the browser process. It listens to all the status changes
@@ -214,6 +216,8 @@ class WebMediaPlayerAndroid : public blink::WebMediaPlayer,
virtual MediaKeyException cancelKeyRequest(
const blink::WebString& key_system,
const blink::WebString& session_id);
+ virtual void setContentDecryptionModule(
+ blink::WebContentDecryptionModule* cdm);
void OnKeyAdded(const std::string& session_id);
void OnKeyError(const std::string& session_id,
@@ -427,11 +431,19 @@ class WebMediaPlayerAndroid : public blink::WebMediaPlayer,
// through GenerateKeyRequest() directly from WebKit.
std::string init_data_type_;
- media::DecryptorReadyCB decryptor_ready_cb_;
-
// Manages decryption keys and decrypts encrypted frames.
scoped_ptr<ProxyDecryptor> proxy_decryptor_;
+ // Non-owned pointer to the CDM. Updated via calls to
+ // setContentDecryptionModule().
+ WebContentDecryptionModuleImpl* web_cdm_;
+
+ // This is only Used by Clear Key key system implementation, where a render
ddorwin 2014/03/26 19:25:59 nit: renderer-side? ^^^
xhwang 2014/03/27 19:07:42 Done.
+ // side CDM will be used. This is similar to WebMediaPlayerImpl. For other key
+ // systems, a browser side CDM will be used and we set CDM my calling
ddorwin 2014/03/26 19:25:59 s/my/by/
xhwang 2014/03/27 19:07:42 Done.
+ // manager_->SetCdm() directly.
+ media::DecryptorReadyCB decryptor_ready_cb_;
+
// NOTE: Weak pointers must be invalidated before all other member variables.
base::WeakPtrFactory<WebMediaPlayerAndroid> weak_factory_;

Powered by Google App Engine
This is Rietveld 408576698