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

Unified Diff: media/blink/key_system_config_selector.cc

Issue 1131753003: Plumb |use_secure_codecs| through to BrowserCdmFactoryAndroid. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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: media/blink/key_system_config_selector.cc
diff --git a/media/blink/key_system_config_selector.cc b/media/blink/key_system_config_selector.cc
index f34bd8fc463cfb00ea9d5b3a1029653ae34805af..4013ce4204a4c44599bf471d43bb23d007c0aae9 100644
--- a/media/blink/key_system_config_selector.cc
+++ b/media/blink/key_system_config_selector.cc
@@ -8,6 +8,7 @@
#include "base/logging.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
+#include "media/base/cdm_config.h"
#include "media/base/key_systems.h"
#include "media/base/media_permission.h"
#include "media/blink/webmediaplayer_util.h"
@@ -131,8 +132,8 @@ struct KeySystemConfigSelector::SelectionRequest {
blink::WebVector<blink::WebMediaKeySystemConfiguration>
candidate_configurations;
blink::WebSecurityOrigin security_origin;
- base::Callback<void(const blink::WebMediaKeySystemConfiguration&, bool)>
- succeeded_cb;
+ base::Callback<void(const blink::WebMediaKeySystemConfiguration&,
+ const CdmConfig&)> succeeded_cb;
base::Callback<void(const blink::WebString&)> not_supported_cb;
bool was_permission_requested = false;
bool is_permission_granted = false;
@@ -673,8 +674,8 @@ void KeySystemConfigSelector::SelectConfig(
candidate_configurations,
const blink::WebSecurityOrigin& security_origin,
bool are_secure_codecs_supported,
- base::Callback<void(const blink::WebMediaKeySystemConfiguration&, bool)>
- succeeded_cb,
+ base::Callback<void(const blink::WebMediaKeySystemConfiguration&,
+ const CdmConfig&)> succeeded_cb,
base::Callback<void(const blink::WebString&)> not_supported_cb) {
// Continued from requestMediaKeySystemAccess(), step 7, from
// https://w3c.github.io/encrypted-media/#requestmediakeysystemaccess
@@ -727,6 +728,7 @@ void KeySystemConfigSelector::SelectConfigInternal(
if (!request->are_secure_codecs_supported)
config_state.AddRule(EmeConfigRule::SECURE_CODECS_NOT_ALLOWED);
blink::WebMediaKeySystemConfiguration accumulated_configuration;
+ CdmConfig cdm_config;
ConfigurationSupport support = GetSupportedConfiguration(
request->key_system, request->candidate_configurations[i],
&config_state, &accumulated_configuration);
@@ -746,8 +748,14 @@ void KeySystemConfigSelector::SelectConfigInternal(
weak_factory_.GetWeakPtr(), base::Passed(&request)));
return;
case CONFIGURATION_SUPPORTED:
- request->succeeded_cb.Run(accumulated_configuration,
- config_state.AreSecureCodecsRequired());
+ cdm_config.allow_distinctive_identifier =
+ (accumulated_configuration.distinctiveIdentifier ==
+ blink::WebMediaKeySystemConfiguration::Requirement::Required);
+ cdm_config.allow_persistent_state =
+ (accumulated_configuration.persistentState ==
+ blink::WebMediaKeySystemConfiguration::Requirement::Required);
+ cdm_config.use_secure_codecs = config_state.AreSecureCodecsRequired();
+ request->succeeded_cb.Run(accumulated_configuration, cdm_config);
return;
}
}

Powered by Google App Engine
This is Rietveld 408576698