From ce3934bbc8ae5a81437e16af54101bb459d66be5 Mon Sep 17 00:00:00 2001 From: "xhwang@chromium.org" Date: Tue, 10 Sep 2013 02:02:56 +0000 Subject: Add --mediadrm-enable-non-compositing flag for Chrome on Android. When this flag is enabled, we'll use a non-compositing decoder in MediaDrm by default. Otherwise, a compositing decoder will be used by default. TBR=ddorwin@chromium.org, qinmin@chromium.org BUG=163552 TEST=Tried on Nexus 7 with and without this flag. Review URL: https://codereview.chromium.org/23903023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@222181 0039d316-1c4b-4281-b951-d872f2087c98 --- content/browser/android/browser_media_player_manager.cc | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'content/browser/android') diff --git a/content/browser/android/browser_media_player_manager.cc b/content/browser/android/browser_media_player_manager.cc index bc75620..c61939a 100644 --- a/content/browser/android/browser_media_player_manager.cc +++ b/content/browser/android/browser_media_player_manager.cc @@ -4,6 +4,7 @@ #include "content/browser/android/browser_media_player_manager.h" +#include "base/command_line.h" #include "content/browser/android/content_view_core_impl.h" #include "content/browser/android/media_resource_getter_impl.h" #include "content/browser/web_contents/web_contents_view_android.h" @@ -14,6 +15,7 @@ #include "content/public/browser/storage_partition.h" #include "content/public/browser/web_contents.h" #include "media/base/android/media_drm_bridge.h" +#include "media/base/media_switches.h" using media::MediaDrmBridge; using media::MediaPlayerAndroid; @@ -520,12 +522,18 @@ void BrowserMediaPlayerManager::RemovePlayer(int player_id) { void BrowserMediaPlayerManager::AddDrmBridge(int media_keys_id, const std::vector& uuid) { DCHECK(!GetDrmBridge(media_keys_id)); - // TODO(qinmin): Pass the security level to MediaDrmBridge instead of using - // the default L3. + // TODO(xhwang/ddorwin): Pass the security level from key system. + std::string security_level = "L3"; + if (CommandLine::ForCurrentProcess() + ->HasSwitch(switches::kMediaDrmEnableNonCompositing)) { + security_level = "L1"; + } + scoped_ptr drm_bridge( - MediaDrmBridge::Create(media_keys_id, uuid, "L3", this)); + MediaDrmBridge::Create(media_keys_id, uuid, security_level, this)); if (!drm_bridge) { DVLOG(1) << "failed to create drm bridge."; + OnKeyError(media_keys_id, "", media::MediaKeys::kUnknownError, 0); return; } -- cgit v1.1