Update of DRM framework
- Overload openDecryptSession() with uri parameter
in order to accept URI of DRM content,
Following API is added,
DecryptHandle*openDecryptSession(const char* uri);.
- Unify texisting three event types of processDrmInfo()
so that caller of DRM framework does not have to handle many event types.
- Let DrmManagerService call load/unload plugins API so that
client of DRM framework does not have to manage plug-in load/unload.
- Trivial fix in DrmManagerClient.java is also incorporated.
Changes are made by Sony Corporation.
Change-Id: If62b47fa0360718fdc943e6e6143671d7db26adc
This commit is contained in:
@@ -46,14 +46,6 @@ void DrmManagerClientImpl::remove(int uniqueId) {
|
||||
getDrmManagerService()->removeUniqueId(uniqueId);
|
||||
}
|
||||
|
||||
DrmManagerClientImpl::DrmManagerClientImpl() {
|
||||
|
||||
}
|
||||
|
||||
DrmManagerClientImpl::~DrmManagerClientImpl() {
|
||||
|
||||
}
|
||||
|
||||
const sp<IDrmManagerService>& DrmManagerClientImpl::getDrmManagerService() {
|
||||
mMutex.lock();
|
||||
if (NULL == mDrmManagerService.get()) {
|
||||
@@ -77,16 +69,12 @@ const sp<IDrmManagerService>& DrmManagerClientImpl::getDrmManagerService() {
|
||||
return mDrmManagerService;
|
||||
}
|
||||
|
||||
status_t DrmManagerClientImpl::loadPlugIns(int uniqueId) {
|
||||
return getDrmManagerService()->loadPlugIns(uniqueId);
|
||||
void DrmManagerClientImpl::addClient(int uniqueId) {
|
||||
getDrmManagerService()->addClient(uniqueId);
|
||||
}
|
||||
|
||||
status_t DrmManagerClientImpl::loadPlugIns(int uniqueId, const String8& plugInDirPath) {
|
||||
status_t status = DRM_ERROR_UNKNOWN;
|
||||
if (EMPTY_STRING != plugInDirPath) {
|
||||
status = getDrmManagerService()->loadPlugIns(uniqueId, plugInDirPath);
|
||||
}
|
||||
return status;
|
||||
void DrmManagerClientImpl::removeClient(int uniqueId) {
|
||||
getDrmManagerService()->removeClient(uniqueId);
|
||||
}
|
||||
|
||||
status_t DrmManagerClientImpl::setOnInfoListener(
|
||||
@@ -96,10 +84,6 @@ status_t DrmManagerClientImpl::setOnInfoListener(
|
||||
return getDrmManagerService()->setDrmServiceListener(uniqueId, this);
|
||||
}
|
||||
|
||||
status_t DrmManagerClientImpl::unloadPlugIns(int uniqueId) {
|
||||
return getDrmManagerService()->unloadPlugIns(uniqueId);
|
||||
}
|
||||
|
||||
status_t DrmManagerClientImpl::installDrmEngine(int uniqueId, const String8& drmEngineFile) {
|
||||
status_t status = DRM_ERROR_UNKNOWN;
|
||||
if (EMPTY_STRING != drmEngineFile) {
|
||||
@@ -251,6 +235,14 @@ DecryptHandle* DrmManagerClientImpl::openDecryptSession(
|
||||
return getDrmManagerService()->openDecryptSession(uniqueId, fd, offset, length);
|
||||
}
|
||||
|
||||
DecryptHandle* DrmManagerClientImpl::openDecryptSession(int uniqueId, const char* uri) {
|
||||
DecryptHandle* handle = NULL;
|
||||
if (NULL != uri) {
|
||||
handle = getDrmManagerService()->openDecryptSession(uniqueId, uri);
|
||||
}
|
||||
return handle;
|
||||
}
|
||||
|
||||
status_t DrmManagerClientImpl::closeDecryptSession(int uniqueId, DecryptHandle* decryptHandle) {
|
||||
status_t status = DRM_ERROR_UNKNOWN;
|
||||
if (NULL != decryptHandle) {
|
||||
|
||||
Reference in New Issue
Block a user