summaryrefslogtreecommitdiffstats
path: root/media/jni/android_media_MediaDrm.cpp
diff options
context:
space:
mode:
authorJeff Tinker <jtinker@google.com>2013-08-21 11:52:34 -0700
committerJeff Tinker <jtinker@google.com>2013-08-21 17:30:06 -0700
commit7cda491321b9bd2e8faf956824312ea6a30e6457 (patch)
tree07209a6255d37d4bd0fee5e0a66a4ab926c392f2 /media/jni/android_media_MediaDrm.cpp
parent8117d8f7023f8981bc4b2651efed5b28104d83d3 (diff)
downloadframeworks_base-7cda491321b9bd2e8faf956824312ea6a30e6457.zip
frameworks_base-7cda491321b9bd2e8faf956824312ea6a30e6457.tar.gz
frameworks_base-7cda491321b9bd2e8faf956824312ea6a30e6457.tar.bz2
Add ability to test supported content types to MediaDrm
bug: 10244066 Change-Id: Ic96c2e23f36809faf1c88ede500f4bc2bad4142a
Diffstat (limited to 'media/jni/android_media_MediaDrm.cpp')
-rw-r--r--media/jni/android_media_MediaDrm.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/media/jni/android_media_MediaDrm.cpp b/media/jni/android_media_MediaDrm.cpp
index 60142cd..666d111 100644
--- a/media/jni/android_media_MediaDrm.cpp
+++ b/media/jni/android_media_MediaDrm.cpp
@@ -348,14 +348,14 @@ void JDrm::notify(DrmPlugin::EventType eventType, int extra, const Parcel *obj)
// static
-bool JDrm::IsCryptoSchemeSupported(const uint8_t uuid[16]) {
+bool JDrm::IsCryptoSchemeSupported(const uint8_t uuid[16], const String8 &mimeType) {
sp<IDrm> drm = MakeDrm();
if (drm == NULL) {
return false;
}
- return drm->isCryptoSchemeSupported(uuid);
+ return drm->isCryptoSchemeSupported(uuid, mimeType);
}
status_t JDrm::initCheck() const {
@@ -611,7 +611,7 @@ static void android_media_MediaDrm_native_finalize(
}
static jboolean android_media_MediaDrm_isCryptoSchemeSupportedNative(
- JNIEnv *env, jobject thiz, jbyteArray uuidObj) {
+ JNIEnv *env, jobject thiz, jbyteArray uuidObj, jstring jmimeType) {
if (uuidObj == NULL) {
jniThrowException(env, "java/lang/IllegalArgumentException", NULL);
@@ -628,7 +628,12 @@ static jboolean android_media_MediaDrm_isCryptoSchemeSupportedNative(
return false;
}
- return JDrm::IsCryptoSchemeSupported(uuid.array());
+ String8 mimeType;
+ if (jmimeType != NULL) {
+ mimeType = JStringToString8(env, jmimeType);
+ }
+
+ return JDrm::IsCryptoSchemeSupported(uuid.array(), mimeType);
}
static jbyteArray android_media_MediaDrm_openSession(
@@ -1212,7 +1217,7 @@ static JNINativeMethod gMethods[] = {
{ "native_finalize", "()V",
(void *)android_media_MediaDrm_native_finalize },
- { "isCryptoSchemeSupportedNative", "([B)Z",
+ { "isCryptoSchemeSupportedNative", "([BLjava/lang/String;)Z",
(void *)android_media_MediaDrm_isCryptoSchemeSupportedNative },
{ "openSession", "()[B",