Remove dependencies on hardware/audio_effects.h and EffectsFactoryApi.h
Also remove some outstanding dependencies on hardware/audio.h.
Most of the time, only constants and structs from audio_effects.h
are used, and no actual calls into HAL are made. Move these
definitions into system/audio_effect.h, and generate constants
from TREBLE HAL definition.
For parameters, always use values from AudioParameter class.
There are still some outstanding includes of hardware/audio.h
in code that directly deals with audio modules. Need to extend
libaudiohal interfaces to support required functionality.
Test: make
Change-Id: I0bcdf8ae199485d4d65f3eeb7e7a3b9b5cdb6ab6
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp
index c85d377..f4a4b3b 100644
--- a/services/audioflinger/AudioFlinger.cpp
+++ b/services/audioflinger/AudioFlinger.cpp
@@ -34,6 +34,7 @@
#include <media/audiohal/DeviceHalInterface.h>
#include <media/audiohal/DevicesFactoryHalInterface.h>
#include <media/audiohal/EffectsFactoryHalInterface.h>
+#include <media/AudioParameter.h>
#include <memunreachable/memunreachable.h>
#include <utils/String16.h>
#include <utils/threads.h>
@@ -66,6 +67,8 @@
#include <mediautils/BatteryNotifier.h>
#include <private/android_filesystem_config.h>
+#include <hardware/audio.h> // for AUDIO_HARDWARE_MODULE_...
+
// ----------------------------------------------------------------------------
// Note: the following macro is used for extremely verbose logging message. In
@@ -1106,8 +1109,8 @@
// disable AEC and NS if the device is a BT SCO headset supporting those pre processings
AudioParameter param = AudioParameter(keyValuePairs);
String8 value;
- if (param.get(String8(AUDIO_PARAMETER_KEY_BT_NREC), value) == NO_ERROR) {
- bool btNrecIsOff = (value == AUDIO_PARAMETER_VALUE_OFF);
+ if (param.get(String8(AudioParameter::keyBtNrec), value) == NO_ERROR) {
+ bool btNrecIsOff = (value == AudioParameter::valueOff);
if (mBtNrecIsOff != btNrecIsOff) {
for (size_t i = 0; i < mRecordThreads.size(); i++) {
sp<RecordThread> thread = mRecordThreads.valueAt(i);
@@ -1131,7 +1134,7 @@
}
String8 screenState;
if (param.get(String8(AudioParameter::keyScreenState), screenState) == NO_ERROR) {
- bool isOff = screenState == "off";
+ bool isOff = (screenState == AudioParameter::valueOff);
if (isOff != (AudioFlinger::mScreenState & 1)) {
AudioFlinger::mScreenState = ((AudioFlinger::mScreenState & ~1) + 2) | isOff;
}
@@ -1727,12 +1730,12 @@
}
String8 reply;
AudioParameter param;
- if (dev->getParameters(String8(AUDIO_PARAMETER_HW_AV_SYNC), &reply) == OK) {
+ if (dev->getParameters(String8(AudioParameter::keyHwAvSync), &reply) == OK) {
param = AudioParameter(reply);
}
int value;
- if (param.getInt(String8(AUDIO_PARAMETER_HW_AV_SYNC), value) != NO_ERROR) {
+ if (param.getInt(String8(AudioParameter::keyHwAvSync), value) != NO_ERROR) {
ALOGW("getAudioHwSyncForSession error getting sync for session %d", sessionId);
return AUDIO_HW_SYNC_INVALID;
}
@@ -1754,7 +1757,7 @@
uint32_t sessions = thread->hasAudioSession(sessionId);
if (sessions & ThreadBase::TRACK_SESSION) {
AudioParameter param = AudioParameter();
- param.addInt(String8(AUDIO_PARAMETER_STREAM_HW_AV_SYNC), value);
+ param.addInt(String8(AudioParameter::keyStreamHwAvSync), value);
thread->setParameters(param.toString());
break;
}
@@ -1792,7 +1795,7 @@
audio_hw_sync_t syncId = mHwAvSyncIds.valueAt(index);
ALOGV("setAudioHwSyncForSession_l found ID %d for session %d", syncId, sessionId);
AudioParameter param = AudioParameter();
- param.addInt(String8(AUDIO_PARAMETER_STREAM_HW_AV_SYNC), syncId);
+ param.addInt(String8(AudioParameter::keyStreamHwAvSync), syncId);
thread->setParameters(param.toString());
}
}