summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Kalauskas <peskal@google.com>2018-11-12 12:34:42 -0800
committerPeter Kalauskas <peskal@google.com>2019-01-14 15:10:26 -0800
commitca5642cd9ccd95cae88dd9204958419e279ea532 (patch)
treef53b445fe98b892083c1ea735980d9b7ac7907f4
parent8292a716361d0f02de2b79242aec4630664bc770 (diff)
downloadframeworks_av-ca5642cd9ccd95cae88dd9204958419e279ea532.tar.gz
frameworks_av-ca5642cd9ccd95cae88dd9204958419e279ea532.tar.bz2
frameworks_av-ca5642cd9ccd95cae88dd9204958419e279ea532.zip
List drm HALs from manifest
To support lazy drm HALs, libmediadrm needs to list all available HALs that are defined in the manifest. Otherwise, it will only list HALs that are currently running. This change is necessary because lazy HALs do not run until they are requested. Without this change, libmediadrm would not be aware that the lazy HALs are present, and it would not know to call getService() to start them. Test: Run gts Bug: 112386116 Change-Id: I9b41c60d574b9c8c857b8838a5bbdc64388c9ddb
-rw-r--r--drm/libmediadrm/DrmHal.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/drm/libmediadrm/DrmHal.cpp b/drm/libmediadrm/DrmHal.cpp
index 66c509f647..981bd5b03a 100644
--- a/drm/libmediadrm/DrmHal.cpp
+++ b/drm/libmediadrm/DrmHal.cpp
@@ -24,7 +24,7 @@
#include <binder/IServiceManager.h>
#include <android/hardware/drm/1.2/types.h>
-#include <android/hidl/manager/1.0/IServiceManager.h>
+#include <android/hidl/manager/1.2/IServiceManager.h>
#include <hidl/ServiceManagement.h>
#include <media/EventMetric.h>
@@ -333,10 +333,10 @@ void DrmHal::cleanup() {
Vector<sp<IDrmFactory>> DrmHal::makeDrmFactories() {
Vector<sp<IDrmFactory>> factories;
- auto manager = hardware::defaultServiceManager();
+ auto manager = hardware::defaultServiceManager1_2();
if (manager != NULL) {
- manager->listByInterface(drm::V1_0::IDrmFactory::descriptor,
+ manager->listManifestByInterface(drm::V1_0::IDrmFactory::descriptor,
[&factories](const hidl_vec<hidl_string> &registered) {
for (const auto &instance : registered) {
auto factory = drm::V1_0::IDrmFactory::getService(instance);
@@ -346,7 +346,7 @@ Vector<sp<IDrmFactory>> DrmHal::makeDrmFactories() {
}
}
);
- manager->listByInterface(drm::V1_1::IDrmFactory::descriptor,
+ manager->listManifestByInterface(drm::V1_1::IDrmFactory::descriptor,
[&factories](const hidl_vec<hidl_string> &registered) {
for (const auto &instance : registered) {
auto factory = drm::V1_1::IDrmFactory::getService(instance);