Commit Graph

28 Commits

Author SHA1 Message Date
Ravi Kumar Alamanda 8fa6b1916a hal: support for sound trigger LAB and concurrency
Sound trigger lookahead buffering data is read through audio hal.
Also the audio hal has to inform sound trigger hal about concurrencies
and subsytsem restart events. Audio Hal uses proprietary interface
defined by sound trigger for communication with sound trigger hal.

Change-Id: Id344077b40b481a953769518f8a6ac0adc13b709
2014-09-10 16:35:16 -07:00
Haynes Mathew George f4da6fe455 audio: extend platform parser
Extend platform parser with support for additional sections.
Supported sections now include acdb ids, pcm device ids and backend names.

Change-Id: Idfbc8a8bb490606686436c107db5b0c7d636ccbe
2014-08-12 17:40:03 -07:00
Mingming Yin 3ee55c65a2 hal: Support for FLAC 24 bit format in offload path
- Add flac in supported codecs list
- Set FLAC codec specific parameters
- Set fragment size based on bit width and sampling rate
  for flac
- Configure backend to 24/16 bit based on the current
  usecases running

Change-Id: If013078e277fd3053fba6489345803f8f58bd86d
2014-08-06 11:42:43 -07:00
Vidyakumar Athota 21b3bb9608 hal: add DSDA support on APQ targets
-This change adds DSDA support for APQ based targets
 where external modem is used for voice calls.
-Add new CSD API to support local call hold.

Change-Id: I7743a1df43dc1abac4e325ff104ec1bb64c9e12b
2014-07-29 17:08:28 -07:00
Dhananjay Kumar 45b71743aa hal: Add support for listen playback concurrency
Add support for concurrency handling between number of
listen capture session and playback activity.

Change-Id: I4a0656f240c62f2cc6266a714a96fdcdc13ae9d8
2014-06-06 23:35:16 +05:30
Subhash Chandra Bose Naripeddy 542746726d hal: send calibration parameters in stream route
The stream's output rendering policy requires calibration to be
sent when stream routing configuration is set instead of the
device enable as each stream can have it's own routing with
different calibration needs.

Change-Id: If8bd365c4a6c616ed86b9383ba540ee8e28c4079
2014-05-26 22:10:39 -07:00
Subhash Chandra Bose Naripeddy 19dc03b51f hal: configure playback stream rendering based on output policy
For the usecases where individual streams have to be rendered
through different post processing chain on DSP an output policy
is defined. The output configuration is read from the
output policy file based on the stream atrributes to render the
playback appropriately.

Change-Id: I095592013ffa5b04bea69254026ebb78e2934822
2014-05-18 21:04:42 -07:00
Venkata Narendra Kumar Gutta 88fd0bc938 hal: Add support for turning fluence on/off
- To turn on/off fluence we need to change the build prop
file and changes will take effect after reboot. There is no
option to turn it on/off without rebooting the target.
- Add set_params support to turn it on and off.
An option is given to user to select the dualmic fluence
based on which set_parms is invoked.

Change-Id: I51d580af820d8e0b1bd1384c941ffba3f96813ca
CRs-Fixed: 605087
2014-03-27 19:47:56 +05:30
Shiv Maliyappanahalli c6fd8eedbf hal: add support for device mute
Add support for muting the RX and TX devices without affecting
the voice stream. This feature is added to enable voice call
quality testing by carriers.

Change-Id: I4d0f599e44ae24ce02d29333f496ef18f889ac55
2014-03-12 15:00:57 -07:00
Helen Zeng 6a16ad7ed0 hal: add support for I2S based external modem
There are specific xml files used for I2S based external modem.
Add check to load the correct xml file.

For I2S based external modem, voice sample rate can be 8k or
16k based on vocoder type. Call csd client api to get the
correct sample rate to configure voice call.

Change-Id: Ie9799336620f49a890355be74fe1830eb348cabe
2014-03-03 14:16:24 -08:00
Linux Build Service Account 084ff19cd7 Merge "hal: Add support for PCM in offload path" 2014-02-19 05:27:07 -08:00
ApurupaPattapu c6a3a9e6ed hal: Add support for PCM in offload path
- Translate PCM Offload format to pcm codec id
- Set 16/24 sub format id in compress params format
- Calculate offload fragment size for pcm
- Move offload calculation functions to platform file
- Update audio policy manager isOffloadSupported
  for pcm offload profile. Use audio.offload.pcm.enable

Change-Id: I2064d646b66e8283fce2cc736e96fb93cba0a552
2014-02-13 11:35:34 -08:00
Vidyakumar Athota 545dbd3494 hal: Add new CSD API to reduce in call device switch delay
New CSD api is added to reduce device switch delay during voice call.
This api is called before enabling the devices so that csd voice call
sequence on MDM can run in parallel with device enable configuration
on APQ.

Change-Id: I9239ff21e1c07370516d0ed668e1e94af12f9eb2
2014-02-06 11:56:58 -08:00
Ben Romberger 61764e3b80 hal: Rename & move platform_parser.c
Move platform_parser to root hal directory. Rename
platform_parser to platform_info. Change name of
XML file read from platform_info.xml to
audio_platform_info.xml. The xml now only needs
information for ACDB ID's that you want overwritten.
Names in the XML now match sound device enums in
platform.c.

Change-Id: I6f9bfcf4149f08d88cb2a95ba021bdf7296aaf4d
2014-01-23 16:22:26 -08:00
Ben Romberger 5588688cbd hal: Add XML parser for platform info
Add XML parser which parses the platform_info.xml
on the device. That xml contains ACDB ID information
and is populated from the device project folder to
the /etc folder on the device. It is used to overwrite
hardcoded ACDB ID's in platform.c.

Change-Id: I86419bf0f48bcf7f0125da58626adab1d23fa50a
2014-01-14 17:36:29 -08:00
Vidyakumar Athota 2850d5327d hal: In-call recording and In-call music support on APQ targets
-In-call recording feature support is added in APQ.
-In-call music delivery support is added in APQ.

Change-Id: Id473eac87da33f1f566b6910ec1feadcd3f08317
2013-11-22 11:17:57 -08:00
Kiran Kandi de144c8495 hal: notify listen while enabling/disabling snd device
Listen needs be stopped when audio capture is active. Also
Listen needs to be started again after audio capture becomes
inactive. Stop and start listen based on audio capture device.

Change-Id: I05ca7cccd59b43a163604881bd9c6ee10cc8fba3
Depends-on: 510494
2013-11-21 11:45:19 -08:00
Vidyakumar Athota 1fd2179b5f hal: change voice call sequence on APQ targets
Send device disable command to external modem before voice call
mixer controls are disabled on APQ side. Enable device command
also should be sent only after enabling mixer controls on APQ side.

Change-Id: I2e4dc321b16f695564460771b3656cd2c4a089a9
2013-11-19 17:10:58 -08:00
Mingming Yin e62d784d2d hal: Add support for compressed capture
- Add support for AMR-WB compressed capture.

Change-Id: Ief591c5d1ccc6f8afb408abfff447787ee7bd7aa
2013-11-18 14:56:53 -08:00
Vidyakumar Athota d9d9ff34fa hal: add voice call support on apq8084
APQ8084 uses external modem to make voice calls.
APQ uses CSD QMI interface to communicate with external
modem. Add csd client apis to support voice calls

Change-Id: I11fe0cc614ee38c42e95b40d5cd5e2d8b3afd43a
2013-11-13 16:56:22 -08:00
Preetam Singh Ranawat de84f1a7fc hal : Support for another instance of fm recording
-Added support for one more instance of fm recording
    to play fm over a2dp.

Change-Id: I0c796c5acdc045327a8d43754e7530aab10097d9
2013-11-06 03:51:06 +05:30
Ravi Kumar Alamanda 48c921d4e8 hal: Add support for multiple hardware variants
- Most of the targets supports multiple hardware variants such as
  MTP, CDP, Fluid, Liquid etc. The mixer paths for certain devices
  may vary on some of the variants. For example, the mixer controls
  for speaker device are different on msm8974 MTP and Fluid variants.
- Update audio HAL to select corresponding entry in the
  mixer_paths.xml file based on HW information.

Change-Id: I060f2e6c331344dd41417c19fb688ff27a129308

Conflicts:

	hal/Android.mk
2013-11-03 15:44:13 -08:00
Shruthi Krishna ace1085d17 Merge remote-tracking branch into aosp
audio/hal: Configure HDMI channels based on output stream channels
  hal: Fix for Tx Mute issue when a new call accepted while in call
  Level measurement in offloaded visualizer
  audio: Presentation time enhancements
  implement get_presentation_position() for offloaded outputs
  audio : add new TMUS MCC and MNC list
  audio : add new TMUS MCC and MNC list
  audio : add new TMUS MCC and MNC list
  add offloaded audio visualizer
  audio: compress offload enhancements
  audio: enable AAC offload
  audio: set cached volume before starting voice call
  audio: set cached volume before starting voice call
  Implement HAL API get_presentation_position
  hal: force stop after drain.
  hal: Add support for Tunnel mode audio playback

Conflicts:
	Android.mk
	hal/audio_hw.c
	hal/audio_hw.h
	hal/msm8960/platform.c
	hal/msm8974/platform.c

Change-Id: I0c66fd6bae9b4974e1791f4e848c775d389da3d0
2013-10-25 14:32:12 -07:00
Shiv Maliyappanahalli da10764803 audio_hal: add incall recording feature
The uplink, downlink and the combination of both can be
recorded using sound recorder app. Add support for incall
recording feature in audio HAL.

Change-Id: Ia828ab5b3af8044d82b6ef8eb989ae0ba9bbba16
2013-10-21 12:37:25 -07:00
Shiv Maliyappanahalli 34b585f05a audio_hal: Add support for multi voice sessions
Update HAL to add multi SIM voice support. Seperate
out voice features to voice files.

Add getprop/setprop for BT sample rate, Fluence and Slow talk.

Change-Id: Ief61466f78c7b915549981a28fc7ff32731607a5
2013-10-19 00:06:47 -07:00
Haynes Mathew George 7ff216f80f audio: Presentation time enhancements
1) Add API to query platform render latency. This API is only
valid for deep-buffer and low-latency streams.
2) Adjust frames rendered for deep-buffer and low-latency streams
with the platform render latency
3) Use tinycompress APIs to query presentation time in case of
offload streams.

Bug: 10551158
Change-Id: If94e0994bfc0b757f29aa4b48be6fc63dc17bca0
2013-09-20 15:50:21 -07:00
Haynes Mathew George 47cd4cbdb1 hal: Fix EDID information
- Get EDID audio block info from a mixer control instead of a file.
- Fix a bug where the current sad is not updated in the for loop.

Bug: 9430906
Change-Id: I750e307ce1064eeb98d09ea8534a375252630841
2013-08-07 14:00:54 -07:00
Eric Laurent b23d528649 audio HAL: separate platform specific code
Separate platform specific code from generic audio HAL code.
Platform specific code is:
- platform initialization
- pcm device selection
- pcm stream configuration
- sound device selection
- acdb ID selection
- HDMI configuration

Change-Id: Iaf327943fa8674aad0c22a71e7cbf4288a138c7d

Conflicts:
	hal/audio_hw.c
	hal/audio_hw.h
2013-06-10 17:45:27 -07:00