Use aidl interface for Widevine service.
The interface is defined in hardware/interfaces/drm/aidl(http://go/ag/15329852). Test: build m android.hardware.drm-service.widevine -j128 Test: build_and_run_all_unit_tests.sh for hidl tests Test: atest VtsAidlHalDrmTargetTest Bug: 200055138 Bug: 170964303 Change-Id: If2f2a129914436ba5cef1c46f6cb9415e12c3d1c
This commit is contained in:
@@ -114,6 +114,29 @@ cc_defaults {
|
||||
],
|
||||
}
|
||||
|
||||
cc_defaults {
|
||||
name: "common_widevine_service-multilib-defaults-aidl",
|
||||
owner: "widevine",
|
||||
proprietary: true,
|
||||
relative_install_path: "hw",
|
||||
include_dirs: [
|
||||
"vendor/widevine/libwvdrmengine/aidl_include",
|
||||
"vendor/widevine/libwvdrmengine/mediadrm/aidl_include",
|
||||
"vendor/widevine/libwvdrmengine/oemcrypto/include",
|
||||
],
|
||||
header_libs: ["libstagefright_foundation_headers"],
|
||||
|
||||
shared_libs: [
|
||||
"android.hardware.drm-V1-ndk",
|
||||
"libbase",
|
||||
"libbinder_ndk",
|
||||
"liblog",
|
||||
"libhwbinder",
|
||||
"libutils",
|
||||
"libwvaidl",
|
||||
],
|
||||
}
|
||||
|
||||
cc_defaults {
|
||||
name: "common_widevine_service-multilib-defaults",
|
||||
defaults: [
|
||||
@@ -227,7 +250,26 @@ cc_binary {
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Builds libcdm_utils.a
|
||||
// Builds android.hardware.drm-service.widevine
|
||||
//
|
||||
cc_binary {
|
||||
name: "android.hardware.drm-service.widevine",
|
||||
defaults: [
|
||||
"common_widevine_service-multilib-first",
|
||||
"common_widevine_service-multilib-defaults-aidl",
|
||||
],
|
||||
|
||||
srcs: ["aidl_src/service.cpp"],
|
||||
|
||||
shared_libs: ["libbinder"],
|
||||
|
||||
init_rc: ["aidl_src/android.hardware.drm-service.widevine.rc"],
|
||||
vintf_fragments: ["manifest_android.hardware.drm-service.widevine.xml"],
|
||||
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Builds libcdm_utils.a and libcdm_utils_hidl.a
|
||||
//
|
||||
|
||||
cdm_util_src_files = [
|
||||
@@ -244,6 +286,40 @@ cdm_util_src_files = [
|
||||
"cdm/util/src/string_conversions.cpp",
|
||||
]
|
||||
|
||||
cc_library_static {
|
||||
|
||||
name: "libcdm_utils_hidl",
|
||||
|
||||
proprietary: true,
|
||||
|
||||
include_dirs: [
|
||||
"vendor/widevine/libwvdrmengine/cdm/core/include",
|
||||
"vendor/widevine/libwvdrmengine/cdm/include",
|
||||
"vendor/widevine/libwvdrmengine/cdm/util/include",
|
||||
"vendor/widevine/libwvdrmengine/oemcrypto/include",
|
||||
],
|
||||
|
||||
header_libs: [
|
||||
"libbase_headers",
|
||||
"libutils_headers",
|
||||
],
|
||||
|
||||
shared_libs: [
|
||||
"libbinder",
|
||||
"libcrypto",
|
||||
"libhidlbase",
|
||||
"liblog",
|
||||
],
|
||||
|
||||
cflags: [
|
||||
"-DCORE_UTIL_IMPLEMENTATION",
|
||||
"-DIS_HIDL",
|
||||
],
|
||||
|
||||
srcs: cdm_util_src_files,
|
||||
|
||||
}
|
||||
|
||||
cc_library_static {
|
||||
|
||||
name: "libcdm_utils",
|
||||
@@ -263,9 +339,10 @@ cc_library_static {
|
||||
],
|
||||
|
||||
shared_libs: [
|
||||
"liblog",
|
||||
"libbinder",
|
||||
"libcrypto",
|
||||
"libhidlbase",
|
||||
"liblog",
|
||||
],
|
||||
|
||||
cflags: ["-DCORE_UTIL_IMPLEMENTATION"],
|
||||
@@ -297,7 +374,7 @@ cc_library_shared {
|
||||
"vendor/widevine/libwvdrmengine/cdm/util/include",
|
||||
"vendor/widevine/libwvdrmengine/cdm/include",
|
||||
"vendor/widevine/libwvdrmengine/include",
|
||||
"vendor/widevine/libwvdrmengine/include_hidl",
|
||||
"vendor/widevine/libwvdrmengine/include_hidl",
|
||||
"vendor/widevine/libwvdrmengine/mediacrypto/include_hidl",
|
||||
"vendor/widevine/libwvdrmengine/mediadrm/include_hidl",
|
||||
"vendor/widevine/libwvdrmengine/oemcrypto/include",
|
||||
@@ -306,7 +383,7 @@ cc_library_shared {
|
||||
static_libs: [
|
||||
"libcdm",
|
||||
"libcdm_protos",
|
||||
"libcdm_utils",
|
||||
"libcdm_utils_hidl",
|
||||
"libjsmn",
|
||||
"libwvdrmcryptoplugin_hidl",
|
||||
"libwvdrmdrmplugin_hidl",
|
||||
@@ -379,3 +456,73 @@ cc_prebuilt_library_shared {
|
||||
proprietary: true,
|
||||
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Builds libwvaidl.so
|
||||
//
|
||||
cc_library_shared {
|
||||
name: "libwvaidl",
|
||||
|
||||
srcs: [
|
||||
"src/WVCDMSingleton.cpp",
|
||||
"src/WVUUID.cpp",
|
||||
"aidl_src/wv_metrics.cpp",
|
||||
"aidl_src/WVCreatePluginFactories.cpp",
|
||||
"aidl_src/WVCryptoFactory.cpp",
|
||||
"aidl_src/WVDrmFactory.cpp",
|
||||
],
|
||||
|
||||
include_dirs: [
|
||||
"frameworks/av/include",
|
||||
"frameworks/native/include",
|
||||
"vendor/widevine/libwvdrmengine/cdm/core/include",
|
||||
"vendor/widevine/libwvdrmengine/cdm/metrics/include",
|
||||
"vendor/widevine/libwvdrmengine/cdm/util/include",
|
||||
"vendor/widevine/libwvdrmengine/cdm/include",
|
||||
"vendor/widevine/libwvdrmengine/aidl_include",
|
||||
"vendor/widevine/libwvdrmengine/include",
|
||||
"vendor/widevine/libwvdrmengine/mediacrypto/aidl_include",
|
||||
"vendor/widevine/libwvdrmengine/mediadrm/aidl_include",
|
||||
"vendor/widevine/libwvdrmengine/oemcrypto/include",
|
||||
],
|
||||
|
||||
static_libs: [
|
||||
"android.hardware.common-V2-ndk",
|
||||
"libaidlcommonsupport",
|
||||
"libcdm",
|
||||
"libcdm_protos",
|
||||
"libcdm_utils",
|
||||
"libjsmn",
|
||||
"libwvdrmcryptoplugin_aidl",
|
||||
"libwvdrmdrmplugin_aidl",
|
||||
"libwvlevel3",
|
||||
"libwv_odk",
|
||||
],
|
||||
|
||||
shared_libs: [
|
||||
"android.hardware.drm-V1-ndk",
|
||||
"libbase",
|
||||
"libbinder",
|
||||
"libbinder_ndk",
|
||||
"libcrypto",
|
||||
"libcutils",
|
||||
"libdl",
|
||||
"liblog",
|
||||
"libprotobuf-cpp-lite",
|
||||
"libutils",
|
||||
],
|
||||
|
||||
header_libs: ["libstagefright_foundation_headers"],
|
||||
|
||||
owner: "widevine",
|
||||
|
||||
proprietary: true,
|
||||
|
||||
}
|
||||
|
||||
phony {
|
||||
name: "android.hardware.drm@latest-service.widevine",
|
||||
required: [
|
||||
"android.hardware.drm-service.widevine",
|
||||
],
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user