summaryrefslogtreecommitdiffstats
path: root/content/browser/android
diff options
context:
space:
mode:
authorxhwang@chromium.org <xhwang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-10 02:02:56 +0000
committerxhwang@chromium.org <xhwang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-10 02:02:56 +0000
commitce3934bbc8ae5a81437e16af54101bb459d66be5 (patch)
tree81befd65f8f2f22b56f37feff33c735da75aa6ea /content/browser/android
parent4e3ca1c297de5183ba0d7a7226a165839df13a76 (diff)
downloadchromium_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.cc14
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;
}