Commit Graph

1295 Commits

Author SHA1 Message Date
Linux Build Service Account 8d2c9c16c5 Merge "hal: post_proc: add volume based audio calibration support" 2015-07-07 02:03:55 -07:00
Linux Build Service Account 18175cc5a5 Merge "hal: Fix device selection at start of the voice call" 2015-07-04 12:32:07 -07:00
Linux Build Service Account b7b866a293 Merge "hal: Reduce minimum offload fragment size for PCM offload" 2015-07-04 12:32:07 -07:00
Linux Build Service Account 68e5a00123 Merge "hal: Increase PCM offload buffering" 2015-07-03 21:48:38 -07:00
Linux Build Service Account 87e4624f57 Merge "hal: Fix voice session setup failure" 2015-07-03 15:54:26 -07:00
Naresh Tanniru de7d175031 hal: Reduce minimum offload fragment size for PCM offload
- Video frame drops are observed on RTSP streaming
  for low sampling rate clips

- For PCM offload audio track uses server proxy position
  value to caluclate render position.
  Due to high minimum fragment size value of PCM offload,
  low sampling rate clips are using bigger audio buffer
  than desired 20ms PCM offload buffer. This results
  improper audio render position return to Nuplayer,
  which leads to video frame drops

- Reduce minimum fragement size for PCM offload from 4k
  to 512

Change-Id: I661f1ffe7cfd41edead82d06063802a3ad7b9b66
2015-07-03 15:10:18 -07:00
Venkata Narendra Kumar Gutta bfdfa150d3 hal: Fix device selection at start of the voice call
Voice call setup latency value is exceeding 500 msec. It is due to
primary output selecting handset instead of voice handset causing
the extra delay. Fix this by selecting voice handset when the mode
is set to MODE_IN_CALL.

CRs-Fixed: 855783
Change-Id: Ibfaee75d658bffbcf2e9cdeaa589e0487c214b41
2015-07-03 15:10:06 -07:00
Linux Build Service Account 2678746299 Merge "hal: audio_extn: spk_prot: add support for wsa temperature sensor" 2015-07-02 22:17:22 -07:00
Linux Build Service Account ce773917ac Merge "hal: audio: add tz_names extn to support from audio platform_info xml" 2015-07-02 22:17:22 -07:00
Venkata Narendra Kumar Gutta db4e1f0f2e hal: Fix voice session setup failure
Sometimes no RTP packets transferred in VoLTE call on headset.
Voice call path setup is failed due to no backends enabled.
This happens when routing is triggered on combo device for
primary output and mode is MODE_IN_CALL at that time.
Fix this issue by selecting proper device based on in call
information.

CRs-Fixed: 859796
Change-Id: I9a5a6b9296d168e9292b94fda147491ee35c0edd
2015-07-02 11:15:39 -07:00
vivek mehta 341b6f0ff8 hal: post_proc: add volume based audio calibration support
- add new effect module to listen to volume and device change
- based on volume levels of all streams active over speaker
  compute gain based calibration level and communicate
  with audio HAL to send the same to ACDB loader

Change-Id: I27294dee3b757a3e7999a62f4f538b59d91c2e58
2015-06-30 13:47:29 -07:00
Alexy Joseph 2ce25e2733 hal: Increase PCM offload buffering
Increase PCM offload buffering to 40ms

CRs-Fixed: 856812
Change-Id: I67be148f85acc7c155ed222d652d5fedfb6a5e9b
2015-06-26 13:01:26 -07:00
Bhalchandra Gajare 45fee28d6c hal: Fix sidetone sequence during voice call
When sidetone is enabled during voice call, the RX and TX path mixer
controls are issued back to back, this causes the codec path to be
enabled from TX to RX as the internal loopback for sidetone exists. Due
to enabling this path, pop noise is observed on headphones. This issue
is fixed by treating sidetone as special case and changing the enable
and disable sequence of sidetone mixer controls.

CRs-fixed: 839663
Change-Id: I7aea55af963cf939286e5b349ff25fd783314679
2015-06-25 16:58:28 -07:00
Laxminath Kasam 069882e972 hal: audio_extn: spk_prot: add support for wsa temperature sensor
Changes to add support for WSA temperature sensor to get initial
t0 equilibrium temperature.

Change-Id: I1297eb766458f2705d14311b6e49818f47f49a57
2015-06-22 17:19:58 +05:30
Laxminath Kasam 8225243c24 hal: audio: add tz_names extn to support from audio platform_info xml
To add Speaker TZ names from audio_platform_info xml, add required
support.

Change-Id: Idd31ed9e7b7235245c3dda4ccb11b47762db5ee8
2015-06-22 17:19:52 +05:30
Dhananjay Kumar 8413788024 post_proc: include BT A2DP headset for BassBoost effect
Add BT A2DP headset as supported device for BassBoost effect.

CRs-Fixed: 849162
Change-Id: I830e31344aeeab055d88da5e6c735f3747d69ad4
2015-06-17 02:56:21 -07:00
Weiyin Jiang 73e2ea70d2 hal: fix minor spelling error
WMAPRO is not standard format type, correct it to WMA_PRO.

CRs-Fixed: 851673
Change-Id: Ic52aad6995f62cbe24aabaf3580389c1b5f25557
2015-06-15 05:44:33 -07:00
Linux Build Service Account 78cc98d75f Merge "hal: spk_prot: fix initial calibration fail with usecase retry" 2015-06-13 19:51:18 -07:00
Linux Build Service Account cfbb377559 Merge "hal: update pcm ids for multi offload use cases" 2015-06-13 00:07:42 -07:00
Linux Build Service Account ad2b1565a5 Merge "hal: Fix for memory corruption during Sub System Restart" 2015-06-13 00:07:38 -07:00
Laxminath Kasam b2ee62c344 hal: spk_prot: fix initial calibration fail with usecase retry
Usecase id of PCM_CALIB_TX is overriden by AUDIO_RECORD
in audio_extn_spkr_prot_start_processing to reset calibration
to handset Mic.
audio_extn_spkr_prot_stop_processing API looks for usecase
PCM_CALIB_TX to delete the node from usecase list,
fails to find as usecase id is overriden and this node
remains in usecase list.
So when the initial calibration is happening, usecase list
empty check condition is failing and returns.
Avoid override usecase id to allow delete of list node
in stop_audio_processing API.

CRs-Fixed: 843262
Change-Id: I12c901efba39dad771d6df9c2332becd8ee9f1d8
2015-06-11 23:09:02 -07:00
Linux Build Service Account 5e4ce50960 Merge "hal: native audio backward compatibility" 2015-06-10 18:28:51 -07:00
Linux Build Service Account 3898a9899b Merge "hal: Add support for Native Audio(44.1kHz)" 2015-06-10 18:28:51 -07:00
Apoorv Raghuvanshi 214921673e hal: native audio backward compatibility
- all changes for native audio backward
  compatibility and related
- add set parameters from UI
- enable dynamic device switching
- featurize the code
- various backend concurrency changes

Change-Id: Id0f824c4b4c033f42008a4e8868652c8f6fe5c42
2015-06-05 12:14:36 -07:00
Naresh Tanniru f0bbefb020 hal: Fix for memory corruption during Sub System Restart
- Random crashes are observed during SSR while playing
  compress session

- To identify active compress usecases during SSR,list_for_each()
  is being used for traversing.
  Once compress session is identiifed as part of loop, list_remove()
  (called from out_standby) is used to remove compress usecase.
  list_for_each() uses this removed node to traverse next node which
  result in-valid memory access as node is already removed.

- Instead of list_for_each(), use list_for_each_safe() which will make
  sure next node is updated before removing compress usecase.

Change-Id: I58c331caca4123651139685bb6c1eb20588a8097
2015-06-05 05:42:11 -07:00
Dhanalakshmi Siddani eb7d4cdb66 audio: Fix for pop noise issue during HPX on/off
- Pop noise is heard when hpx is turned on/off
- Pop is heard as post mix commands are getting processed prior to premix
  commands in DSP due to delay of modules between premix and postmix
- Fix is to introduce fade_in after premix is on.

CRs-Fixed: 844010
Change-Id: Ibeb7ece5f8799c5119b2677e18da32df090b5ae1
2015-06-03 17:42:38 -07:00
Dhananjay Kumar a68d7af781 hal: update pcm ids for multi offload use cases
Pcm ids for secondary offload sessions are not mapped
properly for 8916 platform.
Use audio_platform_info.xml to update pcm ids.
Use separate xml file, audio_platform_info_extcodec.xml
for external codec since it's pcm ids are different.

CRs-Fixed: 842795
Change-Id: Id34e639b2c169e95f17400bc3141206dfc6ad0b9
2015-06-03 01:09:13 -07:00
Linux Build Service Account 279916d6be Merge "hal: Fix alignement of buffer sent to DSP for multichannel clips" 2015-06-01 19:40:54 -07:00
Preetam Singh Ranawat 8347e465b9 hal: Fix alignement of buffer sent to DSP for multichannel clips
- currently buffer size is Aligned with 96 which is not multiple
   of some channels(5,7).
 - Buffer size must be multiple of (number of channels * bytes per sample).
   For writes to succeed, the buffer must be written at address which is
   multiple of 32.
 - Alignments of (number of channels * bytes per sample)*32 satisfies both
   of the above requirements.

Change-Id: I20de875615141a4a331383a5348abd28b97306f7
2015-05-29 12:33:25 -07:00
Mingming Yin 15dae80915 hal: send DTS HPX license to ADSP after ssr
Send DTS HPX license to ADSP after SSR.

Change-Id: I60ac2a2ab3f575e671bcd0af133755b2089526dc
2015-05-27 16:49:10 -07:00
Apoorv Raghuvanshi f59bb22e6d hal: Add support for Native Audio(44.1kHz)
- Changes for device/Usecase selection
- Add new and combo devices for headphones
- Combo device handling
- Add new backend and logic to handle multiple
  backends
- Remove hardcoded mixers and select them
  dynamically based on the device

Change-Id: I7207291f2c27da13ba0cc77c66de1144f4b9888a
2015-05-26 17:35:39 -07:00
Pradnya Chaphekar 73e2e8bd17 hal: Set ddp endpoint params for Dolby decoder
- Set ddp endpoint params for Dolby decoder
- Rename DOLBY_DAP macro. Legacy DS1 functions
  using mixer controls get enabled when dolby
  buildspec enables DOLBY_DAP macro. Avoid this
  by renaming the macro.

Change-Id: I66c7d1896f4260754551f03852fa8c140abf0e53
2015-05-18 15:35:43 -07:00
Linux Build Service Account 43be559d72 Merge "hal: Add provision to select backend based on codec type" 2015-05-13 10:11:34 -07:00
Linux Build Service Account b87c2eeacf Merge "hal: add support to offload VORBIS, ALAC and APE formats" 2015-05-12 18:38:45 -07:00
Linux Build Service Account 34adcbacf6 Merge "hal: Fix app type mismatch for Tx path" 2015-05-12 06:47:03 -07:00
Satya Krishna Pindiproli 7047160e9a hal: add support to offload VORBIS, ALAC and APE formats
Send ALAC and APE specific data to DSP as part of the metadata
to support playback of ALAC and APE clips in offload mode.

Force vorbis offload run in transcoded bit stream mode.

Also move parsing of WMA and FLAC metadata to audio_extn.c
from audio_hw.c.

Change-Id: Ideccadff93d4c06e649cd535b8870e45ba26eaea
2015-05-12 15:52:03 +05:30
Linux Build Service Account 4545e99f0f Merge "hal: pass samplerate as is to tiny compress" 2015-05-12 02:59:29 -07:00
Karthik Reddy Katta 508eca4954 hal: Add provision to select backend based on codec type
SLIMBUS_0 is the backend on 8952 external codec PLs.
Whereas TERT_MI2S is the backend on 8952 internal codec PLs.
Since both these PLs are supported on same code base,
provision is required to select backend based on codec type.

Change-Id: I9c0dd7d952ab9d6b9bf738074d97597622e09590
2015-05-12 13:39:52 +05:30
Linux Build Service Account a42bbe79af Merge "hal: msm8916: update pcm dev-id for feedback speaker protection VI dailink" 2015-05-11 10:57:32 -07:00
Linux Build Service Account c8078a9f88 Merge "hal: spk_protection: fix crash due to invalid param sent" 2015-05-11 10:57:32 -07:00
Naresh Tanniru 2727f827f7 hal: Fix app type mismatch for Tx path
- SA plus topology is enabled for TX path
  due to improper apptype selection

- ACDB module always return default app type
  of Rx path for all use cases

- Over ride app type to Tx path if selected
  app type is equal to default Rx path

- This is temp fix,need ACDB API to get different
  default app types for Tx & Rx paths

Change-Id: I92050c13b21cc44c91e0cef8e5c1cc0b28519432
2015-05-11 19:11:55 +05:30
Linux Build Service Account 9aee331b49 Merge "hal: allow to get render position for non-offload use cases" 2015-05-08 14:19:15 -07:00
Linux Build Service Account e003ce9ed8 Merge "hal: add wma offload duration check" 2015-05-08 14:19:14 -07:00
Laxminath Kasam 999caa4673 hal: msm8916: update pcm dev-id for feedback speaker protection VI dailink
Use 26 as VIsense dailink to be common across internal and external codecs
on 8952 target.

Change-Id: I67e1315af54735e1c4955293ee8a83652c6a8bd0
2015-05-08 18:17:23 +05:30
Laxminath Kasam 077f8578c1 hal: spk_protection: fix crash due to invalid param sent
In platform_send_audio_calibration, 2nd parameter needs to
be usecase pointer, but enum value is sent causing mediaserver
crash. Update the API to pass correct parameter.

Change-Id: I8d699764be18be926e68ba73ee8df5510f81d9e6
2015-05-08 00:20:59 +05:30
Zhou Song 32a556e36a hal: allow to get render position for non-offload use cases
For pcm voip use case which goes with direct output, render
position can be queried from HAL, while currently it is not
supported and always return with invalid status.

Return with written frames for pcm use cases when render
position queried from HAL.

CRs-Fixed: 828864

Change-Id: I5fec7f5fc1f61dc36cbeb41a4121c2c83f63b7f4
2015-05-06 23:11:31 -07:00
Linux Build Service Account 60713cc65c Merge "audio: fix member initialization" 2015-05-06 15:47:26 -07:00
Weiyin Jiang 16cd242c75 hal: add wma offload duration check
offload duration check is required for wma, wmapro audio format as well
now that we offload them.

Change-Id: I0f3a34ac39ceae937269aedb46c179d7fb01a557
2015-05-06 20:32:57 +08:00
Haynes Mathew George 204045b2f9 audio: fix member initialization
Re-apply missing mutex and condition var initialization
code from I7018f38f29a19b130185b285f4acf22219e4228c.

Change-Id: If1d6b3d4f65c30154d3d6c9e0192a1ce72c0d495
CRs-Fixed: 587676
2015-05-05 14:30:40 -07:00
Dhananjay Kumar 60ae28822e hal: add support for AudioSphere effects
Add support to set and get AudioSphere parameters.
AudioSphere post processing is supported on stereo
speakers to add virtualization effect to audio
playback.

Change-Id: I85c5ce44b109cb51fce19df0f438ecf6a6d7661e
2015-05-01 20:21:10 +05:30