diff options
author | xhwang@chromium.org <xhwang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-10 02:02:56 +0000 |
---|---|---|
committer | xhwang@chromium.org <xhwang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-10 02:02:56 +0000 |
commit | ce3934bbc8ae5a81437e16af54101bb459d66be5 (patch) | |
tree | 81befd65f8f2f22b56f37feff33c735da75aa6ea /content/browser/android | |
parent | 4e3ca1c297de5183ba0d7a7226a165839df13a76 (diff) | |
download | chromium_src-ce3934bbc8ae5a81437e16af54101bb459d66be5.zip chromium_src-ce3934bbc8ae5a81437e16af54101bb459d66be5.tar.gz chromium_src-ce3934bbc8ae5a81437e16af54101bb459d66be5.tar.bz2 |
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
Diffstat (limited to 'content/browser/android')
-rw-r--r-- | content/browser/android/browser_media_player_manager.cc | 14 |
1 files changed, 11 insertions, 3 deletions
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<uint8>& 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<MediaDrmBridge> 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; } |