summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlin Jerpelea <jerpelea@gmail.com>2013-05-15 22:30:44 +0300
committerAlin Jerpelea <jerpelea@gmail.com>2013-05-15 22:30:44 +0300
commitea493283e9267a1ddb27c98573c4f0b32ad7c34e (patch)
tree52ed2e2a3d5180854537cd48a259b0af72573b5c
parentf077245a8ca039c536e76989fb2a8f4d3c344898 (diff)
downloadandroid_hardware_libhardware_legacy-jellybean.tar.gz
android_hardware_libhardware_legacy-jellybean.tar.bz2
android_hardware_libhardware_legacy-jellybean.zip
u8500: add ST Ericsson audio configsjellybean
to enable add STE_AUDIO ported from commit 7195777bc255820e60c008c3be52d3969e15f0b2 Change-Id: I9689c73b8aa8300f3268f4d41ef1407d7e0bf3d0
-rw-r--r--audio/AudioPolicyCompatClient.cpp16
-rw-r--r--audio/AudioPolicyCompatClient.h7
-rw-r--r--[-rwxr-xr-x]audio/AudioPolicyManagerBase.cpp11
-rw-r--r--audio/audio_policy_hal.cpp9
-rw-r--r--include/hardware_legacy/AudioPolicyInterface.h13
-rw-r--r--include/hardware_legacy/AudioPolicyManagerBase.h5
-rw-r--r--include/hardware_legacy/AudioSystemLegacy.h14
7 files changed, 74 insertions, 1 deletions
diff --git a/audio/AudioPolicyCompatClient.cpp b/audio/AudioPolicyCompatClient.cpp
index 0661ec9..8d33775 100644
--- a/audio/AudioPolicyCompatClient.cpp
+++ b/audio/AudioPolicyCompatClient.cpp
@@ -74,6 +74,21 @@ audio_io_handle_t AudioPolicyCompatClient::openInput(audio_module_handle_t modul
audio_devices_t *pDevices,
uint32_t *pSamplingRate,
audio_format_t *pFormat,
+#ifdef STE_AUDIO
+ audio_channel_mask_t *pChannelMask,
+ audio_input_clients *pInputClientId)
+{
+ return mServiceOps->open_input_on_module(mService, module, pDevices,
+ pSamplingRate, pFormat, pChannelMask, pInputClientId);
+}
+
+status_t AudioPolicyCompatClient::closeInput(audio_io_handle_t input,
+ audio_input_clients *inputClientId)
+{
+ return mServiceOps->close_input(mService, input, inputClientId);
+}
+
+#else
audio_channel_mask_t *pChannelMask)
{
return mServiceOps->open_input_on_module(mService, module, pDevices,
@@ -84,6 +99,7 @@ status_t AudioPolicyCompatClient::closeInput(audio_io_handle_t input)
{
return mServiceOps->close_input(mService, input);
}
+#endif
status_t AudioPolicyCompatClient::setStreamOutput(AudioSystem::stream_type stream,
audio_io_handle_t output)
diff --git a/audio/AudioPolicyCompatClient.h b/audio/AudioPolicyCompatClient.h
index 5d7a5c1..42a38ee 100644
--- a/audio/AudioPolicyCompatClient.h
+++ b/audio/AudioPolicyCompatClient.h
@@ -54,8 +54,15 @@ public:
audio_devices_t *pDevices,
uint32_t *pSamplingRate,
audio_format_t *pFormat,
+#ifdef STE_AUDIO
+ audio_channel_mask_t *pChannelMask,
+ audio_input_clients *pInputClientId = NULL);
+ virtual status_t closeInput(audio_io_handle_t input,
+ audio_input_clients *inputClientId = NULL);
+#else
audio_channel_mask_t *pChannelMask);
virtual status_t closeInput(audio_io_handle_t input);
+#endif
virtual status_t setStreamOutput(AudioSystem::stream_type stream, audio_io_handle_t output);
virtual status_t moveEffects(int session,
audio_io_handle_t srcOutput,
diff --git a/audio/AudioPolicyManagerBase.cpp b/audio/AudioPolicyManagerBase.cpp
index eecd446..d92fef7 100755..100644
--- a/audio/AudioPolicyManagerBase.cpp
+++ b/audio/AudioPolicyManagerBase.cpp
@@ -526,7 +526,6 @@ audio_io_handle_t AudioPolicyManagerBase::getOutput(AudioSystem::stream_type str
channelMask,
(audio_output_flags_t)flags);
}
-
if (profile != NULL) {
ALOGV("getOutput() opening direct output device %x", device);
@@ -792,7 +791,12 @@ audio_io_handle_t AudioPolicyManagerBase::getInput(int inputSource,
uint32_t samplingRate,
uint32_t format,
uint32_t channelMask,
+#ifdef STE_AUDIO
+ AudioSystem::audio_in_acoustics acoustics,
+ audio_input_clients *inputClientId)
+#else
AudioSystem::audio_in_acoustics acoustics)
+#endif
{
audio_io_handle_t input = 0;
audio_devices_t device = getDeviceForInputSource(inputSource);
@@ -848,7 +852,12 @@ audio_io_handle_t AudioPolicyManagerBase::getInput(int inputSource,
&inputDesc->mDevice,
&inputDesc->mSamplingRate,
&inputDesc->mFormat,
+#ifdef STE_AUDIO
+ &inputDesc->mChannelMask,
+ inputClientId);
+#else
&inputDesc->mChannelMask);
+#endif
// only accept input with the exact requested set of parameters
if (input == 0 ||
diff --git a/audio/audio_policy_hal.cpp b/audio/audio_policy_hal.cpp
index b64c6b6..5112f5e 100644
--- a/audio/audio_policy_hal.cpp
+++ b/audio/audio_policy_hal.cpp
@@ -175,11 +175,20 @@ static audio_io_handle_t ap_get_input(struct audio_policy *pol, audio_source_t i
uint32_t sampling_rate,
audio_format_t format,
uint32_t channels,
+#ifdef STE_AUDIO
+ audio_in_acoustics_t acoustics,
+ audio_input_clients *inputClientId)
+#else
audio_in_acoustics_t acoustics)
+#endif
{
struct legacy_audio_policy *lap = to_lap(pol);
return lap->apm->getInput((int) inputSource, sampling_rate, (int) format, channels,
+#ifdef STE_AUDIO
+ (AudioSystem::audio_in_acoustics)acoustics, inputClientId);
+#else
(AudioSystem::audio_in_acoustics)acoustics);
+#endif
}
static int ap_start_input(struct audio_policy *pol, audio_io_handle_t input)
diff --git a/include/hardware_legacy/AudioPolicyInterface.h b/include/hardware_legacy/AudioPolicyInterface.h
index a488888..b8f8437 100644
--- a/include/hardware_legacy/AudioPolicyInterface.h
+++ b/include/hardware_legacy/AudioPolicyInterface.h
@@ -110,7 +110,12 @@ public:
uint32_t samplingRate = 0,
uint32_t Format = AudioSystem::FORMAT_DEFAULT,
uint32_t channels = 0,
+#ifdef STE_AUDIO
+ AudioSystem::audio_in_acoustics acoustics = (AudioSystem::audio_in_acoustics)0,
+ audio_input_clients *inputClientId = NULL) = 0;
+#else
AudioSystem::audio_in_acoustics acoustics = (AudioSystem::audio_in_acoustics)0) = 0;
+#endif
// indicates to the audio policy manager that the input starts being used.
virtual status_t startInput(audio_io_handle_t input) = 0;
// indicates to the audio policy manager that the input stops being used.
@@ -212,9 +217,17 @@ public:
audio_devices_t *pDevices,
uint32_t *pSamplingRate,
audio_format_t *pFormat,
+#ifdef STE_AUDIO
+ audio_channel_mask_t *pChannelMask,
+ audio_input_clients *pInputClientId = NULL) = 0;
+ // closes an audio input
+ virtual status_t closeInput(audio_io_handle_t input, audio_input_clients *pInputClientId = NULL) = 0;
+
+#else
audio_channel_mask_t *pChannelMask) = 0;
// closes an audio input
virtual status_t closeInput(audio_io_handle_t input) = 0;
+#endif
//
// misc control functions
//
diff --git a/include/hardware_legacy/AudioPolicyManagerBase.h b/include/hardware_legacy/AudioPolicyManagerBase.h
index b227782..49ee3b8 100644
--- a/include/hardware_legacy/AudioPolicyManagerBase.h
+++ b/include/hardware_legacy/AudioPolicyManagerBase.h
@@ -100,7 +100,12 @@ public:
uint32_t samplingRate,
uint32_t format,
uint32_t channels,
+#ifdef STE_AUDIO
+ AudioSystem::audio_in_acoustics acoustics,
+ audio_input_clients *inputClientId = NULL);
+#else
AudioSystem::audio_in_acoustics acoustics);
+#endif
// indicates to the audio policy manager that the input starts being used.
virtual status_t startInput(audio_io_handle_t input);
diff --git a/include/hardware_legacy/AudioSystemLegacy.h b/include/hardware_legacy/AudioSystemLegacy.h
index d1ed5c7..770c023 100644
--- a/include/hardware_legacy/AudioSystemLegacy.h
+++ b/include/hardware_legacy/AudioSystemLegacy.h
@@ -385,6 +385,20 @@ public:
NUM_FORCE_USE
};
+#ifdef STE_AUDIO
+// AUDIO_INPUT_CLIENT_ID_BASE provide a means to refer to client Id´s not explicitly defined in the enum audio_input_clients
+#define AUDIO_INPUT_CLIENT_ID_BASE AUDIO_INPUT_CLIENT_ID1
+
+ enum audio_input_clients {
+ AUDIO_INPUT_CLIENT_ID1 = 0x1,
+ AUDIO_INPUT_CLIENT_ID2 = 0x2,
+ AUDIO_INPUT_CLIENT_ID3 = 0x3,
+ AUDIO_INPUT_CLIENT_ID4 = 0x4,
+ AUDIO_INPUT_CLIENT_PLAYBACK = 0x80000000, // request client of playback type
+ AUDIO_INPUT_CLIENT_RECORD = 0x80000001 // request client of recording type
+ };
+#endif
+
//
// AudioPolicyService interface
//