Add media.c2 AIDL service to media.swcodec
Bug: 251850069
Test: adb shell dumpsys android.hardware.media.c2.IComponentStore/software
Change-Id: I36cf9cfa978f90ea1e15160f3691742642ea8ee1
diff --git a/media/codec2/hal/aidl/Android.bp b/media/codec2/hal/aidl/Android.bp
index 44f85fd..68d7152 100644
--- a/media/codec2/hal/aidl/Android.bp
+++ b/media/codec2/hal/aidl/Android.bp
@@ -6,7 +6,6 @@
// use libcodec2-aidl-client-defaults instead
cc_library {
name: "libcodec2_aidl_client",
- min_sdk_version: "31",
srcs: [
"BufferTypes.cpp",
@@ -36,7 +35,6 @@
],
static_libs: [
- "libPlatformProperties",
"libaidlcommonsupport",
],
@@ -55,7 +53,7 @@
// use libcodec2-aidl-defaults instead
cc_library {
name: "libcodec2_aidl",
- min_sdk_version: "31",
+ min_sdk_version: "30",
vendor_available: true,
apex_available: [
"//apex_available:platform",
@@ -98,7 +96,6 @@
],
static_libs: [
- "libPlatformProperties",
"libaidlcommonsupport",
],
@@ -134,7 +131,7 @@
// public dependency for Codec 2.0 HAL service implementations
cc_defaults {
name: "libcodec2-aidl-defaults",
- min_sdk_version: "31",
+ min_sdk_version: "30",
defaults: ["libcodec2-impl-defaults"],
shared_libs: [
@@ -147,7 +144,6 @@
// public dependency for Codec 2.0 HAL client
cc_defaults {
name: "libcodec2-aidl-client-defaults",
- min_sdk_version: "31",
defaults: ["libcodec2-impl-defaults"],
shared_libs: [
diff --git a/media/codec2/hal/aidl/ParamTypes.cpp b/media/codec2/hal/aidl/ParamTypes.cpp
index 41e6f50..495e748 100644
--- a/media/codec2/hal/aidl/ParamTypes.cpp
+++ b/media/codec2/hal/aidl/ParamTypes.cpp
@@ -19,7 +19,9 @@
#include <android-base/logging.h>
#include <android/binder_manager.h>
-#include <android/sysprop/MediaProperties.sysprop.h>
+// NOTE: due to dependency from mainline modules cannot use libsysprop
+// #include <android/sysprop/MediaProperties.sysprop.h>
+#include <android-base/properties.h>
#include <codec2/aidl/ParamTypes.h>
#include <codec2/common/ParamTypes.h>
@@ -167,6 +169,8 @@
// Cannot select AIDL if not enabled
return false;
}
+#if 0
+ // NOTE: due to dependency from mainline modules cannot use libsysprop
using ::android::sysprop::MediaProperties::codec2_hal_selection;
using ::android::sysprop::MediaProperties::codec2_hal_selection_values;
constexpr codec2_hal_selection_values AIDL = codec2_hal_selection_values::AIDL;
@@ -180,6 +184,16 @@
default:
LOG(FATAL) << "Unexpected codec2 HAL selection value: " << (int)selection;
}
+#else
+ std::string selection = ::android::base::GetProperty("media.c2.hal.selection", "hidl");
+ if (selection == "aidl") {
+ return true;
+ } else if (selection == "hidl") {
+ return false;
+ } else {
+ LOG(FATAL) << "Unexpected codec2 HAL selection value: " << selection;
+ }
+#endif
return false;
}