From b305c80409dd967622fd45ee7762f12ce654b4e1 Mon Sep 17 00:00:00 2001 From: bohu Date: Sat, 30 Jan 2021 19:14:05 -0800 Subject: [PATCH] mediacas: make it also work on 64bit only guest BUG: 178885191 Change-Id: I15d711dee366f7c39d6a89aecf34c9503bf32da8 --- cas/1.0/default/Android.bp | 2 +- cas/1.0/default/FactoryLoader.h | 10 ++++++++++ cas/1.1/default/Android.bp | 2 +- cas/1.1/default/FactoryLoader.h | 8 ++++++++ cas/1.2/default/Android.bp | 2 +- cas/1.2/default/FactoryLoader.h | 8 ++++++++ 6 files changed, 29 insertions(+), 3 deletions(-) diff --git a/cas/1.0/default/Android.bp b/cas/1.0/default/Android.bp index f9977ff7be..70f4371e0b 100644 --- a/cas/1.0/default/Android.bp +++ b/cas/1.0/default/Android.bp @@ -12,7 +12,7 @@ cc_defaults { "TypeConvert.cpp", ], - compile_multilib: "32", + compile_multilib: "prefer32", shared_libs: [ "android.hardware.cas@1.0", diff --git a/cas/1.0/default/FactoryLoader.h b/cas/1.0/default/FactoryLoader.h index 18c2186dcb..45e515afbf 100644 --- a/cas/1.0/default/FactoryLoader.h +++ b/cas/1.0/default/FactoryLoader.h @@ -92,7 +92,12 @@ bool FactoryLoader::findFactoryForScheme( } // no luck, have to search +#ifdef __LP64__ + String8 dirPath("/vendor/lib64/mediacas"); +#else String8 dirPath("/vendor/lib/mediacas"); +#endif + DIR* pDir = opendir(dirPath.string()); if (pDir == NULL) { @@ -127,7 +132,12 @@ bool FactoryLoader::enumeratePlugins( results->clear(); +#ifdef __LP64__ + String8 dirPath("/vendor/lib64/mediacas"); +#else String8 dirPath("/vendor/lib/mediacas"); +#endif + DIR* pDir = opendir(dirPath.string()); if (pDir == NULL) { diff --git a/cas/1.1/default/Android.bp b/cas/1.1/default/Android.bp index 66a1eb8804..8e1f20772d 100644 --- a/cas/1.1/default/Android.bp +++ b/cas/1.1/default/Android.bp @@ -12,7 +12,7 @@ cc_defaults { "TypeConvert.cpp", ], - compile_multilib: "32", + compile_multilib: "prefer32", shared_libs: [ "android.hardware.cas@1.0", diff --git a/cas/1.1/default/FactoryLoader.h b/cas/1.1/default/FactoryLoader.h index c4a48e2852..121f90c333 100644 --- a/cas/1.1/default/FactoryLoader.h +++ b/cas/1.1/default/FactoryLoader.h @@ -85,7 +85,11 @@ bool FactoryLoader::findFactoryForScheme(int32_t CA_system_id, sp::enumeratePlugins(vector* results results->clear(); +#ifdef __LP64__ + String8 dirPath("/vendor/lib64/mediacas"); +#else String8 dirPath("/vendor/lib/mediacas"); +#endif DIR* pDir = opendir(dirPath.string()); if (pDir == NULL) { diff --git a/cas/1.2/default/Android.bp b/cas/1.2/default/Android.bp index 9e5314874f..d855e85a67 100644 --- a/cas/1.2/default/Android.bp +++ b/cas/1.2/default/Android.bp @@ -12,7 +12,7 @@ cc_defaults { "TypeConvert.cpp", ], - compile_multilib: "32", + compile_multilib: "prefer32", shared_libs: [ "android.hardware.cas@1.0", diff --git a/cas/1.2/default/FactoryLoader.h b/cas/1.2/default/FactoryLoader.h index 7403f86ac9..a374b31891 100644 --- a/cas/1.2/default/FactoryLoader.h +++ b/cas/1.2/default/FactoryLoader.h @@ -85,7 +85,11 @@ bool FactoryLoader::findFactoryForScheme(int32_t CA_system_id, sp::enumeratePlugins(vector* results results->clear(); +#ifdef __LP64__ + String8 dirPath("/vendor/lib64/mediacas"); +#else String8 dirPath("/vendor/lib/mediacas"); +#endif DIR* pDir = opendir(dirPath.string()); if (pDir == NULL) {