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

Commit 66c4eddb authored by Jooyung Han's avatar Jooyung Han Committed by Gerrit Code Review
Browse files

Merge "Add drm clearkey APEX" into main

parents c5fb9af6 b275410b
Loading
Loading
Loading
Loading
+91 −17
Original line number Diff line number Diff line
@@ -8,37 +8,63 @@ package {
}

cc_defaults {
    name: "aidl_clearkey_service_defaults",
    vendor: true,
    name: "aidl_clearkey_service_defaults-use-shared-deps",

    srcs: [
        "CreatePluginFactories.cpp",
        "CryptoPlugin.cpp",
        "DrmFactory.cpp",
        "DrmPlugin.cpp",
    shared_libs: [
        "libbase",
        "libbinder_ndk",
        "libcrypto",
        "liblog",
        "libprotobuf-cpp-lite",
        "libutils",
        "android.hardware.drm-V1-ndk",
    ],

    relative_install_path: "hw",
    static_libs: [
        "android.hardware.common-V2-ndk",
        "libclearkeybase",
        "libjsoncpp",
    ],
}

    cflags: ["-Wall", "-Werror", "-Wthread-safety"],
cc_defaults {
    name: "aidl_clearkey_service_defaults-use-static-deps",

    include_dirs: ["frameworks/av/include"],
    stl: "c++_static",

    shared_libs: [
        "libbase",
        "libbinder_ndk",
        "libcrypto",
        "liblog",
        "libprotobuf-cpp-lite",
        "libutils",
        "android.hardware.drm-V1-ndk",
    ],

    static_libs: [
        "android.hardware.common-V2-ndk",
        "android.hardware.drm-V1-ndk",
        "libbase",
        "libclearkeybase",
        "libjsoncpp",
        "libprotobuf-cpp-lite",
        "libutils",
    ],
}

cc_defaults {
    name: "aidl_clearkey_service_defaults",
    vendor: true,

    srcs: [
        "CreatePluginFactories.cpp",
        "CryptoPlugin.cpp",
        "DrmFactory.cpp",
        "DrmPlugin.cpp",
    ],

    relative_install_path: "hw",

    cflags: ["-Wall", "-Werror", "-Wthread-safety"],

    include_dirs: ["frameworks/av/include"],

    local_include_dirs: ["include"],

@@ -49,7 +75,10 @@ cc_defaults {

cc_binary {
    name: "android.hardware.drm-service.clearkey",
    defaults: ["aidl_clearkey_service_defaults"],
    defaults: [
        "aidl_clearkey_service_defaults",
        "aidl_clearkey_service_defaults-use-shared-deps",
    ],
    srcs: ["Service.cpp"],
    init_rc: ["android.hardware.drm-service.clearkey.rc"],
    vintf_fragments: ["android.hardware.drm-service.clearkey.xml"],
@@ -57,17 +86,31 @@ cc_binary {

cc_binary {
    name: "android.hardware.drm-service-lazy.clearkey",
    defaults: ["aidl_clearkey_service_defaults"],
    defaults: [
        "aidl_clearkey_service_defaults",
        "aidl_clearkey_service_defaults-use-shared-deps",
    ],
    overrides: ["android.hardware.drm-service.clearkey"],
    srcs: ["ServiceLazy.cpp"],
    init_rc: ["android.hardware.drm-service-lazy.clearkey.rc"],
    vintf_fragments: ["android.hardware.drm-service.clearkey.xml"],
}

cc_binary {
    name: "android.hardware.drm-service.clearkey.apex",
    stem: "android.hardware.drm-service.clearkey",
    defaults: [
        "aidl_clearkey_service_defaults",
        "aidl_clearkey_service_defaults-use-static-deps",
    ],
    srcs: ["Service.cpp"],
    installable: false, // installed in APEX
}

phony {
    name: "android.hardware.drm@latest-service.clearkey",
    required: [
        "android.hardware.drm-service.clearkey",
        "com.android.hardware.drm.clearkey",
    ],
}

@@ -123,3 +166,34 @@ cc_fuzz {
        ],
    },
}

apex {
    name: "com.android.hardware.drm.clearkey",
    manifest: "manifest.json",
    file_contexts: "file_contexts",
    key: "com.android.hardware.key",
    certificate: ":com.android.hardware.certificate",
    vendor: true,
    updatable: false,

    binaries: [
        "android.hardware.drm-service.clearkey.apex",
    ],
    prebuilts: [
        "android.hardware.drm-service.clearkey.apex.rc",
        "android.hardware.drm-service.clearkey.xml"
    ],
}

prebuilt_etc {
    name: "android.hardware.drm-service.clearkey.apex.rc",
    src: "android.hardware.drm-service.clearkey.apex.rc",
    installable: false,
}

prebuilt_etc {
    name: "android.hardware.drm-service.clearkey.xml",
    src: "android.hardware.drm-service.clearkey.xml",
    sub_dir: "vintf",
    installable: false,
}
+7 −0
Original line number Diff line number Diff line
service vendor.drm-clearkey-service /apex/com.android.hardware.drm.clearkey/bin/hw/android.hardware.drm-service.clearkey
    class hal
    user media
    group mediadrm drmrpc
    ioprio rt 4
    task_profiles ProcessCapacityHigh
    interface aidl android.hardware.drm.IDrmFactory/clearkey
+3 −0
Original line number Diff line number Diff line
(/.*)?                                                      u:object_r:vendor_file:s0
/etc(/.*)?                                                  u:object_r:vendor_configs_file:s0
/bin/hw/android\.hardware\.drm-service(-lazy)?\.clearkey    u:object_r:hal_drm_clearkey_aidl_exec:s0
+4 −0
Original line number Diff line number Diff line
{
  "name": "com.android.hardware.drm.clearkey",
  "version": 1
}