summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorqinmin@chromium.org <qinmin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-19 06:53:56 +0000
committerqinmin@chromium.org <qinmin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-19 06:53:56 +0000
commit2b12c3257248d0559c3dd465ed08464200729a6c (patch)
tree96913bf52d1442a8a4fadf05fc76b99e7ed15235 /media
parent2b285bfa45e120476bb3b7405f83365f00f2b245 (diff)
downloadchromium_src-2b12c3257248d0559c3dd465ed08464200729a6c.zip
chromium_src-2b12c3257248d0559c3dd465ed08464200729a6c.tar.gz
chromium_src-2b12c3257248d0559c3dd465ed08464200729a6c.tar.bz2
Populate canPlayType to renderer
This CL implements the AddKeySystem() call, and using sync IPC to send the results back to the render process. TBR=jschuh BUG=224793 Review URL: https://chromiumcodereview.appspot.com/23513055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224064 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media')
-rw-r--r--media/base/android/java/src/org/chromium/media/MediaDrmBridge.java9
-rw-r--r--media/base/android/media_codec_bridge.cc8
2 files changed, 16 insertions, 1 deletions
diff --git a/media/base/android/java/src/org/chromium/media/MediaDrmBridge.java b/media/base/android/java/src/org/chromium/media/MediaDrmBridge.java
index 1118dd0..38898d5 100644
--- a/media/base/android/java/src/org/chromium/media/MediaDrmBridge.java
+++ b/media/base/android/java/src/org/chromium/media/MediaDrmBridge.java
@@ -127,6 +127,15 @@ class MediaDrmBridge {
return createMediaCrypto();
}
+ /**
+ * Check whether the crypto scheme is supported for the given container.
+ * If |containerMimeType| is an empty string, we just return whether
+ * the crypto scheme is supported.
+ * TODO(qinmin): Implement the checking for container.
+ *
+ * @return true if the container and the crypto scheme is supported, or
+ * false otherwise.
+ */
@CalledByNative
private static boolean isCryptoSchemeSupported(byte[] schemeUUID, String containerMimeType) {
UUID cryptoScheme = getUUIDFromBytes(schemeUUID);
diff --git a/media/base/android/media_codec_bridge.cc b/media/base/android/media_codec_bridge.cc
index d562579..fff50e5 100644
--- a/media/base/android/media_codec_bridge.cc
+++ b/media/base/android/media_codec_bridge.cc
@@ -130,7 +130,13 @@ bool MediaCodecBridge::CanDecode(const std::string& codec, bool is_secure) {
if (mime.empty())
return false;
ScopedJavaLocalRef<jstring> j_mime = ConvertUTF8ToJavaString(env, mime);
- return !Java_MediaCodecBridge_create(env, j_mime.obj(), is_secure).is_null();
+ ScopedJavaLocalRef<jobject> j_media_codec_bridge =
+ Java_MediaCodecBridge_create(env, j_mime.obj(), is_secure);
+ if (!j_media_codec_bridge.is_null()) {
+ Java_MediaCodecBridge_release(env, j_media_codec_bridge.obj());
+ return true;
+ }
+ return false;
}
MediaCodecBridge::MediaCodecBridge(const std::string& mime, bool is_secure) {