From 28b89a9b4fcd1b3822f20f242b175437ccb9b100 Mon Sep 17 00:00:00 2001 From: Iliyan Malchev Date: Fri, 14 Apr 2017 01:22:04 -0700 Subject: [PATCH] Route drm@1.0-service.widevine libbinder to /dev/vndbinder b/37309712: [Marlin/Sailfish] Fatal signal 6 (SIGABRT) when playing Exo Player L1 encrypted content Test: marlin Change-Id: I05b12ea334138498be13bca92c9b1db6ed1b9870 Signed-off-by: Iliyan Malchev --- libwvdrmengine/Android.mk | 1 + libwvdrmengine/src_hidl/service.cpp | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/libwvdrmengine/Android.mk b/libwvdrmengine/Android.mk index c0b98145..e29cd5e8 100644 --- a/libwvdrmengine/Android.mk +++ b/libwvdrmengine/Android.mk @@ -24,6 +24,7 @@ LOCAL_SHARED_LIBRARIES := \ liblog \ libutils \ libwvhidl \ + libbinder \ LOCAL_MODULE := android.hardware.drm@1.0-service.widevine LOCAL_INIT_RC := src_hidl/android.hardware.drm@1.0-service.widevine.rc diff --git a/libwvdrmengine/src_hidl/service.cpp b/libwvdrmengine/src_hidl/service.cpp index bcd7d3b1..276914fc 100644 --- a/libwvdrmengine/src_hidl/service.cpp +++ b/libwvdrmengine/src_hidl/service.cpp @@ -21,6 +21,8 @@ #include #include +#include + using ::android::hardware::configureRpcThreadpool; using ::android::hardware::joinRpcThreadpool; using ::android::sp; @@ -33,6 +35,10 @@ using wvdrm::hardware::drm::V1_0::widevine::WVDrmFactory; int main(int /* argc */, char** /* argv */) { ALOGD("android.hardware.drm@1.0-service.widevine starting..."); + // The DRM HAL may communicate to other vendor components via + // /dev/vndbinder + android::ProcessState::initWithDriver("/dev/vndbinder"); + sp drmFactory = new WVDrmFactory; sp cryptoFactory = new WVCryptoFactory;