From dcbbf69ea4e89e094a320b07539a248c9f22a1cc Mon Sep 17 00:00:00 2001 From: Vayruz Rafli Date: Sat, 7 Mar 2026 09:50:41 +0700 Subject: [PATCH] sm7125-common: Bring back SamsungDAP Change-Id: Ic69554450f9c2532b9422a8f605abe7a76be708a --- Android.bp | 32 + proprietary/vendor/etc/dolby/dax-default.xml | 2243 ++++++++++++++++++ proprietary/vendor/lib/soundfx/libswdap.so | Bin 0 -> 2369120 bytes sm7125-common-vendor.mk | 2 + 4 files changed, 2277 insertions(+) create mode 100644 proprietary/vendor/etc/dolby/dax-default.xml create mode 100644 proprietary/vendor/lib/soundfx/libswdap.so diff --git a/Android.bp b/Android.bp index af19d7c..335049d 100644 --- a/Android.bp +++ b/Android.bp @@ -11944,6 +11944,38 @@ cc_prebuilt_library_shared { soc_specific: true, } +cc_prebuilt_library_shared { + name: "libswdap", + owner: "samsung", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/soundfx/libswdap.so", + ], + shared_libs: [ + "libaudioutils", + "libcutils", + "liblog", + "libutils", + "libprofileparamstorage", + "libspatializerparamstorage", + "libsecaudiocoreutils", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "32", + relative_install_path: "soundfx", + prefer: true, + soc_specific: true, +} + cc_prebuilt_library_shared { name: "libswspatializer", owner: "samsung", diff --git a/proprietary/vendor/etc/dolby/dax-default.xml b/proprietary/vendor/etc/dolby/dax-default.xml new file mode 100644 index 0000000..08fbe1a --- /dev/null +++ b/proprietary/vendor/etc/dolby/dax-default.xml @@ -0,0 +1,2243 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/proprietary/vendor/lib/soundfx/libswdap.so b/proprietary/vendor/lib/soundfx/libswdap.so new file mode 100644 index 0000000000000000000000000000000000000000..d50c3e1701a0c2c29c19ad266855a34d78126bf4 GIT binary patch literal 2369120 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