Merge "Add drm clearkey APEX" into main

This commit is contained in:
Jooyung Han
2023-09-18 01:37:21 +00:00
committed by Gerrit Code Review
4 changed files with 107 additions and 19 deletions

View File

@@ -7,6 +7,48 @@ package {
default_applicable_licenses: ["frameworks_av_license"],
}
cc_defaults {
name: "aidl_clearkey_service_defaults-use-shared-deps",
shared_libs: [
"libbase",
"libbinder_ndk",
"libcrypto",
"liblog",
"libprotobuf-cpp-lite",
"libutils",
"android.hardware.drm-V1-ndk",
],
static_libs: [
"android.hardware.common-V2-ndk",
"libclearkeybase",
"libjsoncpp",
],
}
cc_defaults {
name: "aidl_clearkey_service_defaults-use-static-deps",
stl: "c++_static",
shared_libs: [
"libbinder_ndk",
"libcrypto",
"liblog",
],
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,
@@ -24,22 +66,6 @@ cc_defaults {
include_dirs: ["frameworks/av/include"],
shared_libs: [
"libbase",
"libbinder_ndk",
"libcrypto",
"liblog",
"libprotobuf-cpp-lite",
"libutils",
"android.hardware.drm-V1-ndk",
],
static_libs: [
"android.hardware.common-V2-ndk",
"libclearkeybase",
"libjsoncpp",
],
local_include_dirs: ["include"],
sanitize: {
@@ -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,
}

View File

@@ -0,0 +1,7 @@
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

View File

@@ -0,0 +1,3 @@
(/.*)? 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

View File

@@ -0,0 +1,4 @@
{
"name": "com.android.hardware.drm.clearkey",
"version": 1
}