Add liboemcrypto.so as required by WV APEX
[ Merge of go/wvgerrit/164757 ] Modify Widevine apex configuration to add add liboemcrypto.so as required by WV APEX. Bug: 243699259 Test: atp v2/widevine-eng/drm_compliance Change-Id: I136dde5d77aed4fb14737e4692153c8f3b2c701b
This commit is contained in:
@@ -65,7 +65,6 @@ apex {
|
||||
manifest: "apex_manifest.json",
|
||||
prebuilts: [
|
||||
"com.google.android.widevine.rc",
|
||||
"widevine-linker-config",
|
||||
"com.google.android.widevine.xml", // etc/vintf
|
||||
],
|
||||
defaults: [
|
||||
@@ -83,12 +82,6 @@ apex {
|
||||
],
|
||||
}
|
||||
|
||||
linker_config {
|
||||
name: "widevine-linker-config",
|
||||
src: "linker.config.json",
|
||||
installable: false,
|
||||
}
|
||||
|
||||
apex_key {
|
||||
name: "com.google.android.widevine.key",
|
||||
public_key: "com.google.android.widevine.avbpubkey",
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
{
|
||||
"name": "com.google.android.widevine",
|
||||
"version": 1
|
||||
"version": 1,
|
||||
"requireNativeLibs": [
|
||||
"liboemcrypto.so"
|
||||
]
|
||||
}
|
||||
5
libwvdrmengine/apex/device/Android.bp
Normal file
5
libwvdrmengine/apex/device/Android.bp
Normal file
@@ -0,0 +1,5 @@
|
||||
linker_config {
|
||||
name: "widevine_linker_config",
|
||||
src: "linker.config.json",
|
||||
vendor: true,
|
||||
}
|
||||
10
libwvdrmengine/apex/device/device.mk
Normal file
10
libwvdrmengine/apex/device/device.mk
Normal file
@@ -0,0 +1,10 @@
|
||||
PRODUCT_PACKAGES += \
|
||||
com.google.android.widevine \
|
||||
|
||||
# Check if we can use dev keys
|
||||
ifneq ($(wildcard vendor/google/dev-keystore),)
|
||||
$(call soong_config_set,widevine,use_devkey,true)
|
||||
endif
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
widevine_linker_config
|
||||
5
libwvdrmengine/apex/device/linker.config.json
Normal file
5
libwvdrmengine/apex/device/linker.config.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"provideLibs": [
|
||||
"liboemcrypto.so"
|
||||
]
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"permittedPaths": ["/vendor/${LIB}"]
|
||||
}
|
||||
@@ -849,16 +849,15 @@ class Adapter {
|
||||
wvcdm::metrics::OEMCrypto_INITIALIZED_USING_L3_NO_L1_LIBRARY_PATH);
|
||||
return result;
|
||||
}
|
||||
if (level1_library_ == nullptr) {
|
||||
if (!level1_library_) {
|
||||
for (auto& name : library_names) {
|
||||
level1_library_ = dlopen((name.c_str()), RTLD_NOW);
|
||||
if (level1_library_) {
|
||||
LOGV("Using oemcrypto path %s", name.c_str());
|
||||
break;
|
||||
if (!level1_library_) {
|
||||
LOGW("Could not load oemcrypto from path %s. %s", name.c_str(), dlerror());
|
||||
}
|
||||
}
|
||||
if (level1_library_ == nullptr) {
|
||||
LOGW("Could not load oemcrypto. Falling back to L3. %s", dlerror());
|
||||
if (!level1_library_) {
|
||||
LOGW("Could not load oemcrypto. Falling back to L3.");
|
||||
metrics.OemCryptoDynamicAdapterMetrics::SetInitializationMode(
|
||||
wvcdm::metrics::OEMCrypto_INITIALIZED_USING_L3_L1_OPEN_FAILED);
|
||||
return result;
|
||||
|
||||
@@ -180,18 +180,9 @@ bool Properties::GetOEMCryptoPaths(std::vector<std::string>* library_names) {
|
||||
LOGW("Properties::GetOEMCryptoPath: Invalid parameter");
|
||||
return false;
|
||||
}
|
||||
std::vector<std::string> library_paths = {"/vendor/", "/system/", "/odm/"};
|
||||
std::string sub_dir;
|
||||
#if __LP64__
|
||||
sub_dir = "lib64/";
|
||||
#else
|
||||
sub_dir = "lib/";
|
||||
#endif
|
||||
|
||||
const std::string library_name = "liboemcrypto.so";
|
||||
for (auto& path : library_paths) {
|
||||
library_names->push_back(path + sub_dir + library_name);
|
||||
}
|
||||
library_names->push_back("liboemcrypto.so");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user