diff options
author | Jeff Tinker <jtinker@google.com> | 2013-08-21 11:52:34 -0700 |
---|---|---|
committer | Jeff Tinker <jtinker@google.com> | 2013-08-21 17:30:06 -0700 |
commit | 7cda491321b9bd2e8faf956824312ea6a30e6457 (patch) | |
tree | 07209a6255d37d4bd0fee5e0a66a4ab926c392f2 /media/jni/android_media_MediaDrm.cpp | |
parent | 8117d8f7023f8981bc4b2651efed5b28104d83d3 (diff) | |
download | frameworks_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.cpp | 15 |
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", |