libmedia_jni requiresSecureDecoder: throw on error
Bug: 164486735
Test: MediaDrmTest
Change-Id: I2a062e6bd73630621fd022fcb0d640f812a7a8eb
diff --git a/media/jni/android_media_MediaDrm.cpp b/media/jni/android_media_MediaDrm.cpp
index 4ccbfaf..4f7b711 100644
--- a/media/jni/android_media_MediaDrm.cpp
+++ b/media/jni/android_media_MediaDrm.cpp
@@ -2002,10 +2002,17 @@
return JNI_FALSE;
}
+ bool required = false;
+ status_t err = OK;
if (securityLevel == DrmPlugin::kSecurityLevelMax) {
- return drm->requiresSecureDecoder(mimeType.c_str());
+ err = drm->requiresSecureDecoder(mimeType.c_str(), &required);
+ } else {
+ err = drm->requiresSecureDecoder(mimeType.c_str(), securityLevel, &required);
}
- return drm->requiresSecureDecoder(mimeType.c_str(), securityLevel);
+ if (throwExceptionAsNecessary(env, drm, err, "Failed to query secure decoder requirement")) {
+ return false;
+ }
+ return required;
}
static void android_media_MediaDrm_setPlaybackId(