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

Commit 724a9fc6 authored by Peter Kalauskas's avatar Peter Kalauskas
Browse files

Add lazy service target for drm HAL

Test: Run gts on Pixel 1/2/3, marlin_svelte, and walleye_svelte
Bug: 112386116
Change-Id: I5d86e3158794ebae967efb009a0cef8cd140ccb7
parent a885b5d9
Loading
Loading
Loading
Loading
+11 −27
Original line number Original line Diff line number Diff line
@@ -19,39 +19,23 @@
LOCAL_PATH := $(call my-dir)
LOCAL_PATH := $(call my-dir)


include $(CLEAR_VARS)
include $(CLEAR_VARS)

include $(LOCAL_PATH)/common_default_service.mk
LOCAL_MODULE := android.hardware.drm@1.0-service
LOCAL_MODULE := android.hardware.drm@1.0-service
LOCAL_INIT_RC := android.hardware.drm@1.0-service.rc
LOCAL_INIT_RC := android.hardware.drm@1.0-service.rc
LOCAL_PROPRIETARY_MODULE := true
LOCAL_SRC_FILES := service.cpp
LOCAL_MODULE_RELATIVE_PATH := hw
LOCAL_SRC_FILES := \
  service.cpp \


LOCAL_SHARED_LIBRARIES := \
include $(BUILD_EXECUTABLE)
  android.hardware.drm@1.0 \
  android.hidl.memory@1.0 \
  libhidlbase \
  libhidltransport \
  libhardware \
  liblog \
  libutils \
  libbinder \

LOCAL_STATIC_LIBRARIES := \
  android.hardware.drm@1.0-helper \


LOCAL_C_INCLUDES := \
############# Build legacy drm lazy service ############
  hardware/interfaces/drm


LOCAL_HEADER_LIBRARIES := \
include $(CLEAR_VARS)
  media_plugin_headers


# TODO(b/18948909) Some legacy DRM plugins only support 32-bit. They need to be
include $(LOCAL_PATH)/common_default_service.mk
# migrated to 64-bit. Once all of a device's legacy DRM plugins support 64-bit,
LOCAL_MODULE := android.hardware.drm@1.0-service-lazy
# that device can turn on TARGET_ENABLE_MEDIADRM_64 to build this service as
LOCAL_OVERRIDES_MODULES := android.hardware.drm@1.0-service
# 64-bit.
LOCAL_INIT_RC := android.hardware.drm@1.0-service-lazy.rc
ifneq ($(TARGET_ENABLE_MEDIADRM_64), true)
LOCAL_SRC_FILES := serviceLazy.cpp
LOCAL_32_BIT_ONLY := true
endif


include $(BUILD_EXECUTABLE)
include $(BUILD_EXECUTABLE)


+10 −0
Original line number Original line Diff line number Diff line
service vendor.drm-hal-1-0 /vendor/bin/hw/android.hardware.drm@1.0-service-lazy
    interface android.hardware.drm@1.0::ICryptoFactory default
    interface android.hardware.drm@1.0::IDrmFactory default
    oneshot
    disabled
    class hal
    user media
    group mediadrm drmrpc
    ioprio rt 4
    writepid /dev/cpuset/foreground/tasks
+2 −0
Original line number Original line Diff line number Diff line
service vendor.drm-hal-1-0 /vendor/bin/hw/android.hardware.drm@1.0-service
service vendor.drm-hal-1-0 /vendor/bin/hw/android.hardware.drm@1.0-service
    interface android.hardware.drm@1.0::ICryptoFactory default
    interface android.hardware.drm@1.0::IDrmFactory default
    class hal
    class hal
    user media
    user media
    group mediadrm drmrpc
    group mediadrm drmrpc
+45 −0
Original line number Original line Diff line number Diff line
#
# Copyright (C) 2019 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
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

include $(CLEAR_VARS)
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_RELATIVE_PATH := hw

LOCAL_SHARED_LIBRARIES := \
  android.hardware.drm@1.0 \
  android.hidl.memory@1.0 \
  libhidlbase \
  libhidltransport \
  libhardware \
  liblog \
  libutils \
  libbinder \

LOCAL_STATIC_LIBRARIES := \
  android.hardware.drm@1.0-helper \

LOCAL_C_INCLUDES := \
  hardware/interfaces/drm

LOCAL_HEADER_LIBRARIES := \
  media_plugin_headers

# TODO(b/18948909) Some legacy DRM plugins only support 32-bit. They need to be
# migrated to 64-bit. Once all of a device's legacy DRM plugins support 64-bit,
# that device can turn on TARGET_ENABLE_MEDIADRM_64 to build this service as
# 64-bit.
ifneq ($(TARGET_ENABLE_MEDIADRM_64), true)
LOCAL_32_BIT_ONLY := true
endif
+1 −9
Original line number Original line Diff line number Diff line
@@ -13,7 +13,6 @@
 * See the License for the specific language governing permissions and
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * limitations under the License.
 */
 */
#define LOG_TAG "android.hardware.drm@1.0-service"


#include <1.0/default/CryptoFactory.h>
#include <1.0/default/CryptoFactory.h>
#include <1.0/default/DrmFactory.h>
#include <1.0/default/DrmFactory.h>
@@ -31,15 +30,8 @@ using android::hardware::drm::V1_0::ICryptoFactory;
using android::hardware::drm::V1_0::IDrmFactory;
using android::hardware::drm::V1_0::IDrmFactory;


int main() {
int main() {
    ALOGD("android.hardware.drm@1.0-service starting...");

    // The DRM HAL may communicate to other vendor components via
    // /dev/vndbinder
    android::ProcessState::initWithDriver("/dev/vndbinder");

    configureRpcThreadpool(8, true /* callerWillJoin */);
    configureRpcThreadpool(8, true /* callerWillJoin */);
    android::status_t status =
    android::status_t status = registerPassthroughServiceImplementation<IDrmFactory>();
        registerPassthroughServiceImplementation<IDrmFactory>();
    LOG_ALWAYS_FATAL_IF(
    LOG_ALWAYS_FATAL_IF(
        status != android::OK,
        status != android::OK,
        "Error while registering drm service: %d", status);
        "Error while registering drm service: %d", status);
Loading