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

Side by Side Diff: content/renderer/media/crypto/content_decryption_module_factory.cc

Issue 555223004: Update MediaKeys interface for EME (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comments Created 6 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/media/crypto/content_decryption_module_factory.h" 5 #include "content/renderer/media/crypto/content_decryption_module_factory.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "content/renderer/media/crypto/key_systems.h" 8 #include "content/renderer/media/crypto/key_systems.h"
9 #include "media/cdm/aes_decryptor.h" 9 #include "media/cdm/aes_decryptor.h"
10 #include "url/gurl.h" 10 #include "url/gurl.h"
(...skipping 12 matching lines...) Expand all
23 const GURL& security_origin, 23 const GURL& security_origin,
24 #if defined(ENABLE_PEPPER_CDMS) 24 #if defined(ENABLE_PEPPER_CDMS)
25 const CreatePepperCdmCB& create_pepper_cdm_cb, 25 const CreatePepperCdmCB& create_pepper_cdm_cb,
26 #elif defined(ENABLE_BROWSER_CDMS) 26 #elif defined(ENABLE_BROWSER_CDMS)
27 RendererCdmManager* manager, 27 RendererCdmManager* manager,
28 int* cdm_id, 28 int* cdm_id,
29 #endif // defined(ENABLE_PEPPER_CDMS) 29 #endif // defined(ENABLE_PEPPER_CDMS)
30 const media::SessionMessageCB& session_message_cb, 30 const media::SessionMessageCB& session_message_cb,
31 const media::SessionReadyCB& session_ready_cb, 31 const media::SessionReadyCB& session_ready_cb,
32 const media::SessionClosedCB& session_closed_cb, 32 const media::SessionClosedCB& session_closed_cb,
33 const media::SessionErrorCB& session_error_cb) { 33 const media::SessionErrorCB& session_error_cb,
34 const media::SessionKeysChangeCB& session_keys_change_cb,
35 const media::SessionExpirationUpdateCB& session_expiration_update_cb) {
34 // TODO(jrummell): Pass |security_origin| to all constructors. 36 // TODO(jrummell): Pass |security_origin| to all constructors.
35 // TODO(jrummell): Enable the following line once blink code updated to 37 // TODO(jrummell): Enable the following line once blink code updated to
36 // check the security origin before calling. 38 // check the security origin before calling.
37 // DCHECK(security_origin.is_valid()); 39 // DCHECK(security_origin.is_valid());
38 40
39 #if defined(ENABLE_BROWSER_CDMS) 41 #if defined(ENABLE_BROWSER_CDMS)
40 *cdm_id = RendererCdmManager::kInvalidCdmId; 42 *cdm_id = RendererCdmManager::kInvalidCdmId;
41 #endif 43 #endif
42 44
43 if (CanUseAesDecryptor(key_system)) { 45 if (CanUseAesDecryptor(key_system)) {
44 return scoped_ptr<media::MediaKeys>( 46 return scoped_ptr<media::MediaKeys>(new media::AesDecryptor(
45 new media::AesDecryptor(session_message_cb, session_closed_cb)); 47 session_message_cb, session_closed_cb, session_keys_change_cb));
46 } 48 }
47 #if defined(ENABLE_PEPPER_CDMS) 49 #if defined(ENABLE_PEPPER_CDMS)
48 return scoped_ptr<media::MediaKeys>( 50 return scoped_ptr<media::MediaKeys>(
49 PpapiDecryptor::Create(key_system, 51 PpapiDecryptor::Create(key_system,
50 security_origin, 52 security_origin,
51 create_pepper_cdm_cb, 53 create_pepper_cdm_cb,
52 session_message_cb, 54 session_message_cb,
53 session_ready_cb, 55 session_ready_cb,
54 session_closed_cb, 56 session_closed_cb,
55 session_error_cb)); 57 session_error_cb,
58 session_keys_change_cb,
59 session_expiration_update_cb));
56 #elif defined(ENABLE_BROWSER_CDMS) 60 #elif defined(ENABLE_BROWSER_CDMS)
57 scoped_ptr<ProxyMediaKeys> proxy_media_keys = 61 scoped_ptr<ProxyMediaKeys> proxy_media_keys =
58 ProxyMediaKeys::Create(key_system, 62 ProxyMediaKeys::Create(key_system,
59 security_origin, 63 security_origin,
60 manager, 64 manager,
61 session_message_cb, 65 session_message_cb,
62 session_ready_cb, 66 session_ready_cb,
63 session_closed_cb, 67 session_closed_cb,
64 session_error_cb); 68 session_error_cb,
69 session_keys_change_cb,
70 session_expiration_update_cb);
65 if (proxy_media_keys) 71 if (proxy_media_keys)
66 *cdm_id = proxy_media_keys->GetCdmId(); 72 *cdm_id = proxy_media_keys->GetCdmId();
67 return proxy_media_keys.PassAs<media::MediaKeys>(); 73 return proxy_media_keys.PassAs<media::MediaKeys>();
68 #else 74 #else
69 return scoped_ptr<media::MediaKeys>(); 75 return scoped_ptr<media::MediaKeys>();
70 #endif // defined(ENABLE_PEPPER_CDMS) 76 #endif // defined(ENABLE_PEPPER_CDMS)
71 } 77 }
72 78
73 } // namespace content 79 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/crypto/content_decryption_module_factory.h ('k') | content/renderer/media/crypto/ppapi_decryptor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698