Android AudioEffect 기능, HIDL, 32bit/64bit 관련
Android 에 언제부터인지 Audio effect 기능들이 들어가있더라.
여기에 추가로 기능을 넣을 수 있다.
그런데 이 effect 들은
/frameworks/av/media/libeffects/data/audio_effects.conf 에 등록되어 있다.
이것은
system/media/audio_effects/include/audio_effects/audio_effects_conf.h 여기에서
26#define AUDIO_EFFECT_DEFAULT_CONFIG_FILE "/system/etc/audio_effects.conf"
27#define AUDIO_EFFECT_VENDOR_CONFIG_FILE "/vendor/etc/audio_effects.conf"
요렇게 지정되어있고 이것을 불러다 쓴다.
여기에서 지정된 위치로부터 so를 로드하여 사용한다.
Android 32bit-64bit 문제 (is 64-bit instead of 32-bit) 이런 메세지가 나오면 현재 32bit 으로 프로그램이 돌아가고 있는 것이다.
그런데 audioserver 가 32bit 이면 연결된 모든것이 32bit 으로 돌아간다.
64로 돌리고 싶으면 여기다가
frameworks/av/media/audioserver/Android.mk
ifeq ($(strip $(AUDIOSERVER_MULTILIB)),)
-LOCAL_MULTILIB := 32
+LOCAL_MULTILIB := 64 #64
else
LOCAL_MULTILIB := $(AUDIOSERVER_MULTILIB)
endif
이렇게 해준다.
아니면 보드의 BoardConfig.mk 에다가
AUDIOSERVER_MULTILIB := 64
여기도 관련이 있는 경우가 있는데
frameworks/av/services/audioflinger/Android.mk
--- a/alps/frameworks/av/services/audioflinger/Android.mk
+++ b/alps/frameworks/av/services/audioflinger/Android.mk
@@ -211,8 +211,10 @@ ifeq ($(strip $(MTK_CROSSMOUNT_SUPPORT)),yes)
LOCAL_CFLAGS += -DCROSSMOUNT_LATENCY_ENHANCE
endif
+LOCAL_CFLAGS += -Werror -Wformat #64bit
+
LOCAL_MODULE:= libaudioflinger
-LOCAL_32_BIT_ONLY := true
+#LOCAL_32_BIT_ONLY := true
LOCAL_SRC_FILES += \
AudioWatchdog.cpp \
@@ -328,7 +330,7 @@ LOCAL_SHARED_LIBRARIES += \
liblog
LOCAL_MODULE := libaudioresampler
-LOCAL_32_BIT_ONLY := true
+#LOCAL_32_BIT_ONLY := true
LOCAL_CFLAGS := -Werror -Wall
이렇게 해준다.
OREO 부터는 Project Treble 한다고 HIDL 떄문에 이상한게 또 생김.
HIDL 관련 내용은
hardware/interfaces/audio/effect/2.0
이쪽에 있음
현재 등록되어 있는 Effect 들은 다음과 같다.
03-05 09:53:27.253 244 292 W AudioFlinger: GHZHO numEffects :11
03-05 09:53:27.253 244 292 W AudioFlinger: GHZHO desc name:0:Loudness Enhancer
03-05 09:53:27.253 244 292 W AudioFlinger: GHZHO desc name:1:Multichannel Downmix To Stereo
03-05 09:53:27.254 244 292 W AudioFlinger: GHZHO desc name:2:Visualizer
03-05 09:53:27.254 244 292 W AudioFlinger: GHZHO desc name:3:Insert Preset Reverb
03-05 09:53:27.254 244 292 W AudioFlinger: GHZHO desc name:4:Auxiliary Preset Reverb
03-05 09:53:27.254 244 292 W AudioFlinger: GHZHO desc name:5:Insert Environmental Reverb
03-05 09:53:27.254 244 292 W AudioFlinger: GHZHO desc name:6:Auxiliary Environmental Reverb
03-05 09:53:27.254 244 292 W AudioFlinger: GHZHO desc name:7:Volume
03-05 09:53:27.254 244 292 W AudioFlinger: GHZHO desc name:8:Equalizer
03-05 09:53:27.254 244 292 W AudioFlinger: GHZHO desc name:9:Virtualizer
03-05 09:53:27.254 244 292 W AudioFlinger: GHZHO desc name:10:Dynamic Bass Boost
03-05 09:53:27.273 217 217 E EffectLE: LE_init(195): GHZHO LE_init(0x72a58308c0)
03-05 09:53:27.273 217 217 E EffectLE: LELib_Create(264): GHZHO ***LELib_Create context is 0x72a58308c0
03-05 09:53:27.273 217 217 E EffectLE: LELib_Create(266): GHZHO 64 64 64 64 64
03-05 09:53:27.291 217 217 E EffectLE: LELib_Create(281): GHZHO ldopen from lib64 okok
03-05 09:53:27.291 217 217 E EffectLE: LELib_Create(288): GHZHO ldsym createDSP okok
03-05 09:53:27.291 217 217 E EffectLE: LELib_Create(295): GHZHO ldsym destroyDSP okok
03-05 09:53:27.445 217 217 E EffectLE: LELib_Create(301): GHZHO GoodHz init done.
03-05 09:53:27.446 217 217 E EffectLE: LELib_Create(305): GHZHO GoodHz setManufacturer Hazen.
03-05 09:53:27.446 217 217 E EffectLE: LELib_Create(307): GHZHO GoodHz setVolume to 0.
03-05 09:53:27.446 217 217 E EffectLE: LELib_Create(310): GHZHO GoodHz setPreset to default.
03-05 09:53:27.446 217 217 E EffectLE: LELib_Create(313): GHZHO GoodHz ON.
03-05 09:53:27.446 217 217 E EffectLE: LELib_Create(314): GHZHO GoodHz State:2120
03-05 09:53:27.447 217 217 E EffectLE: LE_init(195): GHZHO LE_init(0x72a58308c0)
+#if defined(__LP64__)
+ ALOGW("GHZHO 64 64 64 64 64");
+#else
+ ALOGW("GHZHO 32 32 32 32 32");
+#endif
'Android' 카테고리의 다른 글
Android source code compile error: “Try increasing heap size with java option '-Xmx<size>'” (0) | 2019.01.22 |
---|---|
Android Bluetooth Mesh (0) | 2019.01.18 |
android settings command (0) | 2019.01.16 |