Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit efcd6c67 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Revert "DrmManager: check drm.service.enabled in init"" into sc-dev am: 52a8c1e6

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/15275951

Change-Id: Id12431c5d9f5f19c93554cc61e4a5f7f28f43396
parents 0f3c7152 52a8c1e6
Loading
Loading
Loading
Loading
+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
+9 −6
Original line number Diff line number Diff line
@@ -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();
        }