Loading drm/drmserver/drmserver.rc +0 −7 Original line number Diff line number Diff line service drm /system/bin/drmserver disabled class main user drm group drm system inet drmrpc readproc writepid /dev/cpuset/foreground/tasks on property:drm.service.enabled=true start drm on property:drm.service.enabled=1 start drm drm/libdrmframework/DrmManagerClientImpl.cpp +9 −6 Original line number Diff line number Diff line Loading @@ -52,22 +52,25 @@ void DrmManagerClientImpl::remove(int uniqueId) { const sp<IDrmManagerService>& DrmManagerClientImpl::getDrmManagerService() { Mutex::Autolock lock(sMutex); if (NULL == sDrmManagerService.get()) { char value[PROPERTY_VALUE_MAX]; if (property_get("drm.service.enabled", value, NULL) == 0) { // Drm is undefined for this device return sDrmManagerService; } sp<IServiceManager> sm = defaultServiceManager(); sp<IBinder> binder; for(int i = 0; i < 10; i++) { do { binder = sm->getService(String16("drm.drmManager")); if (binder != 0) { break; } ALOGW("DrmManagerService not published, waiting... %d", i); ALOGW("DrmManagerService not published, waiting..."); struct timespec reqt; reqt.tv_sec = 0; reqt.tv_nsec = 500000000; //0.5 sec nanosleep(&reqt, NULL); } if (binder == NULL) { return sDrmManagerService; } } while (true); if (NULL == sDeathNotifier.get()) { sDeathNotifier = new DeathNotifier(); } Loading Loading
drm/drmserver/drmserver.rc +0 −7 Original line number Diff line number Diff line service drm /system/bin/drmserver disabled class main user drm group drm system inet drmrpc readproc writepid /dev/cpuset/foreground/tasks on property:drm.service.enabled=true start drm on property:drm.service.enabled=1 start drm
drm/libdrmframework/DrmManagerClientImpl.cpp +9 −6 Original line number Diff line number Diff line Loading @@ -52,22 +52,25 @@ void DrmManagerClientImpl::remove(int uniqueId) { const sp<IDrmManagerService>& DrmManagerClientImpl::getDrmManagerService() { Mutex::Autolock lock(sMutex); if (NULL == sDrmManagerService.get()) { char value[PROPERTY_VALUE_MAX]; if (property_get("drm.service.enabled", value, NULL) == 0) { // Drm is undefined for this device return sDrmManagerService; } sp<IServiceManager> sm = defaultServiceManager(); sp<IBinder> binder; for(int i = 0; i < 10; i++) { do { binder = sm->getService(String16("drm.drmManager")); if (binder != 0) { break; } ALOGW("DrmManagerService not published, waiting... %d", i); ALOGW("DrmManagerService not published, waiting..."); struct timespec reqt; reqt.tv_sec = 0; reqt.tv_nsec = 500000000; //0.5 sec nanosleep(&reqt, NULL); } if (binder == NULL) { return sDrmManagerService; } } while (true); if (NULL == sDeathNotifier.get()) { sDeathNotifier = new DeathNotifier(); } Loading