Revert "Move EffectsConfig loading in AudioPolicyEffects to libAudioHal"
This reverts commit e3e403d4598c5460baffeba766f469eceafd91e5.
Reason for revert: fixes b/279127394 validated by http://go/abtd-run/L71300000960106239 and b/279108570
Change-Id: I58054d98365a6bf10b4dab2f347d4ee78205440c
diff --git a/media/libaudiohal/Android.bp b/media/libaudiohal/Android.bp
index 3c05b0b..1dbcb86 100644
--- a/media/libaudiohal/Android.bp
+++ b/media/libaudiohal/Android.bp
@@ -74,12 +74,6 @@
cc_library_headers {
name: "libaudiohal_headers",
- header_libs: [
- "libeffectsconfig_headers",
- ],
-
- export_header_lib_headers: ["libeffectsconfig_headers"],
-
export_include_dirs: ["include"],
}
diff --git a/media/libaudiohal/impl/Android.bp b/media/libaudiohal/impl/Android.bp
index 49fb2a4..1e3d45f 100644
--- a/media/libaudiohal/impl/Android.bp
+++ b/media/libaudiohal/impl/Android.bp
@@ -35,7 +35,6 @@
"android.hidl.allocator@1.0",
"android.hidl.memory@1.0",
"libaudiohal_deathhandler",
- "libeffectsconfig",
"libhidlbase",
"libhidlmemory",
],
@@ -282,16 +281,15 @@
"android.hardware.common.fmq-V1-ndk",
],
shared_libs: [
+ "libbinder_ndk",
"libaudio_aidl_conversion_common_cpp",
"libaudio_aidl_conversion_common_ndk",
"libaudio_aidl_conversion_core_ndk",
"libaudio_aidl_conversion_effect_ndk",
"libaudioaidlcommon",
- "libbinder_ndk",
],
header_libs: [
"libaudio_system_headers",
- "libeffectsconfig_headers",
],
cflags: [
"-Wall",
diff --git a/media/libaudiohal/impl/EffectsFactoryHalAidl.cpp b/media/libaudiohal/impl/EffectsFactoryHalAidl.cpp
index 918d419..bc05aa0 100644
--- a/media/libaudiohal/impl/EffectsFactoryHalAidl.cpp
+++ b/media/libaudiohal/impl/EffectsFactoryHalAidl.cpp
@@ -23,7 +23,6 @@
//#define LOG_NDEBUG 0
#include <error/expected_utils.h>
-#include <aidl/android/media/audio/common/AudioStreamType.h>
#include <android/binder_manager.h>
#include <media/AidlConversionCppNdk.h>
#include <media/AidlConversionEffect.h>
@@ -36,13 +35,11 @@
#include "EffectsFactoryHalAidl.h"
using ::aidl::android::legacy2aidl_audio_uuid_t_AudioUuid;
-using ::aidl::android::aidl_utils::statusTFromBinderStatus;
-using ::aidl::android::hardware::audio::effect::Descriptor;
-using ::aidl::android::hardware::audio::effect::IFactory;
-using ::aidl::android::hardware::audio::effect::Processing;
-using ::aidl::android::media::audio::common::AudioUuid;
-using ::android::base::unexpected;
-using ::android::detail::AudioHalVersionInfo;
+using aidl::android::aidl_utils::statusTFromBinderStatus;
+using aidl::android::hardware::audio::effect::Descriptor;
+using aidl::android::hardware::audio::effect::IFactory;
+using aidl::android::media::audio::common::AudioUuid;
+using android::detail::AudioHalVersionInfo;
namespace android {
namespace effect {
@@ -95,8 +92,7 @@
[](const Descriptor& desc) { return !desc.common.id.proxy.has_value(); });
return list;
}()),
- mEffectCount(mNonProxyDescList.size() + mProxyDescList.size()),
- mEffectProcessings(INVALID_EFFECT_PROCESSING) {
+ mEffectCount(mNonProxyDescList.size() + mProxyDescList.size()) {
ALOG_ASSERT(mFactory != nullptr, "Provided IEffectsFactory service is NULL");
ALOGI("%s with %zu nonProxyEffects and %zu proxyEffects", __func__, mNonProxyDescList.size(),
mProxyDescList.size());
@@ -273,10 +269,6 @@
return 0 != mUuidProxyMap.count(uuid);
}
-const effectsConfig::EffectProcessings& EffectsFactoryHalAidl::getProcessings() const {
- return mEffectProcessings;
-}
-
} // namespace effect
// When a shared library is built from a static library, even explicit
diff --git a/media/libaudiohal/impl/EffectsFactoryHalAidl.h b/media/libaudiohal/impl/EffectsFactoryHalAidl.h
index 9116895..debfacf 100644
--- a/media/libaudiohal/impl/EffectsFactoryHalAidl.h
+++ b/media/libaudiohal/impl/EffectsFactoryHalAidl.h
@@ -62,8 +62,6 @@
detail::AudioHalVersionInfo getHalVersion() const override;
- const effectsConfig::EffectProcessings& getProcessings() const override;
-
private:
const std::shared_ptr<IFactory> mFactory;
const detail::AudioHalVersionInfo mHalVersion;
@@ -79,8 +77,6 @@
const std::vector<Descriptor> mNonProxyDescList;
// total number of effects including proxy effects
const size_t mEffectCount;
- // Query result and all processing from effect factory
- const effectsConfig::EffectProcessings mEffectProcessings;
std::mutex mLock;
uint64_t mEffectIdCounter GUARDED_BY(mLock) = 0; // Align with HIDL (0 is INVALID_ID)
diff --git a/media/libaudiohal/impl/EffectsFactoryHalHidl.cpp b/media/libaudiohal/impl/EffectsFactoryHalHidl.cpp
index 483f643..172ebdf 100644
--- a/media/libaudiohal/impl/EffectsFactoryHalHidl.cpp
+++ b/media/libaudiohal/impl/EffectsFactoryHalHidl.cpp
@@ -33,11 +33,10 @@
#include "android/media/AudioHalVersion.h"
-using ::android::base::unexpected;
using ::android::detail::AudioHalVersionInfo;
-using ::android::hardware::Return;
using ::android::hardware::audio::common::CPP_VERSION::implementation::UuidUtils;
using ::android::hardware::audio::effect::CPP_VERSION::implementation::EffectUtils;
+using ::android::hardware::Return;
namespace android {
namespace effect {
@@ -79,17 +78,7 @@
}
EffectsFactoryHalHidl::EffectsFactoryHalHidl(sp<IEffectsFactory> effectsFactory)
- : EffectConversionHelperHidl("EffectsFactory"),
- mCache(new EffectDescriptorCache),
- mEffectProcessings([&]() -> effectsConfig::EffectProcessings {
- effectsConfig::EffectProcessings processings;
- const auto& parseResult = effectsConfig::parse();
- if (!parseResult.parsedConfig) {
- return INVALID_EFFECT_PROCESSING;
- }
- return {parseResult.nbSkippedElement, parseResult.parsedConfig->preprocess,
- parseResult.parsedConfig->postprocess, parseResult.parsedConfig->deviceprocess};
- }()) {
+ : EffectConversionHelperHidl("EffectsFactory"), mCache(new EffectDescriptorCache) {
ALOG_ASSERT(effectsFactory != nullptr, "Provided IEffectsFactory service is NULL");
mEffectsFactory = std::move(effectsFactory);
}
@@ -239,10 +228,6 @@
return AudioHalVersionInfo(AudioHalVersionInfo::Type::HIDL, MAJOR_VERSION, MINOR_VERSION);
}
-const effectsConfig::EffectProcessings& EffectsFactoryHalHidl::getProcessings() const {
- return mEffectProcessings;
-}
-
} // namespace effect
// When a shared library is built from a static library, even explicit
diff --git a/media/libaudiohal/impl/EffectsFactoryHalHidl.h b/media/libaudiohal/impl/EffectsFactoryHalHidl.h
index c64ca3a..9875154 100644
--- a/media/libaudiohal/impl/EffectsFactoryHalHidl.h
+++ b/media/libaudiohal/impl/EffectsFactoryHalHidl.h
@@ -17,7 +17,6 @@
#pragma once
#include <memory>
-#include <vector>
#include PATH(android/hardware/audio/effect/FILE_VERSION/IEffectsFactory.h)
#include <media/audiohal/EffectsFactoryHalInterface.h>
@@ -63,13 +62,9 @@
android::detail::AudioHalVersionInfo getHalVersion() const override;
- const effectsConfig::EffectProcessings& getProcessings() const override;
-
private:
sp<IEffectsFactory> mEffectsFactory;
std::unique_ptr<EffectDescriptorCache> mCache;
- // Configuration file parser result together with all processings from effect factory
- const effectsConfig::EffectProcessings mEffectProcessings;
};
} // namespace effect
diff --git a/media/libaudiohal/include/media/audiohal/EffectsFactoryHalInterface.h b/media/libaudiohal/include/media/audiohal/EffectsFactoryHalInterface.h
index e15fcb5..d740fe9 100644
--- a/media/libaudiohal/include/media/audiohal/EffectsFactoryHalInterface.h
+++ b/media/libaudiohal/include/media/audiohal/EffectsFactoryHalInterface.h
@@ -15,10 +15,8 @@
*/
#pragma once
-#include <vector>
#include <media/audiohal/EffectHalInterface.h>
-#include <media/EffectsConfig.h>
#include <system/audio_effect.h>
#include <utils/Errors.h>
#include <utils/RefBase.h>
@@ -35,21 +33,21 @@
virtual status_t queryNumberEffects(uint32_t *pNumEffects) = 0;
// Returns a descriptor of the next available effect.
- virtual status_t getDescriptor(uint32_t index, effect_descriptor_t* pDescriptor) = 0;
+ virtual status_t getDescriptor(uint32_t index,
+ effect_descriptor_t *pDescriptor) = 0;
- virtual status_t getDescriptor(const effect_uuid_t* pEffectUuid,
- effect_descriptor_t* pDescriptor) = 0;
+ virtual status_t getDescriptor(const effect_uuid_t *pEffectUuid,
+ effect_descriptor_t *pDescriptor) = 0;
virtual status_t getDescriptors(const effect_uuid_t *pEffectType,
std::vector<effect_descriptor_t> *descriptors) = 0;
- virtual const effectsConfig::EffectProcessings& getProcessings() const = 0;
-
// Creates an effect engine of the specified type.
// To release the effect engine, it is necessary to release references
// to the returned effect object.
- virtual status_t createEffect(const effect_uuid_t* pEffectUuid, int32_t sessionId, int32_t ioId,
- int32_t deviceId, sp<EffectHalInterface>* effect) = 0;
+ virtual status_t createEffect(const effect_uuid_t *pEffectUuid,
+ int32_t sessionId, int32_t ioId, int32_t deviceId,
+ sp<EffectHalInterface> *effect) = 0;
virtual status_t dumpEffects(int fd) = 0;
@@ -64,9 +62,6 @@
// Helper function to compare effect uuid to EFFECT_UUID_NULL.
static bool isNullUuid(const effect_uuid_t* pEffectUuid);
-#define INVALID_EFFECT_PROCESSING \
- effectsConfig::EffectProcessings({::android::base::unexpected(BAD_VALUE), {}, {}, {}})
-
protected:
// Subclasses can not be constructed directly by clients.
EffectsFactoryHalInterface() {}