Assigned
Status Update
Comments
ra...@google.com <ra...@google.com> #2
Thank you for reporting this issue. Please upload the AOSP patch following this guidance
No update yet.
Thank you for reporting this issue. Please upload the AOSP patch following this guidance
Description
AOSP code base: android-15.0.0_r6
steps to reproduce the build error:
- Add "-O0" to cflags of libaudiofinger in frameworks/av/services/audioflinger/Android.bp
- mmm frameworks/av/services/audioflinger/ -j8
Build errors:
FAILED: out/soong/.intermediates/frameworks/av/services/audioflinger/libaudioflinger/android_arm64_armv8-a_cortex-a53_shared_cfi/unstripped/libaudioflinger.so
ld.lld: error: undefined symbol: _ZTVN7android14IAfEffectChainE
FAILED: out/soong/.intermediates/frameworks/av/services/audioflinger/libaudioflinger/android_arm64_armv8-a_cortex-a53_shared_cfi/unstripped/libaudioflinger.so
ld.lld: error: undefined symbol: _ZN7android14IAfEffectChain14sendMetadata_lERKNSt3__16vectorI26playback_track_metadata_v7NS1_9allocatorIS3_EEEENS1_8optionalIS7_EE
>>> referenced by ld-temp.o
>>> out/soong/.intermediates/frameworks/av/services/audioflinger/libaudioflinger/android_arm64_armv8-a_cortex-a53_shared_cfi/unstripped/libaudioflinger.so.lto.o:(.data.rel.ro..L__unnamed_1+0x12A0)
I have made below change to workaround the build error:
diff --git a/services/audioflinger/Android.bp b/services/audioflinger/Android.bp
index 01bde420c054..8ce3c8582020 100644
--- a/services/audioflinger/Android.bp
+++ b/services/audioflinger/Android.bp
@@ -251,6 +251,7 @@ cc_library {
},
cflags: [
+ "-O0",
"-Wall",
"-Werror",
"-fvisibility=hidden",
diff --git a/services/audioflinger/Effects.cpp b/services/audioflinger/Effects.cpp
index 84505d350257..3ba66183d6e1 100644
--- a/services/audioflinger/Effects.cpp
+++ b/services/audioflinger/Effects.cpp
@@ -2224,6 +2224,9 @@ NO_THREAD_SAFETY_ANALYSIS // conditional try lock
#undef LOG_TAG
#define LOG_TAG "EffectChain"
+IAfEffectChain::~IAfEffectChain() { }
+void IAfEffectChain::sendMetadata_l(const std::vector<playback_track_metadata_v7_t>& allMetadata __unused,
+ const std::optional<const std::vector<playback_track_metadata_v7_t>> spatializedMetadata __unused){ }
/* static */
sp<IAfEffectChain> IAfEffectChain::create(
const sp<IAfThreadBase>& thread,
diff --git a/services/audioflinger/IAfEffect.h b/services/audioflinger/IAfEffect.h
index 3452e9491f2f..64099776a879 100644
--- a/services/audioflinger/IAfEffect.h
+++ b/services/audioflinger/IAfEffect.h
@@ -221,6 +221,7 @@ private:
class IAfEffectChain : public RefBase {
// Most of these methods are accessed from AudioFlinger::Thread
public:
+ virtual ~IAfEffectChain();
static sp<IAfEffectChain> create(
const sp<IAfThreadBase>& thread,
audio_session_t sessionId,