summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Kondik <shade@chemlab.org>2013-11-11 17:34:57 -0800
committerSteve Kondik <shade@chemlab.org>2013-11-11 17:34:57 -0800
commitd0cf2604e13dc9b98cf4d7ec4226c8ae9a70c1b6 (patch)
tree7d96eee038c00613b3605124d6067f3c94992528
parent92ace72524fd648c1237518b2608f7921835ebd1 (diff)
downloadandroid_hardware_libhardware_legacy-caf-rb.tar.gz
android_hardware_libhardware_legacy-caf-rb.tar.bz2
android_hardware_libhardware_legacy-caf-rb.zip
libhardware_legacy: Add ifdefs for non-QCOM hardwarecaf-rb
Change-Id: Ic39f17d4626dc9970edf5c5466b3ccd6d16cbd3e
-rw-r--r--audio/Android.mk20
-rw-r--r--audio/AudioPolicyManagerBase.cpp32
-rw-r--r--include/hardware_legacy/AudioHardwareInterface.h2
-rw-r--r--include/hardware_legacy/AudioSystemLegacy.h35
4 files changed, 87 insertions, 2 deletions
diff --git a/audio/Android.mk b/audio/Android.mk
index f061663..1430471 100644
--- a/audio/Android.mk
+++ b/audio/Android.mk
@@ -27,6 +27,26 @@ ifeq ($(AUDIO_POLICY_TEST),true)
LOCAL_CFLAGS += -DAUDIO_POLICY_TEST
endif
+ifeq ($(BOARD_USES_QCOM_HARDWARE),true)
+
+ifneq ($(strip $(AUDIO_FEATURE_DISABLED_FM)),true)
+LOCAL_CFLAGS += -DAUDIO_EXTN_FM_ENABLED
+endif
+ifneq ($(strip $(AUDIO_FEATURE_DISABLED_SSR)),true)
+LOCAL_CFLAGS += -DAUDIO_EXTN_SSR_ENABLED
+endif
+ifneq ($(strip $(AUDIO_FEATURE_DISABLED_PROXY_DEVICE)),true)
+LOCAL_CFLAGS += -DAUDIO_EXTN_AFE_PROXY_ENABLED
+endif
+ifneq ($(strip $(AUDIO_FEATURE_DISABLED_INCALL_MUSIC)),true)
+LOCAL_CFLAGS += -DAUDIO_EXTN_INCALL_MUSIC_ENABLED
+endif
+ifneq ($(strip $(AUDIO_FEATURE_DISABLED_FORMATS)),true)
+LOCAL_CFLAGS += -DAUDIO_EXTN_FORMATS_ENABLED
+endif
+
+endif
+
LOCAL_STATIC_LIBRARIES := libmedia_helper
LOCAL_MODULE := libaudiopolicy_legacy
LOCAL_MODULE_TAGS := optional
diff --git a/audio/AudioPolicyManagerBase.cpp b/audio/AudioPolicyManagerBase.cpp
index 430d497..e974aeb 100644
--- a/audio/AudioPolicyManagerBase.cpp
+++ b/audio/AudioPolicyManagerBase.cpp
@@ -2278,7 +2278,9 @@ AudioPolicyManagerBase::routing_strategy AudioPolicyManagerBase::getStrategy(
// while key clicks are played produces a poor result
case AudioSystem::TTS:
case AudioSystem::MUSIC:
+#ifdef AUDIO_EXTN_INCALL_MUSIC_ENABLED
case AudioSystem::INCALL_MUSIC:
+#endif
return STRATEGY_MEDIA;
case AudioSystem::ENFORCED_AUDIBLE:
return STRATEGY_ENFORCED_AUDIBLE;
@@ -2938,11 +2940,13 @@ const AudioPolicyManagerBase::VolumeCurvePoint
sSpeakerMediaVolumeCurve, // DEVICE_CATEGORY_SPEAKER
sDefaultMediaVolumeCurve // DEVICE_CATEGORY_EARPIECE
},
+#ifdef AUDIO_EXTN_INCALL_MUSIC_ENABLED
{ // AUDIO_STREAM_INCALL_MUSIC
sDefaultMediaVolumeCurve, // DEVICE_CATEGORY_HEADSET
sSpeakerMediaVolumeCurve, // DEVICE_CATEGORY_SPEAKER
sDefaultMediaVolumeCurve // DEVICE_CATEGORY_EARPIECE
},
+#endif
};
void AudioPolicyManagerBase::initializeVolumeCurves()
@@ -3614,8 +3618,10 @@ const struct StringToEnum sDeviceNameToEnumTable[] = {
STRING_TO_ENUM(AUDIO_DEVICE_OUT_SPEAKER),
STRING_TO_ENUM(AUDIO_DEVICE_OUT_WIRED_HEADSET),
STRING_TO_ENUM(AUDIO_DEVICE_OUT_WIRED_HEADPHONE),
+#ifdef QCOM_HARDWARE
STRING_TO_ENUM(AUDIO_DEVICE_OUT_ANC_HEADSET),
STRING_TO_ENUM(AUDIO_DEVICE_OUT_ANC_HEADPHONE),
+#endif
STRING_TO_ENUM(AUDIO_DEVICE_OUT_ALL_SCO),
STRING_TO_ENUM(AUDIO_DEVICE_OUT_ALL_A2DP),
STRING_TO_ENUM(AUDIO_DEVICE_OUT_AUX_DIGITAL),
@@ -3623,26 +3629,36 @@ const struct StringToEnum sDeviceNameToEnumTable[] = {
STRING_TO_ENUM(AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET),
STRING_TO_ENUM(AUDIO_DEVICE_OUT_USB_DEVICE),
STRING_TO_ENUM(AUDIO_DEVICE_OUT_USB_ACCESSORY),
+#ifdef AUDIO_EXTN_FM_ENABLED
STRING_TO_ENUM(AUDIO_DEVICE_OUT_FM),
STRING_TO_ENUM(AUDIO_DEVICE_OUT_FM_TX),
+#endif
STRING_TO_ENUM(AUDIO_DEVICE_OUT_ALL_USB),
+#ifdef AUDIO_EXTN_AFE_PROXY_ENABLED
STRING_TO_ENUM(AUDIO_DEVICE_OUT_PROXY),
+#endif
STRING_TO_ENUM(AUDIO_DEVICE_OUT_REMOTE_SUBMIX),
STRING_TO_ENUM(AUDIO_DEVICE_IN_BUILTIN_MIC),
STRING_TO_ENUM(AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET),
STRING_TO_ENUM(AUDIO_DEVICE_IN_WIRED_HEADSET),
+#ifdef QCOM_HARDWARE
STRING_TO_ENUM(AUDIO_DEVICE_IN_ANC_HEADSET),
+#endif
STRING_TO_ENUM(AUDIO_DEVICE_IN_AUX_DIGITAL),
- STRING_TO_ENUM(AUDIO_DEVICE_IN_FM_RX),
- STRING_TO_ENUM(AUDIO_DEVICE_IN_FM_RX_A2DP),
STRING_TO_ENUM(AUDIO_DEVICE_IN_VOICE_CALL),
STRING_TO_ENUM(AUDIO_DEVICE_IN_BACK_MIC),
STRING_TO_ENUM(AUDIO_DEVICE_IN_REMOTE_SUBMIX),
STRING_TO_ENUM(AUDIO_DEVICE_IN_ANLG_DOCK_HEADSET),
STRING_TO_ENUM(AUDIO_DEVICE_IN_DGTL_DOCK_HEADSET),
STRING_TO_ENUM(AUDIO_DEVICE_IN_USB_ACCESSORY),
+#ifdef AUDIO_EXTN_FM_ENABLED
+ STRING_TO_ENUM(AUDIO_DEVICE_IN_FM_RX),
+ STRING_TO_ENUM(AUDIO_DEVICE_IN_FM_RX_A2DP),
+#endif
+#ifdef QCOM_HARDWARE
STRING_TO_ENUM(AUDIO_DEVICE_IN_PROXY),
STRING_TO_ENUM(AUDIO_DEVICE_IN_COMMUNICATION),
+#endif
};
const struct StringToEnum sFlagNameToEnumTable[] = {
@@ -3652,10 +3668,14 @@ const struct StringToEnum sFlagNameToEnumTable[] = {
STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_DEEP_BUFFER),
STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD),
STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_NON_BLOCKING),
+#ifdef QCOM_HARDWARE
STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_VOIP_RX),
STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_LPA),
STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_TUNNEL),
+#endif
+#ifdef AUDIO_EXTN_INCALL_MUSIC_ENABLED
STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_INCALL_MUSIC),
+#endif
};
const struct StringToEnum sFormatNameToEnumTable[] = {
@@ -3664,6 +3684,7 @@ const struct StringToEnum sFormatNameToEnumTable[] = {
STRING_TO_ENUM(AUDIO_FORMAT_MP3),
STRING_TO_ENUM(AUDIO_FORMAT_AAC),
STRING_TO_ENUM(AUDIO_FORMAT_VORBIS),
+#ifdef QCOM_HARDWARE
STRING_TO_ENUM(AUDIO_FORMAT_AC3),
STRING_TO_ENUM(AUDIO_FORMAT_EAC3),
STRING_TO_ENUM(AUDIO_FORMAT_DTS),
@@ -3680,17 +3701,22 @@ const struct StringToEnum sFormatNameToEnumTable[] = {
STRING_TO_ENUM(AUDIO_FORMAT_QCELP),
STRING_TO_ENUM(AUDIO_FORMAT_MP2),
STRING_TO_ENUM(AUDIO_FORMAT_EVRCNW),
+#endif
};
const struct StringToEnum sOutChannelsNameToEnumTable[] = {
STRING_TO_ENUM(AUDIO_CHANNEL_OUT_MONO),
STRING_TO_ENUM(AUDIO_CHANNEL_OUT_STEREO),
+#ifdef QCOM_HARDWARE
STRING_TO_ENUM(AUDIO_CHANNEL_OUT_2POINT1),
STRING_TO_ENUM(AUDIO_CHANNEL_OUT_QUAD),
STRING_TO_ENUM(AUDIO_CHANNEL_OUT_SURROUND),
STRING_TO_ENUM(AUDIO_CHANNEL_OUT_PENTA),
+#endif
STRING_TO_ENUM(AUDIO_CHANNEL_OUT_5POINT1),
+#ifdef QCOM_HARDWARE
STRING_TO_ENUM(AUDIO_CHANNEL_OUT_6POINT1),
+#endif
STRING_TO_ENUM(AUDIO_CHANNEL_OUT_7POINT1),
};
@@ -3698,10 +3724,12 @@ const struct StringToEnum sInChannelsNameToEnumTable[] = {
STRING_TO_ENUM(AUDIO_CHANNEL_IN_MONO),
STRING_TO_ENUM(AUDIO_CHANNEL_IN_STEREO),
STRING_TO_ENUM(AUDIO_CHANNEL_IN_FRONT_BACK),
+#ifdef QCOM_HARDWARE
STRING_TO_ENUM(AUDIO_CHANNEL_IN_5POINT1),
STRING_TO_ENUM(AUDIO_CHANNEL_IN_VOICE_CALL_MONO),
STRING_TO_ENUM(AUDIO_CHANNEL_IN_VOICE_DNLINK_MONO),
STRING_TO_ENUM(AUDIO_CHANNEL_IN_VOICE_UPLINK_MONO),
+#endif
};
diff --git a/include/hardware_legacy/AudioHardwareInterface.h b/include/hardware_legacy/AudioHardwareInterface.h
index 51b801d..3bf3b10 100644
--- a/include/hardware_legacy/AudioHardwareInterface.h
+++ b/include/hardware_legacy/AudioHardwareInterface.h
@@ -118,6 +118,7 @@ public:
*/
#ifndef ICS_AUDIO_BLOB
virtual status_t getNextWriteTimestamp(int64_t *timestamp);
+#ifdef QCOM_HARDWARE
virtual status_t start() {return INVALID_OPERATION;}
virtual status_t pause() {return INVALID_OPERATION;}
virtual status_t flush() {return INVALID_OPERATION;}
@@ -129,6 +130,7 @@ public:
return NO_ERROR;
}
#endif
+#endif
};
diff --git a/include/hardware_legacy/AudioSystemLegacy.h b/include/hardware_legacy/AudioSystemLegacy.h
index 39d552a..b0ca0b3 100644
--- a/include/hardware_legacy/AudioSystemLegacy.h
+++ b/include/hardware_legacy/AudioSystemLegacy.h
@@ -1,4 +1,7 @@
/*
+ * Copyright (c) 2013, The Linux Foundation. All rights reserved.
+ * Not a contribution.
+ *
* Copyright (C) 2008 The Android Open Source Project
* Copyright (c) 2011-2013, The Linux Foundation. All rights reserved.
*
@@ -62,10 +65,14 @@ enum audio_source {
AUDIO_SOURCE_CAMCORDER = 5,
AUDIO_SOURCE_VOICE_RECOGNITION = 6,
AUDIO_SOURCE_VOICE_COMMUNICATION = 7,
+#ifdef QCOM_HARDWARE
AUDIO_SOURCE_REMOTE_SUBMIX = 8,
AUDIO_SOURCE_FM_RX = 9,
AUDIO_SOURCE_FM_RX_A2DP = 10,
AUDIO_SOURCE_MAX = AUDIO_SOURCE_FM_RX_A2DP,
+#else
+ AUDIO_SOURCE_MAX = AUDIO_SOURCE_VOICE_COMMUNICATION,
+#endif
AUDIO_SOURCE_LIST_END // must be last - used to validate audio source type
};
@@ -85,7 +92,9 @@ public:
ENFORCED_AUDIBLE = 7, // Sounds that cannot be muted by user and must be routed to speaker
DTMF = 8,
TTS = 9,
+#ifdef QCOM_HARDWARE
INCALL_MUSIC = 10,
+#endif
NUM_STREAM_TYPES
};
@@ -248,6 +257,7 @@ public:
DEVICE_OUT_AUX_DIGITAL = 0x400,
DEVICE_OUT_ANLG_DOCK_HEADSET = 0x800,
DEVICE_OUT_DGTL_DOCK_HEADSET = 0x1000,
+#ifdef QCOM_HARDWARE
DEVICE_OUT_USB_ACCESSORY = 0x2000,
DEVICE_OUT_USB_DEVICE = 0x4000,
DEVICE_OUT_FM = 0x8000,
@@ -256,20 +266,30 @@ public:
DEVICE_OUT_ANC_HEADPHONE = 0x40000,
DEVICE_OUT_PROXY = 0x80000,
DEVICE_OUT_DEFAULT = DEVICE_OUT_SPEAKER,
+#else
+ DEVICE_OUT_DEFAULT = 0x8000,
+#endif
DEVICE_OUT_ALL = (DEVICE_OUT_EARPIECE | DEVICE_OUT_SPEAKER | DEVICE_OUT_WIRED_HEADSET |
DEVICE_OUT_WIRED_HEADPHONE | DEVICE_OUT_BLUETOOTH_SCO | DEVICE_OUT_BLUETOOTH_SCO_HEADSET |
DEVICE_OUT_BLUETOOTH_SCO_CARKIT | DEVICE_OUT_BLUETOOTH_A2DP | DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES |
DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER | DEVICE_OUT_AUX_DIGITAL |
DEVICE_OUT_ANLG_DOCK_HEADSET | DEVICE_OUT_DGTL_DOCK_HEADSET |
+#ifdef QCOM_HARDWARE
DEVICE_OUT_USB_ACCESSORY | DEVICE_OUT_USB_DEVICE |
DEVICE_OUT_ANC_HEADSET | DEVICE_OUT_ANC_HEADPHONE |
DEVICE_OUT_FM | DEVICE_OUT_FM_TX |
DEVICE_OUT_PROXY | DEVICE_OUT_DEFAULT),
+#else
+ DEVICE_OUT_DEFAULT),
+#endif
DEVICE_OUT_ALL_A2DP = (DEVICE_OUT_BLUETOOTH_A2DP | DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES |
DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER),
+#ifdef QCOM_HARDWARE
DEVICE_OUT_ALL_USB = (DEVICE_OUT_USB_ACCESSORY | DEVICE_OUT_USB_DEVICE),
+#endif
// input devices
+#ifdef QCOM_HARDWARE
DEVICE_IN_COMMUNICATION = 0x100000,
DEVICE_IN_AMBIENT = 0x200000,
DEVICE_IN_BUILTIN_MIC = 0x400000,
@@ -284,12 +304,27 @@ public:
DEVICE_IN_DEFAULT = DEVICE_IN_BUILTIN_MIC,
DEVICE_IN_ANLG_DOCK_HEADSET = 0x80000000,
DEVICE_IN_PROXY = DEVICE_IN_ANLG_DOCK_HEADSET,
+#else
+ DEVICE_IN_COMMUNICATION = 0x10000,
+ DEVICE_IN_AMBIENT = 0x20000,
+ DEVICE_IN_BUILTIN_MIC = 0x40000,
+ DEVICE_IN_BLUETOOTH_SCO_HEADSET = 0x80000,
+ DEVICE_IN_WIRED_HEADSET = 0x100000,
+ DEVICE_IN_AUX_DIGITAL = 0x200000,
+ DEVICE_IN_VOICE_CALL = 0x400000,
+ DEVICE_IN_BACK_MIC = 0x800000,
+ DEVICE_IN_DEFAULT = 0x80000000,
+#endif
DEVICE_IN_ALL = (DEVICE_IN_COMMUNICATION | DEVICE_IN_AMBIENT | DEVICE_IN_BUILTIN_MIC |
DEVICE_IN_BLUETOOTH_SCO_HEADSET | DEVICE_IN_WIRED_HEADSET | DEVICE_IN_AUX_DIGITAL |
+#ifdef QCOM_HARDWARE
DEVICE_IN_VOICE_CALL | DEVICE_IN_BACK_MIC | DEVICE_IN_ANC_HEADSET |
DEVICE_IN_FM_RX | DEVICE_IN_FM_RX_A2DP | DEVICE_IN_DEFAULT |
DEVICE_IN_ANLG_DOCK_HEADSET | DEVICE_IN_PROXY)
+#else
+ DEVICE_IN_VOICE_CALL | DEVICE_IN_BACK_MIC | DEVICE_IN_DEFAULT)
+#endif
};
// request to open a direct output with getOutput() (by opposition to sharing an output with other AudioTracks)