From a4af565d7f9e0305ade7524bf03e40da2d6d6394 Mon Sep 17 00:00:00 2001 From: johnmart19 Date: Fri, 9 May 2025 15:48:24 +0300 Subject: [PATCH] Alioth: Revert audio.primary.kona changes to fix Dolby Engine We are making Dolby Engine working again, so we need to stick to stock sound configuration to make it work This commit reverts or partially reverts the following changes: * c3c93e6 * bf4c662 * 2f898df And was also reworked for current python implementation --- Android.bp | 8 ++++---- alioth-vendor.mk | 4 ++-- ...rimary.alioth.so => audio.primary.kona.so} | Bin 917337 -> 859884 bytes ...2dpoffload_alioth.so => liba2dpoffload.so} | Bin 55761 -> 45904 bytes 4 files changed, 6 insertions(+), 6 deletions(-) rename proprietary/vendor/lib/hw/{audio.primary.alioth.so => audio.primary.kona.so} (87%) rename proprietary/vendor/lib/{liba2dpoffload_alioth.so => liba2dpoffload.so} (67%) diff --git a/Android.bp b/Android.bp index d749815..2bdb634 100644 --- a/Android.bp +++ b/Android.bp @@ -45,7 +45,7 @@ cc_prebuilt_library_shared { } cc_prebuilt_library_shared { - name: "audio.primary.alioth", + name: "audio.primary.kona", owner: "xiaomi", strip: { none: true, @@ -53,7 +53,7 @@ cc_prebuilt_library_shared { target: { android_arm: { srcs: [ - "proprietary/vendor/lib/hw/audio.primary.alioth.so", + "proprietary/vendor/lib/hw/audio.primary.kona.so", ], shared_libs: [ "libbase", @@ -88,7 +88,7 @@ cc_prebuilt_library_shared { } cc_prebuilt_library_shared { - name: "liba2dpoffload_alioth", + name: "liba2dpoffload", owner: "xiaomi", strip: { none: true, @@ -96,7 +96,7 @@ cc_prebuilt_library_shared { target: { android_arm: { srcs: [ - "proprietary/vendor/lib/liba2dpoffload_alioth.so", + "proprietary/vendor/lib/liba2dpoffload.so", ], shared_libs: [ "libaudioutils", diff --git a/alioth-vendor.mk b/alioth-vendor.mk index aa5276a..5eed7a7 100644 --- a/alioth-vendor.mk +++ b/alioth-vendor.mk @@ -193,8 +193,8 @@ PRODUCT_COPY_FILES += \ PRODUCT_PACKAGES += \ libfcsam \ - audio.primary.alioth \ - liba2dpoffload_alioth \ + audio.primary.kona \ + liba2dpoffload \ libaudio_log_utils \ libaudiocloudctrl \ libaudioroute_ext \ diff --git a/proprietary/vendor/lib/hw/audio.primary.alioth.so b/proprietary/vendor/lib/hw/audio.primary.kona.so similarity index 87% rename from proprietary/vendor/lib/hw/audio.primary.alioth.so rename to proprietary/vendor/lib/hw/audio.primary.kona.so index ab4d7608c3f68d6c91895b479d0b029f3f481864..695c80e2eb9e619edfccc06a7120fbca5af73b00 100644 GIT binary patch delta 17066 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 N*{PFn?|?oG|9@yC?uq~a delta 74722 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 R+}P3cYaAyv);3n;{0kJ@F=+q* delta 9202 zcmeI1Z)jC@7{{MGueyJ2SDmn%v+iUuN83`7Sm9_&6ANP&_9Bbg^r~B1PHVkTW_OZ- zhLrPc!OZEL*POcT&aMW&yABPFgbk!-677YGgDsHuq9Ci!@7~|x9D8vg4i^H?Wj_wz z^ZcIY`99z0`JKJ^joeKejm|h&x-eT7%j1$KvqWUMZMAts+S*@w+WYFAmY{JzoM)7J z(v9_=KzmD7`*fiFMxgzCAmqhEVyyAR%IBe$dao8i9!nS z%kPIB5b`|D^Jy-013`a*2~Bc+~ZOGpRbx zjM0LuG4G=;uv@>gA#&>N>hDxRXa27K&h&HY?dtDTL1+H1{?7Ds>h0?9R6%F{uKv#S zbL#Et?^Ho&{;vMc^mFR%>hDxRXa42?%{`hHcy@1Ej?Z{Lyv1KJE|SGv4%a*~lhrpN zlF73;dNCZyG{z(Oo_ynvNU_In6b=<5ShTQCVeaN5EJ1YAo%(_T%y zE1%LPDpm2m1%Cowq6ztUo+ncbXphCsh9 z;hsz?w9Uk8v@{)pMLOXjT3TfGoOm@5s)SGx`Qr?4A>ncxfmRZB(*m<+Gf`v$Me_9i z)!>F+%YL2rI|yjnH&OZPo2(Yi2EVcs(j-;|T?dbTPXDj!fF)E=HDECg@IE0?!r^al z9SM|lD!?>>{2z&w5=h}G6e~GSo3vfE@~K`6AIT62qmbF6;cVt>5dF;;bCjf~tPSZ% zc<+pb3vjp$L396R5=?Y6m^xuC3SQhU64VujA$0Df$XnXJl>OHrXyQrY#Rk#e>`@0p z6tGR{FnH27WUJ_5_E#2x1yo+S$C~nL@Rbim#n$Ruqg^*2B zgPzt=(LTLl9+F+P4bf5@%09C`Oh2)|7-jzy2}`xT6JirhVBV{i zeS?3f4vE(34OJxEYn##-71x5zfaeG>e;Z#r9iS75s~FmYV0CILY2iIuXzu@ucwSq} z3UeQxsq!rP|9zh&=`MP>@O}P+@>C3;^TL=@U@B5b4=?nJv}nQ`sbEKs_2Jrvc%Ns5?bzOi;Ep5K zr}tMByF|-;TCok8oCpY+1Uo}8u7$BFStE>NHpx%Gxc;`+j1b%+kO0XKd zrx{W@;Q;v3X68a;4+P&kZk>WaD+x+TU^1%tmjco0+#KJ6riP7m%YxgRw`^%@t_!|X O*VNG5QeXZ7iR2%h&;phK