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

Side by Side Diff: chrome/renderer/media/chrome_key_systems.cc

Issue 185993004: Encrypted Media: Confine UUID code to MediaDrmBridge. (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 unified diff | Download patch | Annotate | Revision Log
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 "chrome/renderer/media/chrome_key_systems.h" 5 #include "chrome/renderer/media/chrome_key_systems.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/strings/string16.h" 10 #include "base/strings/string16.h"
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 141
142 #if defined(OS_ANDROID) 142 #if defined(OS_ANDROID)
143 #define COMPILE_ASSERT_MATCHING_ENUM(name) \ 143 #define COMPILE_ASSERT_MATCHING_ENUM(name) \
144 COMPILE_ASSERT(static_cast<int>(name) == \ 144 COMPILE_ASSERT(static_cast<int>(name) == \
145 static_cast<int>(android::name), \ 145 static_cast<int>(android::name), \
146 mismatching_enums) 146 mismatching_enums)
147 COMPILE_ASSERT_MATCHING_ENUM(WEBM_VP8_AND_VORBIS); 147 COMPILE_ASSERT_MATCHING_ENUM(WEBM_VP8_AND_VORBIS);
148 COMPILE_ASSERT_MATCHING_ENUM(MP4_AAC); 148 COMPILE_ASSERT_MATCHING_ENUM(MP4_AAC);
149 COMPILE_ASSERT_MATCHING_ENUM(MP4_AVC1); 149 COMPILE_ASSERT_MATCHING_ENUM(MP4_AVC1);
150 #undef COMPILE_ASSERT_MATCHING_ENUM 150 #undef COMPILE_ASSERT_MATCHING_ENUM
151
152 static const uint8 kWidevineUuid[16] = {
153 0xED, 0xEF, 0x8B, 0xA9, 0x79, 0xD6, 0x4A, 0xCE,
154 0xA3, 0xC8, 0x27, 0xDC, 0xD5, 0x1D, 0x21, 0xED };
155 #else 151 #else
156 static bool IsWidevineHrSupported() { 152 static bool IsWidevineHrSupported() {
157 // TODO(jrummell): Need to call CheckPlatformState() but it is 153 // TODO(jrummell): Need to call CheckPlatformState() but it is
158 // asynchronous, and needs to be done in the browser. 154 // asynchronous, and needs to be done in the browser.
159 return false; 155 return false;
160 } 156 }
161 #endif 157 #endif
162 158
163 // Return |name|'s parent key system. 159 // Return |name|'s parent key system.
164 static std::string GetDirectParentName(std::string name) { 160 static std::string GetDirectParentName(std::string name) {
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 ""; 202 "";
207 const char* audio_codecs = is_aac_supported ? kMp4a : ""; 203 const char* audio_codecs = is_aac_supported ? kMp4a : "";
208 204
209 info.supported_types.push_back(std::make_pair(kAudioMp4, audio_codecs)); 205 info.supported_types.push_back(std::make_pair(kAudioMp4, audio_codecs));
210 info.supported_types.push_back(std::make_pair(kVideoMp4, video_codecs)); 206 info.supported_types.push_back(std::make_pair(kVideoMp4, video_codecs));
211 } 207 }
212 #endif // defined(USE_PROPRIETARY_CODECS) 208 #endif // defined(USE_PROPRIETARY_CODECS)
213 209
214 #if defined(ENABLE_PEPPER_CDMS) 210 #if defined(ENABLE_PEPPER_CDMS)
215 info.pepper_type = kWidevineCdmPluginMimeType; 211 info.pepper_type = kWidevineCdmPluginMimeType;
216 #elif defined(OS_ANDROID)
217 info.uuid.assign(kWidevineUuid, kWidevineUuid + arraysize(kWidevineUuid));
218 #endif // defined(ENABLE_PEPPER_CDMS) 212 #endif // defined(ENABLE_PEPPER_CDMS)
219 213
220 concrete_key_systems->push_back(info); 214 concrete_key_systems->push_back(info);
221 } 215 }
222 216
223 #if defined(ENABLE_PEPPER_CDMS) 217 #if defined(ENABLE_PEPPER_CDMS)
224 // When the adapter is registered, a name-value pair is inserted in 218 // When the adapter is registered, a name-value pair is inserted in
225 // additional_param_* that lists the supported codecs. The name is "codecs" and 219 // additional_param_* that lists the supported codecs. The name is "codecs" and
226 // the value is a comma-delimited list of codecs. 220 // the value is a comma-delimited list of codecs.
227 // This function finds "codecs" and parses the value into the vector |codecs|. 221 // This function finds "codecs" and parses the value into the vector |codecs|.
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 284
291 if (IsWidevineHrSupported()) 285 if (IsWidevineHrSupported())
292 AddWidevineWithCodecs(WIDEVINE_HR, supported_codecs, concrete_key_systems); 286 AddWidevineWithCodecs(WIDEVINE_HR, supported_codecs, concrete_key_systems);
293 } 287 }
294 #elif defined(OS_ANDROID) 288 #elif defined(OS_ANDROID)
295 static void AddAndroidWidevine( 289 static void AddAndroidWidevine(
296 std::vector<KeySystemInfo>* concrete_key_systems) { 290 std::vector<KeySystemInfo>* concrete_key_systems) {
297 SupportedKeySystemRequest request; 291 SupportedKeySystemRequest request;
298 SupportedKeySystemResponse response; 292 SupportedKeySystemResponse response;
299 293
300 request.uuid.insert(request.uuid.begin(), kWidevineUuid, 294 request.key_system = kWidevineKeySystem;
301 kWidevineUuid + arraysize(kWidevineUuid));
302 #if defined(USE_PROPRIETARY_CODECS) 295 #if defined(USE_PROPRIETARY_CODECS)
303 request.codecs = static_cast<android::SupportedCodecs>( 296 request.codecs = static_cast<android::SupportedCodecs>(
304 android::MP4_AAC | android::MP4_AVC1); 297 android::MP4_AAC | android::MP4_AVC1);
305 #endif // defined(USE_PROPRIETARY_CODECS) 298 #endif // defined(USE_PROPRIETARY_CODECS)
306 content::RenderThread::Get()->Send( 299 content::RenderThread::Get()->Send(
307 new ChromeViewHostMsg_GetSupportedKeySystems(request, &response)); 300 new ChromeViewHostMsg_GetSupportedKeySystems(request, &response));
308 DCHECK_EQ(response.compositing_codecs >> 3, 0) << "unrecognized codec"; 301 DCHECK_EQ(response.compositing_codecs >> 3, 0) << "unrecognized codec";
309 DCHECK_EQ(response.non_compositing_codecs >> 3, 0) << "unrecognized codec"; 302 DCHECK_EQ(response.non_compositing_codecs >> 3, 0) << "unrecognized codec";
310 if (response.compositing_codecs != android::NO_SUPPORTED_CODECS) { 303 if (response.compositing_codecs != android::NO_SUPPORTED_CODECS) {
311 AddWidevineWithCodecs( 304 AddWidevineWithCodecs(
(...skipping 18 matching lines...) Expand all
330 #endif 323 #endif
331 324
332 #if defined(WIDEVINE_CDM_AVAILABLE) 325 #if defined(WIDEVINE_CDM_AVAILABLE)
333 #if defined(ENABLE_PEPPER_CDMS) 326 #if defined(ENABLE_PEPPER_CDMS)
334 AddPepperBasedWidevine(key_systems_info); 327 AddPepperBasedWidevine(key_systems_info);
335 #elif defined(OS_ANDROID) 328 #elif defined(OS_ANDROID)
336 AddAndroidWidevine(key_systems_info); 329 AddAndroidWidevine(key_systems_info);
337 #endif 330 #endif
338 #endif 331 #endif
339 } 332 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698