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

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

Issue 1005903003: Implement robustness strings in requestMediaKeySystemAccess(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Clarify CrOS Widevine robustness rules. Created 5 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/browser_cdm_factory_android.h" 5 #include "media/base/android/browser_cdm_factory_android.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "media/base/android/media_drm_bridge.h" 10 #include "media/base/android/media_drm_bridge.h"
(...skipping 16 matching lines...) Expand all
27 27
28 scoped_ptr<MediaDrmBridge> cdm(MediaDrmBridge::Create( 28 scoped_ptr<MediaDrmBridge> cdm(MediaDrmBridge::Create(
29 key_system, session_message_cb, session_closed_cb, session_error_cb, 29 key_system, session_message_cb, session_closed_cb, session_error_cb,
30 session_keys_change_cb, session_expiration_update_cb)); 30 session_keys_change_cb, session_expiration_update_cb));
31 if (!cdm) { 31 if (!cdm) {
32 NOTREACHED() << "MediaDrmBridge cannot be created for " << key_system; 32 NOTREACHED() << "MediaDrmBridge cannot be created for " << key_system;
33 return scoped_ptr<BrowserCdm>(); 33 return scoped_ptr<BrowserCdm>();
34 } 34 }
35 35
36 // TODO(xhwang/ddorwin): Pass the security level from key system. 36 // TODO(xhwang/ddorwin): Pass the security level from key system.
37 // http://crbug.com/459400 37 // http://crbug.com/467779
38 if (key_system == kWidevineKeySystem) { 38 if (key_system == kWidevineKeySystem) {
39 MediaDrmBridge::SecurityLevel security_level = 39 MediaDrmBridge::SecurityLevel security_level =
40 MediaDrmBridge::SECURITY_LEVEL_3; 40 MediaDrmBridge::SECURITY_LEVEL_3;
41 if (base::CommandLine::ForCurrentProcess()->HasSwitch( 41 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
42 switches::kMediaDrmEnableNonCompositing)) { 42 switches::kMediaDrmEnableNonCompositing)) {
43 security_level = MediaDrmBridge::SECURITY_LEVEL_1; 43 security_level = MediaDrmBridge::SECURITY_LEVEL_1;
44 } 44 }
45 if (!cdm->SetSecurityLevel(security_level)) { 45 if (!cdm->SetSecurityLevel(security_level)) {
46 DVLOG(1) << "failed to set security level " << security_level; 46 DVLOG(1) << "failed to set security level " << security_level;
47 return scoped_ptr<BrowserCdm>(); 47 return scoped_ptr<BrowserCdm>();
48 } 48 }
49 } else { 49 } else {
50 // Assume other key systems do not support full compositing. 50 // Assume other key systems do not support full compositing.
51 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( 51 if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
52 switches::kMediaDrmEnableNonCompositing)) { 52 switches::kMediaDrmEnableNonCompositing)) {
53 NOTREACHED() << key_system << " may require " 53 NOTREACHED() << key_system << " may require "
54 << switches::kMediaDrmEnableNonCompositing; 54 << switches::kMediaDrmEnableNonCompositing;
55 return scoped_ptr<BrowserCdm>(); 55 return scoped_ptr<BrowserCdm>();
56 } 56 }
57 } 57 }
58 58
59 return cdm.Pass(); 59 return cdm.Pass();
60 } 60 }
61 61
62 } // namespace media 62 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698