Merge "Remove MediaDrm stack from mediaserver" into nyc-dev
This commit is contained in:
@@ -33,6 +33,7 @@ LOCAL_SHARED_LIBRARIES := \
|
|||||||
libutils \
|
libutils \
|
||||||
libbinder \
|
libbinder \
|
||||||
libmedia \
|
libmedia \
|
||||||
|
libmediadrm \
|
||||||
libskia \
|
libskia \
|
||||||
libui \
|
libui \
|
||||||
liblog \
|
liblog \
|
||||||
|
|||||||
@@ -28,7 +28,6 @@
|
|||||||
#include <cutils/properties.h>
|
#include <cutils/properties.h>
|
||||||
#include <media/ICrypto.h>
|
#include <media/ICrypto.h>
|
||||||
#include <media/IMediaDrmService.h>
|
#include <media/IMediaDrmService.h>
|
||||||
#include <media/IMediaPlayerService.h>
|
|
||||||
#include <media/stagefright/foundation/ADebug.h>
|
#include <media/stagefright/foundation/ADebug.h>
|
||||||
|
|
||||||
namespace android {
|
namespace android {
|
||||||
@@ -63,30 +62,14 @@ JCrypto::~JCrypto() {
|
|||||||
// static
|
// static
|
||||||
sp<ICrypto> JCrypto::MakeCrypto() {
|
sp<ICrypto> JCrypto::MakeCrypto() {
|
||||||
sp<IServiceManager> sm = defaultServiceManager();
|
sp<IServiceManager> sm = defaultServiceManager();
|
||||||
sp<ICrypto> crypto;
|
|
||||||
|
|
||||||
char value[PROPERTY_VALUE_MAX];
|
sp<IBinder> binder = sm->getService(String16("media.drm"));
|
||||||
if (property_get("media.mediadrmservice.enable", value, NULL)
|
sp<IMediaDrmService> service = interface_cast<IMediaDrmService>(binder);
|
||||||
&& (!strcmp("1", value) || !strcasecmp("true", value))) {
|
if (service == NULL) {
|
||||||
sp<IBinder> binder =
|
return NULL;
|
||||||
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<ICrypto> crypto = service->makeCrypto();
|
||||||
if (crypto == NULL || (crypto->initCheck() != OK && crypto->initCheck() != NO_INIT)) {
|
if (crypto == NULL || (crypto->initCheck() != OK && crypto->initCheck() != NO_INIT)) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,7 +31,6 @@
|
|||||||
#include <cutils/properties.h>
|
#include <cutils/properties.h>
|
||||||
#include <media/IDrm.h>
|
#include <media/IDrm.h>
|
||||||
#include <media/IMediaDrmService.h>
|
#include <media/IMediaDrmService.h>
|
||||||
#include <media/IMediaPlayerService.h>
|
|
||||||
#include <media/stagefright/foundation/ADebug.h>
|
#include <media/stagefright/foundation/ADebug.h>
|
||||||
#include <media/stagefright/MediaErrors.h>
|
#include <media/stagefright/MediaErrors.h>
|
||||||
|
|
||||||
@@ -354,30 +353,14 @@ JDrm::~JDrm() {
|
|||||||
// static
|
// static
|
||||||
sp<IDrm> JDrm::MakeDrm() {
|
sp<IDrm> JDrm::MakeDrm() {
|
||||||
sp<IServiceManager> sm = defaultServiceManager();
|
sp<IServiceManager> sm = defaultServiceManager();
|
||||||
sp<IDrm> drm;
|
|
||||||
|
|
||||||
char value[PROPERTY_VALUE_MAX];
|
sp<IBinder> binder = sm->getService(String16("media.drm"));
|
||||||
if (property_get("media.mediadrmservice.enable", value, NULL)
|
sp<IMediaDrmService> service = interface_cast<IMediaDrmService>(binder);
|
||||||
&& (!strcmp("1", value) || !strcasecmp("true", value))) {
|
if (service == NULL) {
|
||||||
sp<IBinder> binder =
|
return NULL;
|
||||||
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<IDrm> drm = service->makeDrm();
|
||||||
if (drm == NULL || (drm->initCheck() != OK && drm->initCheck() != NO_INIT)) {
|
if (drm == NULL || (drm->initCheck() != OK && drm->initCheck() != NO_INIT)) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user