| Index: content/renderer/media/crypto/proxy_decryptor.h
|
| diff --git a/content/renderer/media/crypto/proxy_decryptor.h b/content/renderer/media/crypto/proxy_decryptor.h
|
| index 66d402ec77f9ab1104cef35109a0b4a10cbb8df8..9d3a10c2a607042db54a891790f37d1ee6da21a2 100644
|
| --- a/content/renderer/media/crypto/proxy_decryptor.h
|
| +++ b/content/renderer/media/crypto/proxy_decryptor.h
|
| @@ -15,12 +15,12 @@
|
| #include "media/base/decryptor.h"
|
| #include "media/base/media_keys.h"
|
|
|
| -#if defined(ENABLE_PEPPER_CDMS)
|
| -#include "content/renderer/media/crypto/pepper_cdm_wrapper.h"
|
| -#endif
|
| -
|
| class GURL;
|
|
|
| +namespace media {
|
| +class CdmFactory;
|
| +}
|
| +
|
| namespace content {
|
|
|
| #if defined(ENABLE_BROWSER_CDMS)
|
| @@ -46,15 +46,9 @@ class ProxyDecryptor {
|
| const std::vector<uint8>& message,
|
| const GURL& destination_url)> KeyMessageCB;
|
|
|
| - ProxyDecryptor(
|
| -#if defined(ENABLE_PEPPER_CDMS)
|
| - const CreatePepperCdmCB& create_pepper_cdm_cb,
|
| -#elif defined(ENABLE_BROWSER_CDMS)
|
| - RendererCdmManager* manager,
|
| -#endif // defined(ENABLE_PEPPER_CDMS)
|
| - const KeyAddedCB& key_added_cb,
|
| - const KeyErrorCB& key_error_cb,
|
| - const KeyMessageCB& key_message_cb);
|
| + ProxyDecryptor(const KeyAddedCB& key_added_cb,
|
| + const KeyErrorCB& key_error_cb,
|
| + const KeyMessageCB& key_message_cb);
|
| virtual ~ProxyDecryptor();
|
|
|
| // Returns the Decryptor associated with this object. May be NULL if no
|
| @@ -68,7 +62,8 @@ class ProxyDecryptor {
|
| #endif
|
|
|
| // Only call this once.
|
| - bool InitializeCDM(const std::string& key_system,
|
| + bool InitializeCDM(const media::CdmFactory& cdm_factory,
|
| + const std::string& key_system,
|
| const GURL& security_origin);
|
|
|
| // May only be called after InitializeCDM() succeeds.
|
| @@ -82,8 +77,10 @@ class ProxyDecryptor {
|
|
|
| private:
|
| // Helper function to create MediaKeys to handle the given |key_system|.
|
| - scoped_ptr<media::MediaKeys> CreateMediaKeys(const std::string& key_system,
|
| - const GURL& security_origin);
|
| + scoped_ptr<media::MediaKeys> CreateMediaKeys(
|
| + const media::CdmFactory& cdm_factory,
|
| + const std::string& key_system,
|
| + const GURL& security_origin);
|
|
|
| // Callbacks for firing session events.
|
| void OnSessionMessage(const std::string& web_session_id,
|
| @@ -110,14 +107,6 @@ class ProxyDecryptor {
|
| void SetSessionId(SessionCreationType session_type,
|
| const std::string& web_session_id);
|
|
|
| -#if defined(ENABLE_PEPPER_CDMS)
|
| - // Callback to create the Pepper plugin.
|
| - CreatePepperCdmCB create_pepper_cdm_cb_;
|
| -#elif defined(ENABLE_BROWSER_CDMS)
|
| - RendererCdmManager* manager_;
|
| - int cdm_id_;
|
| -#endif // defined(ENABLE_PEPPER_CDMS)
|
| -
|
| // The real MediaKeys that manages key operations for the ProxyDecryptor.
|
| scoped_ptr<media::MediaKeys> media_keys_;
|
|
|
| @@ -131,6 +120,10 @@ class ProxyDecryptor {
|
|
|
| bool is_clear_key_;
|
|
|
| +#if defined(ENABLE_BROWSER_CDMS)
|
| + int cdm_id_;
|
| +#endif
|
| +
|
| // NOTE: Weak pointers must be invalidated before all other member variables.
|
| base::WeakPtrFactory<ProxyDecryptor> weak_ptr_factory_;
|
|
|
|
|