diff options
author | Alin Jerpelea <jerpelea@gmail.com> | 2013-05-15 22:30:44 +0300 |
---|---|---|
committer | Alin Jerpelea <jerpelea@gmail.com> | 2013-05-15 22:30:44 +0300 |
commit | ea493283e9267a1ddb27c98573c4f0b32ad7c34e (patch) | |
tree | 52ed2e2a3d5180854537cd48a259b0af72573b5c | |
parent | f077245a8ca039c536e76989fb2a8f4d3c344898 (diff) | |
download | android_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.cpp | 16 | ||||
-rw-r--r-- | audio/AudioPolicyCompatClient.h | 7 | ||||
-rw-r--r--[-rwxr-xr-x] | audio/AudioPolicyManagerBase.cpp | 11 | ||||
-rw-r--r-- | audio/audio_policy_hal.cpp | 9 | ||||
-rw-r--r-- | include/hardware_legacy/AudioPolicyInterface.h | 13 | ||||
-rw-r--r-- | include/hardware_legacy/AudioPolicyManagerBase.h | 5 | ||||
-rw-r--r-- | include/hardware_legacy/AudioSystemLegacy.h | 14 |
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 // |