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

Commit 0a8457b0 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add lazy service target for drm HAL"

parents 83993650 724a9fc6
Loading
Loading
Loading
Loading
+11 −27
Original line number Diff line number Diff line
@@ -19,39 +19,23 @@
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

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

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 \
include $(BUILD_EXECUTABLE)

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

LOCAL_HEADER_LIBRARIES := \
  media_plugin_headers
include $(CLEAR_VARS)

# 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
include $(LOCAL_PATH)/common_default_service.mk
LOCAL_MODULE := android.hardware.drm@1.0-service-lazy
LOCAL_OVERRIDES_MODULES := android.hardware.drm@1.0-service
LOCAL_INIT_RC := android.hardware.drm@1.0-service-lazy.rc
LOCAL_SRC_FILES := serviceLazy.cpp

include $(BUILD_EXECUTABLE)

+10 −0
Original line number 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 Diff line number Diff line
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
    user media
    group mediadrm drmrpc
+45 −0
Original line number 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 Diff line number Diff line
@@ -13,7 +13,6 @@
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
#define LOG_TAG "android.hardware.drm@1.0-service"

#include <1.0/default/CryptoFactory.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;

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 */);
    android::status_t status =
        registerPassthroughServiceImplementation<IDrmFactory>();
    android::status_t status = registerPassthroughServiceImplementation<IDrmFactory>();
    LOG_ALWAYS_FATAL_IF(
        status != android::OK,
        "Error while registering drm service: %d", status);
Loading