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

Side by Side Diff: media/base/android/android_cdm_factory.cc

Issue 1427183002: Move MediaDrmBridge provision communication to native side. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Bound network context into callback function instead of using factory Created 5 years, 1 month 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "media/base/android/android_cdm_factory.h" 5 #include "media/base/android/android_cdm_factory.h"
6 6
7 #include "base/strings/string_number_conversions.h" 7 #include "base/strings/string_number_conversions.h"
8 #include "media/base/android/media_drm_bridge.h" 8 #include "media/base/android/media_drm_bridge.h"
9 #include "media/base/android/provision_fetcher.h"
9 #include "media/base/bind_to_current_loop.h" 10 #include "media/base/bind_to_current_loop.h"
10 #include "media/base/cdm_config.h" 11 #include "media/base/cdm_config.h"
11 #include "media/base/key_systems.h" 12 #include "media/base/key_systems.h"
12 #include "third_party/widevine/cdm/widevine_cdm_common.h" 13 #include "third_party/widevine/cdm/widevine_cdm_common.h"
13 #include "url/gurl.h" 14 #include "url/gurl.h"
14 15
15 namespace media { 16 namespace media {
16 17
17 AndroidCdmFactory::AndroidCdmFactory() {} 18 AndroidCdmFactory::AndroidCdmFactory(const CreateFetcherCB& create_fetcher_cb)
19 : create_fetcher_cb_(create_fetcher_cb) {}
18 20
19 AndroidCdmFactory::~AndroidCdmFactory() {} 21 AndroidCdmFactory::~AndroidCdmFactory() {}
20 22
21 void AndroidCdmFactory::Create( 23 void AndroidCdmFactory::Create(
22 const std::string& key_system, 24 const std::string& key_system,
23 const GURL& security_origin, 25 const GURL& security_origin,
24 const CdmConfig& cdm_config, 26 const CdmConfig& cdm_config,
25 const SessionMessageCB& session_message_cb, 27 const SessionMessageCB& session_message_cb,
26 const SessionClosedCB& session_closed_cb, 28 const SessionClosedCB& session_closed_cb,
27 const LegacySessionErrorCB& legacy_session_error_cb, 29 const LegacySessionErrorCB& legacy_session_error_cb,
(...skipping 11 matching lines...) Expand all
39 std::string error_message; 41 std::string error_message;
40 42
41 if (!MediaDrmBridge::IsKeySystemSupported(key_system)) { 43 if (!MediaDrmBridge::IsKeySystemSupported(key_system)) {
42 error_message = "Key system not supported unexpectedly: " + key_system; 44 error_message = "Key system not supported unexpectedly: " + key_system;
43 NOTREACHED() << error_message; 45 NOTREACHED() << error_message;
44 bound_cdm_created_cb.Run(nullptr, error_message); 46 bound_cdm_created_cb.Run(nullptr, error_message);
45 return; 47 return;
46 } 48 }
47 49
48 scoped_refptr<MediaDrmBridge> cdm( 50 scoped_refptr<MediaDrmBridge> cdm(
49 MediaDrmBridge::Create(key_system, session_message_cb, session_closed_cb, 51 MediaDrmBridge::Create(key_system, create_fetcher_cb_.Run().Pass(),
xhwang 2015/11/13 05:15:42 no need to Pass() here
Tima Vaisburd 2015/11/13 21:04:43 Done.
52 session_message_cb, session_closed_cb,
50 legacy_session_error_cb, session_keys_change_cb, 53 legacy_session_error_cb, session_keys_change_cb,
51 session_expiration_update_cb)); 54 session_expiration_update_cb));
52 if (!cdm) { 55 if (!cdm) {
53 error_message = "MediaDrmBridge cannot be created for " + key_system; 56 error_message = "MediaDrmBridge cannot be created for " + key_system;
54 NOTREACHED() << error_message; 57 NOTREACHED() << error_message;
55 bound_cdm_created_cb.Run(nullptr, error_message); 58 bound_cdm_created_cb.Run(nullptr, error_message);
56 return; 59 return;
57 } 60 }
58 61
59 if (key_system == kWidevineKeySystem) { 62 if (key_system == kWidevineKeySystem) {
(...skipping 16 matching lines...) Expand all
76 NOTREACHED() << error_message; 79 NOTREACHED() << error_message;
77 bound_cdm_created_cb.Run(nullptr, error_message); 80 bound_cdm_created_cb.Run(nullptr, error_message);
78 return; 81 return;
79 } 82 }
80 83
81 // Success! 84 // Success!
82 bound_cdm_created_cb.Run(cdm, ""); 85 bound_cdm_created_cb.Run(cdm, "");
83 } 86 }
84 87
85 } // namespace media 88 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698