summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Kondik <shade@chemlab.org>2013-07-27 05:03:46 -0700
committerSteve Kondik <shade@chemlab.org>2013-07-28 01:15:01 -0700
commitec38e3d73d3d8cd3bdb16145d8967d7348202c9c (patch)
treeddab04042e9d1449c48f56f9bca625885d1bd403
parentc9c470532ec24dc9f8594e859221c012a7830065 (diff)
downloadandroid_hardware_libhardware_legacy-next.tar.gz
android_hardware_libhardware_legacy-next.tar.bz2
android_hardware_libhardware_legacy-next.zip
Add ifdefs for QCOM audio featuresnext
Change-Id: I1f60e185e1d0e8047db153eccb52e1c72a4862c6
-rw-r--r--audio/AudioPolicyManagerBase.cpp28
-rw-r--r--include/hardware_legacy/AudioHardwareInterface.h3
-rw-r--r--include/hardware_legacy/AudioSystemLegacy.h42
3 files changed, 64 insertions, 9 deletions
diff --git a/audio/AudioPolicyManagerBase.cpp b/audio/AudioPolicyManagerBase.cpp
index a5748ed..434e12f 100644
--- a/audio/AudioPolicyManagerBase.cpp
+++ b/audio/AudioPolicyManagerBase.cpp
@@ -1063,7 +1063,7 @@ status_t AudioPolicyManagerBase::setStreamVolumeIndex(AudioSystem::stream_type s
audio_devices_t curDevice =
getDeviceForVolume(mOutputs.valueAt(i)->device());
#ifndef ICS_AUDIO_BLOB
- if (device == curDevice)
+ if ((device == AUDIO_DEVICE_OUT_DEFAULT) || (device == curDevice))
#endif
{
status_t volStatus = checkAndSetVolume(stream, index, mOutputs.keyAt(i), curDevice);
@@ -1402,8 +1402,12 @@ AudioPolicyManagerBase::AudioPolicyManagerBase(AudioPolicyClientInterface *clien
{
const IOProfile *outProfile = mHwModules[i]->mOutputProfiles[j];
+#ifdef QCOM_HARDWARE
if ( (outProfile->mSupportedDevices & mAttachedOutputDevices) &&
!(outProfile->mFlags & AUDIO_OUTPUT_FLAG_DIRECT) ){
+#else
+ if (outProfile->mSupportedDevices & mAttachedOutputDevices) {
+#endif
AudioOutputDescriptor *outputDesc = new AudioOutputDescriptor(outProfile);
outputDesc->mDevice = (audio_devices_t)(mDefaultOutputDevice &
outProfile->mSupportedDevices);
@@ -2128,7 +2132,9 @@ AudioPolicyManagerBase::routing_strategy AudioPolicyManagerBase::getStrategy(
// while key clicks are played produces a poor result
case AudioSystem::TTS:
case AudioSystem::MUSIC:
+#ifdef QCOM_HARDWARE
case AudioSystem::INCALL_MUSIC:
+#endif
#ifdef QCOM_FM_ENABLED
case AudioSystem::FM:
#endif
@@ -2790,11 +2796,13 @@ const AudioPolicyManagerBase::VolumeCurvePoint
sSpeakerMediaVolumeCurve, // DEVICE_CATEGORY_SPEAKER
sDefaultMediaVolumeCurve // DEVICE_CATEGORY_EARPIECE
},
+#ifdef QCOM_HARDWARE
{ // AUDIO_STREAM_INCALL_MUSIC
sDefaultMediaVolumeCurve, // DEVICE_CATEGORY_HEADSET
sSpeakerMediaVolumeCurve, // DEVICE_CATEGORY_SPEAKER
sDefaultMediaVolumeCurve // DEVICE_CATEGORY_EARPIECE
},
+#endif
#ifdef QCOM_FM_ENABLED
{ // AUDIO_STREAM_FM
sDefaultMediaVolumeCurve, // DEVICE_CATEGORY_HEADSET
@@ -3550,8 +3558,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),
@@ -3564,12 +3574,16 @@ const struct StringToEnum sDeviceNameToEnumTable[] = {
STRING_TO_ENUM(AUDIO_DEVICE_OUT_FM_TX),
#endif
STRING_TO_ENUM(AUDIO_DEVICE_OUT_ALL_USB),
+#ifdef QCOM_HARDWARE
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),
#if defined(QCOM_FM_ENABLED) || defined(STE_FM)
STRING_TO_ENUM(AUDIO_DEVICE_IN_FM_RX),
@@ -3581,8 +3595,10 @@ const struct StringToEnum sDeviceNameToEnumTable[] = {
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 QCOM_HARDWARE
STRING_TO_ENUM(AUDIO_DEVICE_IN_PROXY),
STRING_TO_ENUM(AUDIO_DEVICE_IN_COMMUNICATION),
+#endif
};
const struct StringToEnum sFlagNameToEnumTable[] = {
@@ -3590,10 +3606,12 @@ const struct StringToEnum sFlagNameToEnumTable[] = {
STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_PRIMARY),
STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_FAST),
STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_DEEP_BUFFER),
+#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),
STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_INCALL_MUSIC),
+#endif
};
const struct StringToEnum sFormatNameToEnumTable[] = {
@@ -3602,6 +3620,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),
@@ -3617,17 +3636,22 @@ const struct StringToEnum sFormatNameToEnumTable[] = {
STRING_TO_ENUM(AUDIO_FORMAT_EVRCWB),
STRING_TO_ENUM(AUDIO_FORMAT_QCELP),
STRING_TO_ENUM(AUDIO_FORMAT_MP2),
+#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),
};
@@ -3635,10 +3659,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 e11c22f..17b6b3f 100644
--- a/include/hardware_legacy/AudioHardwareInterface.h
+++ b/include/hardware_legacy/AudioHardwareInterface.h
@@ -119,6 +119,7 @@ public:
#ifndef ICS_AUDIO_BLOB
virtual status_t getNextWriteTimestamp(int64_t *timestamp);
#endif
+#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,7 +130,7 @@ public:
*isAvail = true;
return NO_ERROR;
}
-
+#endif
};
/**
diff --git a/include/hardware_legacy/AudioSystemLegacy.h b/include/hardware_legacy/AudioSystemLegacy.h
index 69ad909..5904af2 100644
--- a/include/hardware_legacy/AudioSystemLegacy.h
+++ b/include/hardware_legacy/AudioSystemLegacy.h
@@ -88,7 +88,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
#ifdef QCOM_FM_ENABLED
FM = 11,
#endif
@@ -144,10 +146,12 @@ public:
HE_AAC_V1 = 0x05000000,
HE_AAC_V2 = 0x06000000,
VORBIS = 0x07000000,
+#ifdef QCOM_HARDWARE
EVRC = 0x08000000,
QCELP = 0x09000000,
EVRCB = 0x10000000,
EVRCWB = 0x11000000,
+#endif
MAIN_FORMAT_MASK = 0xFF000000,
SUB_FORMAT_MASK = 0x00FFFFFF,
// Aliases
@@ -258,33 +262,44 @@ 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,
+#endif
#if defined(QCOM_FM_ENABLED) || defined(STE_FM)
DEVICE_OUT_FM = 0x8000,
DEVICE_OUT_FM_TX = 0x10000,
#endif
+#ifdef QCOM_HARDWARE
DEVICE_OUT_ANC_HEADSET = 0x20000,
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),
- DEVICE_OUT_ALL_A2DP = (DEVICE_OUT_BLUETOOTH_A2DP | DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES |
+ DEVICE_OUT_PROXY |
+#endif
#if defined(QCOM_FM_ENABLED) || defined(STE_FM)
DEVICE_OUT_FM | DEVICE_OUT_FM_TX |
#endif
+ DEVICE_OUT_DEFAULT),
+ 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,
@@ -299,6 +314,17 @@ 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
#if defined (STE_FM)
DEVICE_IN_FM_RX = 0x1000000,
@@ -306,13 +332,15 @@ public:
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 |
- 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
+ DEVICE_IN_VOICE_CALL | DEVICE_IN_BACK_MIC |
+#ifdef QCOM_HARDWARE
+ DEVICE_IN_ANC_HEADSET |
+ DEVICE_IN_ANLG_DOCK_HEADSET | DEVICE_IN_PROXY |
+#endif
#if defined(QCOM_FM_ENABLED) || defined(STE_FM)
DEVICE_IN_FM_RX | DEVICE_IN_FM_RX_A2DP |
#endif
- )
+ DEVICE_IN_DEFAULT)
};
// request to open a direct output with getOutput() (by opposition to sharing an output with other AudioTracks)