summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jeff Tinker <jtinker@google.com> 2016-04-22 17:50:33 -0700
committer Jeff Tinker <jtinker@google.com> 2016-04-27 00:49:15 +0000
commitd12b7c0600a9568549f8571c43dcfa22cdbb03ac (patch)
tree0e8a43965bb87fccfe9e243ec98d6e43d06b3761
parent69a6fe321c7b3934ee8849d2038a85443011050c (diff)
Remove MediaDrm stack from mediaserver
Part of media security hardening MediaDrm was temporarily allowed to run in either mediaserver or mediadrmserver while all nexus devices were implementing support for the native_handle representation of secure buffers. Now that all nexus devices support native_handle, the MediaDrm stack can be removed from mediaserver. b/22990512 Change-Id: I96a5222f94cd1580ac411de5b48beb44b99cc8d7
-rw-r--r--media/jni/Android.mk1
-rw-r--r--media/jni/android_media_MediaCrypto.cpp29
-rw-r--r--media/jni/android_media_MediaDrm.cpp29
3 files changed, 13 insertions, 46 deletions
diff --git a/media/jni/Android.mk b/media/jni/Android.mk
index 29739caa8b74..2c28a10a3c4d 100644
--- a/media/jni/Android.mk
+++ b/media/jni/Android.mk
@@ -33,6 +33,7 @@ LOCAL_SHARED_LIBRARIES := \
libutils \
libbinder \
libmedia \
+ libmediadrm \
libskia \
libui \
liblog \
diff --git a/media/jni/android_media_MediaCrypto.cpp b/media/jni/android_media_MediaCrypto.cpp
index 35da84ce82e5..2adbfeefcd7e 100644
--- a/media/jni/android_media_MediaCrypto.cpp
+++ b/media/jni/android_media_MediaCrypto.cpp
@@ -28,7 +28,6 @@
#include <cutils/properties.h>
#include <media/ICrypto.h>
#include <media/IMediaDrmService.h>
-#include <media/IMediaPlayerService.h>
#include <media/stagefright/foundation/ADebug.h>
namespace android {
@@ -63,30 +62,14 @@ JCrypto::~JCrypto() {
// static
sp<ICrypto> JCrypto::MakeCrypto() {
sp<IServiceManager> sm = defaultServiceManager();
- sp<ICrypto> crypto;
-
- char value[PROPERTY_VALUE_MAX];
- if (property_get("media.mediadrmservice.enable", value, NULL)
- && (!strcmp("1", value) || !strcasecmp("true", value))) {
- sp<IBinder> binder =
- sm->getService(String16("media.drm"));
- sp<IMediaDrmService> service =
- interface_cast<IMediaDrmService>(binder);
- if (service == NULL) {
- return NULL;
- }
- crypto = service->makeCrypto();
- } else {
- sp<IBinder> binder =
- sm->getService(String16("media.player"));
- sp<IMediaPlayerService> service =
- interface_cast<IMediaPlayerService>(binder);
- if (service == NULL) {
- return NULL;
- }
- crypto = service->makeCrypto();
+
+ sp<IBinder> binder = sm->getService(String16("media.drm"));
+ sp<IMediaDrmService> service = interface_cast<IMediaDrmService>(binder);
+ if (service == NULL) {
+ return NULL;
}
+ sp<ICrypto> crypto = service->makeCrypto();
if (crypto == NULL || (crypto->initCheck() != OK && crypto->initCheck() != NO_INIT)) {
return NULL;
}
diff --git a/media/jni/android_media_MediaDrm.cpp b/media/jni/android_media_MediaDrm.cpp
index 73ddedf2bec1..c4450af4b66a 100644
--- a/media/jni/android_media_MediaDrm.cpp
+++ b/media/jni/android_media_MediaDrm.cpp
@@ -31,7 +31,6 @@
#include <cutils/properties.h>
#include <media/IDrm.h>
#include <media/IMediaDrmService.h>
-#include <media/IMediaPlayerService.h>
#include <media/stagefright/foundation/ADebug.h>
#include <media/stagefright/MediaErrors.h>
@@ -354,30 +353,14 @@ JDrm::~JDrm() {
// static
sp<IDrm> JDrm::MakeDrm() {
sp<IServiceManager> sm = defaultServiceManager();
- sp<IDrm> drm;
-
- char value[PROPERTY_VALUE_MAX];
- if (property_get("media.mediadrmservice.enable", value, NULL)
- && (!strcmp("1", value) || !strcasecmp("true", value))) {
- sp<IBinder> binder =
- sm->getService(String16("media.drm"));
- sp<IMediaDrmService> service =
- interface_cast<IMediaDrmService>(binder);
- if (service == NULL) {
- return NULL;
- }
- drm = service->makeDrm();
- } else {
- sp<IBinder> binder =
- sm->getService(String16("media.player"));
- sp<IMediaPlayerService> service =
- interface_cast<IMediaPlayerService>(binder);
- if (service == NULL) {
- return NULL;
- }
- drm = service->makeDrm();
+
+ sp<IBinder> binder = sm->getService(String16("media.drm"));
+ sp<IMediaDrmService> service = interface_cast<IMediaDrmService>(binder);
+ if (service == NULL) {
+ return NULL;
}
+ sp<IDrm> drm = service->makeDrm();
if (drm == NULL || (drm->initCheck() != OK && drm->initCheck() != NO_INIT)) {
return NULL;
}