]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - android/platform-hardware-interfaces.git/commitdiff
Fix failing drm 1.0 vts tests
authorJeff Tinker <jtinker@google.com>
Thu, 19 Jul 2018 23:31:56 +0000 (16:31 -0700)
committerJeff Tinker <jtinker@google.com>
Thu, 13 Sep 2018 00:39:42 +0000 (00:39 +0000)
The shared library path was incorrectly set based on
the drm.64bit.enabled flag. It should be set based
on whether the drm service is running as 32-bit or
64-bit.

Test: vts-tradefed run commandAndExit vts -m VtsHalDrmV1_0Target

bug:111289939
Change-Id: I388dc87bd4566211dc2901feccf1e6e1c90bfe67
Merged-In: I388dc87bd4566211dc2901feccf1e6e1c90bfe67

drm/1.0/default/DrmFactory.cpp
drm/1.0/default/LegacyPluginPath.cpp
drm/1.0/default/include/PluginLoader.h

index 7e5d998e4f483d371849868d374e73a0bd0b5ec3..05951d7c02ce37be1be56cde94c134137041a35f 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2016 The Android Open Source Project
-` *
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
index 369059d2c7e06f838842447fe588670347175308..d0a8f90a77a171d4bc75cf7f0d9124d7dc3aca47 100644 (file)
@@ -16,6 +16,8 @@
 
 #include "LegacyPluginPath.h"
 
+#include <unistd.h>
+
 #include <cutils/properties.h>
 
 namespace android {
@@ -24,12 +26,16 @@ namespace drm {
 namespace V1_0 {
 namespace implementation {
 
+// 64-bit DRM depends on OEM libraries that aren't
+// provided for all devices. If the drm hal service
+// is running as 64-bit use the 64-bit libs, otherwise
+// use the 32-bit libs.
 const char* getDrmPluginPath() {
-    if (property_get_bool("drm.64bit.enabled", false)) {
-        return "/vendor/lib64/mediadrm";
-    } else {
-        return "/vendor/lib/mediadrm";
-    }
+#if defined(__LP64__)
+    return "/vendor/lib64/mediadrm";
+#else
+    return "/vendor/lib/mediadrm";
+#endif
 }
 
 }  // namespace implementation
index f387b3cbc54f4094616ad07c19de456a7a3b903e..0c45fb3efda92c1a09ca8a2fb963dcae03c3a08d 100644 (file)
@@ -85,7 +85,10 @@ class PluginLoader {
                 libraries.push(library);
                 T* result = createFactoryFunc();
                 return  result;
-           }
+            } else {
+                ALOGE("Failed to lookup symbol %s in library %s: %s",
+                        entry, path, library->lastError());
+            }
         }
         return NULL;
     }