summaryrefslogtreecommitdiffstats
path: root/audio/audio_hw.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'remotes/google/jb-mr1-release' into HEADKalimochoAz2012-11-231-76/+60
|\ | | | | | | | | | | | | | | | | | | Conflicts: audio/audio_hw.c init.tuna.rc overlay/frameworks/base/core/res/res/xml/storage_list.xml recovery/Android.mk Change-Id: I0b13c6b5e61ea709b0e9aaa1c7b798684b33873a
| * audio: changes ringtone volume when call is commingleemin2012-09-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the ringtone offset has to be setted to analog side. Buganizer : 6920555 According to Samsung's spec, the earphone ringtone volume level should be 14dB lowere than the media playback volume. On ICS, this behavior was working properly, but on JB this behavior is not working properly. Below is the analog and digital volume change from ICS to JB: ICS : Digital Volume = Normal / Analog volume = lowered 14dB JB : Digital Volume = increased 14dB (in comparison to ICS) / Analog volume = lowered 14dB (same as ICS) Hence the volume in JB has increased by 14dB when compared to ICS. Bug 6920555. Change-Id: Ibc248612db378b5b991221468d8f801257ba4103
| * audio: increase toro media speaker volume +2dBSimon Wilson2012-09-181-1/+1
| | | | | | | | | | Bug: 6878923 Change-Id: Id49d6489e5a99dee088246d146ee38151ba9499c
| * audio: fix string leakage in out_get_parameters()Eric Laurent2012-09-071-1/+1
| | | | | | | | | | | | | | | | | | out_get_parameters() was calling strdup() on the string returned by str_parms_to_str() before returning it to the caller. This creates a new string which is never freed as str_parms_to_str() already allocates a new string. Change-Id: I4bcc4aa17ab55e830d7a0569151f717422f6459b
| * audio: changes for new audio device enumsEric Laurent2012-09-061-69/+43
| | | | | | | | | | | | | | | | | | | | | | | | Modifications for new audio device enums: - Separated input and output device fields as output and input device values are now on 32 bits. - Changed audio device API version to 2.0 Also removed get_supported_devices() function not needed if audio_policy.conf file is present. Change-Id: I41b782e7450b4664048cc484a681b9327d8395da
| * audio: fix echo reference channels configurationEric Laurent2012-08-301-1/+1
| | | | | | | | | | | | | | | | When an auxiliary mic channel is used, the echo reference should use only the main channels to be consistent with the way the reverse effect processing is configured. Change-Id: I28ee1e2a9852fdd0e904fb01bedf90f3372683c9
| * Use 3 ms buffers for low latency pathGlenn Kasten2012-08-271-1/+1
| | | | | | | | Change-Id: Icf113e2e863a79cb3d870fac5781539702cdbfa8
| * Triple buffer if SRC enabledGlenn Kasten2012-08-211-0/+7
| | | | | | | | | | Bug: 6881638 Change-Id: I76255c2cd5845671c2342e22932c692342257208
| * Use audio_channel_mask_t consistentlyGlenn Kasten2012-06-251-2/+2
| | | | | | | | Change-Id: I90a50b58dd23fe522724df53f08b4f9687150da6
| * audio: acquire lock in adev_set_voice_volume()Eric Laurent2012-06-191-1/+3
| | | | | | | | | | | | | | | | | | | | Acquire the audio device mutex before calling into ril library in adev_set_voice_volume() to avoid concurrency with other calls to ril from select_mode() or set_incall_device(). Bug 6626532. Change-Id: I2347477b39ce46137a654047266b70dd691c021c
* | Correct toroplus detection in audio libraryKalimochoAz2012-07-111-1/+1
| | | | | | | | | | | | | | Since that was incorrectly detected, it was failing to use toro audio settings and was using maguro ones Change-Id: I0a5524011365e3ef39ab110b0e608dbce9edbae6
* | audio: allow louder output on speaker for toroBrint E. Kriebel2012-07-111-1/+2
| | | | | | | | | | | | | | The volume for media was not in sync with speaker phone and was too quiet. Change-Id: I2e18a75e85335f4f2b82dc8532551a3690f99890
* | audio: allow louder output on speaker for magurocodeworkx2012-07-111-2/+2
|/ | | | | | seems this is the max we can go without getting any negative effect. Change-Id: Ic769b1ac200d2b60588cb3ccaf65c7bce7251c1a
* audio: fix in call audio path switch issueEric Laurent2012-06-181-1/+4
| | | | | | | | | | | | Switching from BT SCO to earpiece does not seem to work when in call and an output stream is active. This change modifies out_set_parameters() to force the output stream into standby when a new audio path is selected while in call. Bug 6676684. Change-Id: I2817f80ea3fa3a0e00e9705fdb6d9a7e3183549b
* audio: workaround for hdmi multi channel swapEric Laurent2012-06-111-0/+11
| | | | | | | | | | Workaround for HDMI multi channel channel swap on first playback after opening the output stream: force re-opening the HDMI pcm driver after writing a few periods. Bug 4282214. Change-Id: Ibe1452a8905a27bc3f95564a45cfb9bb490b65ae
* audio: add support for multichannel HDMIEric Laurent2012-06-011-13/+241
| | | | | | | | | Added a dedicated audio output stream for multichannel HDMI. This output stream is used when an HDMI sink supporting 6 or 8 PCM channels is connected and 5.1 or 7.1 multichannel content it played. Change-Id: I7ad1cd6be4c2b3a9e24a4811aa87e7223badedc4
* audio: variable deep buffer sizeEric Laurent2012-05-141-20/+92
| | | | | | | | | | | Add back the capability to change the deep buffer size according to screen state. This solves various issues related to audio focus, volume and pause control that arise with large audio buffers. Those issues should be ultimately addressed by changes in the audio framework. Change-Id: I6889ecf0e5d8740745152261f27343e1ff533e7b
* audio: fix media volume issues.Eric Laurent2012-05-101-24/+88
| | | | | | | | | | | | | | | Fixed 2 issues with media volume: 1 - since we use mm port for music and tones port for other use cases the digital volume should be applied to both "DL2 Tones Playback Volume" and "DL2 Media Playback Volume". 2 - the total gain applied to audio originating from the AP is the combination of digital gain in ABE and analog gain in codec. Some use cases like telephony have a higher priority than media and apply a different (higher) analog gain. As this analog gain is common to all sources, digital media gain should be adjusted accordingly to avoid volume bursts while in call and playing music. This is particularly important in speaker phone mode. Change-Id: I90200282edca7098603edca2d56821290988cb20
* audio: fix memory leak.Eric Laurent2012-05-021-4/+8
| | | | | | | Fixed memory leak introduced by commit 4e7a573f in case of error in adev_open_output_stream(). Change-Id: I4acc070d748cea228da846f95c7826160e0196a5
* audio: add support for deep PCM bufferingEric Laurent2012-04-301-121/+230
| | | | | | | | | | | | | | | Implement one output stream with short buffers and one output stream with deep buffers. The stream with short buffers is selected for most use cases and provides short latency. It uses TONES_DL port and IOCTL write mode. The stream with deep buffers is used for music playback. It uses MM_DL port and MMAP NOIRQ write mode. The deep buffer stream is not used when the device selection is BT SCO, HDMI or SPDIF. The echo reference is only taken from the short buffer stream. Change-Id: I60ef720e52e96970b8b6618f9f43f24baadce60b
* Adjust output buffer size and sample rateGlenn Kasten2012-04-271-10/+78
| | | | | | | | | | | | Use 4 buffers of 96 frames each = 4 ms at 48 kHz. Keep the 44.1 kHz -> 48 kHz up-sampler in HAL. Disable mmap mode and non-IRQ mode; this gives better variance for cycle times. Reduce number of buffers from 4 to 2, works OK in non-mmap mode but not mmap mode. Update comments based on code review. Tested with audio input. Not yet tested with echo cancellation. Change-Id: I69db00ab408cd2aad5788d602eb01fc0c7e4e78b
* new audio device API version.Eric Laurent2012-04-161-23/+26
| | | | Change-Id: I1169d279b4a59355cf4362a7128b053bf940c158
* audio: add dual mic support for pre processingEric Laurent2012-04-101-101/+584
| | | | | | | | | | | | | | | | Added support for audio pre processing libraries implementing dual mic solutions. When a pre processor is enabled, its multi channel capabilities are queried and compared to capture channel combinations supported by the device and other enabled pre processings. The most favorable configuration is chosen and pcm capture driver is restarted with the appropriate channel config. Also made various capture and process buffers naming and allocation more consistent. Change-Id: I90be4798951d0a34dc77d6bdc93ef15cad3ff5af
* audio: fix audio drop when speaker is selected 2.Eric Laurent2012-04-021-1/+2
| | | | | | | | | | | Commit 78a7609d fixed audio drop at the start of ringtone. This commit fixes another similar issue with camera shutter sound being dropped while in call over headset. There was a workaround for this second issue in audio policy manager but this was not satisfactory as it was impacting all devices for a problem that is Prime specific. Change-Id: I42b37c7da4a232323b520a8a55ac5b3086b5a230
* audio: fix error in capture path delay calculationEric Laurent2012-04-021-2/+5
| | | | | | | | Fix error in get_capture_delay() that was not taking into account the fact that frames in in->buffer are at driver sampling rate while frames in in->proc_buf are at requested sampling rate. Change-Id: I09e627bd316daedab5ffea3dd638254eaa270a5b
* am d28a1a80: am 467c02b6: am 78a7609d: audio: fix audio drop when speaker is ↵Eric Laurent2012-03-201-0/+12
|\ | | | | | | | | | | | | selected * commit 'd28a1a802b1965ab4b9014c658240faafe219994': audio: fix audio drop when speaker is selected
| * audio: fix audio drop when speaker is selectedEric Laurent2012-03-161-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | When changing audio path to speaker while playback is active, several hundred ms of audio are dropped. This is mostly noticeable when a ringtone starts playing. This change is a workaround forcing the output in standby when speaker is selected. The root cause must still be indentified and fixed. Change-Id: Idef8dc1cdbf2da499a414d0b60244f91ef66e73b
* | audio_channel_in_mask_from_countGlenn Kasten2012-03-151-5/+1
| | | | | | | | Change-Id: Ib1d5af6687479c8d189a3407c229a6ac0ed5c03b
* | Fix memory leaksGlenn Kasten2012-02-141-1/+2
| | | | | | | | Change-Id: If9c95a4808785e58ee4595e5c762d01d87f1936d
* | resolved conflicts for merge of 8c61349a to masterSimon Wilson2012-01-261-48/+117
|\ \ | |/ | | | | Change-Id: Id432e901f8107a00a7f371e5882b1290a1154961
| * audio: support multiple output PCMsSimon Wilson2012-01-251-48/+117
| | | | | | | | Change-Id: I5179699b22224473bd158e90f864e4e73895b5dc
* | Use audio_format_t consistentlyGlenn Kasten2012-01-201-9/+9
| | | | | | | | Change-Id: I2e2a5f625956dc5d09dbdc3f6f2d9a010ecc7bad
* | Turn off execute bitGlenn Kasten2012-01-181-0/+0
| | | | | | | | Change-Id: I711920dde1560ca202ef878ee93a2af61545524b
* | Use audio_mode_t consistentlyGlenn Kasten2012-01-121-2/+2
| | | | | | | | Change-Id: I7a30fe3f66933aed8b5a6185553112575b4de1a7
* | Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGESteve Block2012-01-081-11/+11
| | | | | | | | | | | | | | See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: I2e1c43800c19b718cc7ee94ec299c62bc14873b4
* | Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGESteve Block2012-01-061-2/+2
| | | | | | | | | | | | | | See https://android-git.corp.google.com/g/157065 Bug: 5449033 Change-Id: I02cfaca251935e4a50ad4302a72c4273be41db22
* | am 31688e73: am 7a170e19: audio HAL: release audio pre processing buffers.Eric Laurent2011-12-131-0/+4
|\ \ | |/ | | | | | | * commit '31688e73c947845cea86079aefa2dfab68b56c93': audio HAL: release audio pre processing buffers.
| * audio HAL: release audio pre processing buffers.Eric Laurent2011-12-131-0/+4
| | | | | | | | | | | | | | | | | | Buffers allocated for audio pre processing are not released when an input stream is closed. Issue 5753047. Change-Id: Ie8fd5f49d97e9bebc70fc38de0844a79074ac526
* | audio: delete unused ril-client API.UK KIM2011-11-101-1/+0
| | | | | | | | | | | | The clock sync func is unused for both HSPA and LTE device. Change-Id: Ia9f369a0151cb3bb15242544e5f5442b893253bc
* | am ec429c13: Merge "audio: force speaker route for call when docked" into ↵Simon Wilson2011-11-021-3/+6
|\ \ | |/ | | | | | | | | | | ics-mr1 * commit 'ec429c1320e97145b42a8f334ed5506d316bb412': audio: force speaker route for call when docked
| * audio: force speaker route for call when dockedSimon Wilson2011-10-311-3/+6
| | | | | | | | | | | | | | | | | | | | | | As we did for the HDMI audio case, force the speaker route for calls when in a digital dock because we cannot directly route the modem audio output through the S/PDIF output because it is a McASP device. Fixes bug 5434090 Change-Id: I52ff7877a8be778b9e74eebb3ad2c9f13b634bca
* | am 56e8b292: am e6f399a5: audio: decrease headset gain by 14dB for ringtone modeUK KIM2011-10-261-0/+3
|\ \ | |/ | | | | | | * commit '56e8b292cb2aa15804eb436d48c71e1a98b36550': audio: decrease headset gain by 14dB for ringtone mode
| * audio: decrease headset gain by 14dB for ringtone modeUK KIM2011-10-261-0/+3
| | | | | | | | | | | | This is to prevent audio shock in AUDIO_MODE_RINGTONE. Change-Id: Ic21c347a64ee0e2668dbff49dc6addcb93e4d82f
* | Rename LOGV(_IF) to ALOGV(_IF) DO NOT MERGESteve Block2011-10-261-5/+5
|/ | | | | | | See https://android-git.corp.google.com/g/#/c/143865 Bug: 5449033 Change-Id: Iab0aa050fba57491f5cb7ed928f44a0fda7d1ea4
* audio: Fix pop noises during call switch to the modemvenkappa mala2011-10-201-2/+22
| | | | | | | | | Mute and unmute VX_UL gain to avoid pop noises in the tx path during call switch to the modem during the switch it means when audio path changes(Example: Analog path switches from EAR<->HS<->HF). Change-Id: I567d4156a5b9aa7b51d068fe279f942376a5a40c Signed-off-by: venkappa mala <venkappa.m@samsung.com>
* audio: final audio gains following tuningSimon Wilson2011-10-201-45/+87
| | | | | | | | - new gains for toro and maguro devices for various use cases. - use of DL2 digital gains to compensate for lack of range in codec speaker volume. Change-Id: I4ff1ebe79aa53934720389fbef5f60b9c0cc2138
* audio: enable DL2 mono mixer only for speaker/mediaSimon Wilson2011-10-201-12/+11
| | | | | | | | | | Mono mixer is only strictly required for downmixing stereo media content to the mono speaker, so only enable it then. This works around an issue with modem rx mute when using handsfree. Fixes bug 5481245 Change-Id: I8e4c5400241a0d8bb8d74966b6f612b7bab56301
* audio: increased low power playback buffer size.Eric Laurent2011-10-201-10/+12
| | | | | | | | | Defined new audio buffer sizes to help increase periods of idle CPU with new scaling governor settings. Related to issue 5486806: mp3 playback power re-regressed... Change-Id: I5f0f54d0ef8e189c2e3ac84bf8eed4bafece9111
* audio: use 4Khz LPF in DL1 while in voicecallChangoh.Heo2011-10-191-7/+30
| | | | | | | | | Some metalic noise is happened on headset, earpiece voicecall. Especially, The noise can be felt easily in woman voice. If we use 4Khz LPF, the noise is gone. Change-Id: I106efd89af2b84fad40314c8c07b5f0aa7901c8b Signed-off-by: Changoh.Heo <changoh.heo@samsung.com>
* audio HAL: low power playback off when capturingEric Laurent2011-10-181-1/+1
| | | | | | | Disable low power audio playback when audio capture is active even if screen is off to avoid high latency during SIP calls. Change-Id: Ib559bf2877b0cf89731e039b1bfab2bc3806f56a