summaryrefslogtreecommitdiffstats
path: root/audio
Commit message (Collapse)AuthorAgeFilesLines
* 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
* audio: enable DL2 mono mixer for speakerSimon Wilson2011-10-171-0/+7
| | | | | | | | Since the speaker is only connected to the DL2 left channel, downmix all DL2 audio from stereo to mono to avoid losing information. Change-Id: I8f536d3373b5517682722422df648d9d8050b840
* Merge "audio: get wb amr status when ril is connected" into ics-mr0Simon Wilson2011-10-141-0/+9
|\
| * audio: get wb amr status when ril is connectedgaon.yoon2011-10-141-0/+9
| | | | | | | | | | | | | | | | | | | | | | At the first incoming call, wb amr callback time is faster than ril-connecting time so wb status is not updated. To update wb amr status get it at ril-connecting time. HSPA supports getting wb amr status, but LTE does not support it. Change-Id: I477cb19f8ef72d5461c2800e09958f504ae733e5
* | audio HAL: support for low power audioEric Laurent2011-10-141-42/+96
|/ | | | | | | | | | | | | Implement a mechanism to dynamically switch between short and long buffers in kernel pcm driver. Using long buffer significantly decreases power consumption at the expense of latency. Therefore a hint is given to audio HAL by AudioService indicating when the screen is off and low latency is not required any more because neither video playback, VoIP/video chat or any user interaction is expected. This mechanism relies on the support for MMAP and NO IRQ write modes in tinyalsa. Change-Id: Ida9216a141750137a0592187e24a68f263ef3fbe
* audio HAL: change ALSA period sizeEric Laurent2011-10-131-2/+2
| | | | | | | ALSA period sizes must be a multiple of 24 frames to match ABE requirement. Change-Id: I52ac1d5d4a2588a1b66100bfecab6d35339fc718
* audio: bypass resampler for HDMI audioSimon Wilson2011-10-061-22/+32
| | | | | | | Native 44.1kHz will be used for HDMI audio since the output device supports it. Change-Id: I60eebf2556c0384e2a4c21150bee2fbbbd5ca6fd
* audio: add locks, only tear down PCMs when needed for WB AMRSimon Wilson2011-10-061-5/+10
| | | | Change-Id: I03ba325b613aef21dba8d16187aaccca08d2a328
* am fcb204e9: Merge "Fix issue 5415809: increase HP volume for TTY." into ↵Simon Wilson2011-10-061-9/+18
|\ | | | | | | | | | | | | ics-factoryrom * commit 'fcb204e9329241047ed7564c4808440f62a5c580': Fix issue 5415809: increase HP volume for TTY.
| * Fix issue 5415809: increase HP volume for TTY.Eric Laurent2011-10-061-9/+18
| | | | | | | | | | | | | | Increase headphones volume to -2dB when TTY mode is full or VCO as per Samsung's request. Change-Id: I92da179b487c87d07bc363f7344c20cc8779abd6
* | audio: route to S/PDIF when digital dock detectedSimon Wilson2011-10-051-6/+16
| | | | | | | | Change-Id: Ia571fca8e0ce384283a15024b6b271231bf86479
* | audio HAL: fix echo reference.Eric Laurent2011-10-051-1/+1
| | | | | | | | | | | | | | | | The number of frames written to the echo reference buffer in out_write() was wrong. As we write frames at the audioflinger sampling rate we should write the number of frames passed to out_write(), not the number of frames passed to tynialsa after resamopling. Change-Id: Ia6a1c7e090c73e1566634a17b720e1e6049b22fe
* | audio HAL: fix start_call() error handling.Eric Laurent2011-10-051-3/+3
|/ | | | | | | | In case of an error when opening the modem pcm driver in start_call(), the order in which the tinyalsa pcm streams were relased was wrong and could cause calling pcm_close() on a null pcm stream. Change-Id: Iad7149997d3993561f4a3ed4b2005f5867b51c56
* audio: support wideband call audioSimon Wilson2011-09-303-1/+60
| | | | | | | | Some networks support wideband AMR for voice calls. To support this, implement a callback that the RIL uses to set the wideband config. Change-Id: Ifa75ff189cc300728f560b77fd4fb3f1798e776d
* audio: adjust gains based on level tuningSimon Wilson2011-09-301-11/+20
| | | | Change-Id: I1e7e7738dad3643bd006d19708895f9f5815f429
* audio HAL: different heaphone volume for EuropeEric Laurent2011-09-291-4/+24
| | | | | | | | | Added the possibility to set difference headphones volume to comply to European regulation. Set conservative gains for headphones and headset. Change-Id: I77af0325baca8d5d5a8ebbec2431918cf2bff3a0
* audio: use-case gain adjustmentsSimon Wilson2011-09-291-18/+49
| | | | | | | | | - allow a 6dB higher volume for headphones without mics - increase voice call speaker volume by 6dB - increase voice call sub mic gain for toro by 2dB - turn off headset DAC when only earpiece is active Change-Id: I344b0fc5ec97a6c9ce14a7db7602a4700a2c765e
* Revert "audio: defer ril acoustic call until after modem PCM is open"Simon Wilson2011-09-281-3/+2
| | | | | | | | | | | | Now that the modem PCMs are never closed for route changes, we don't need to defer the call of set_incall_device() any more. This also fixes a bug where the acoustic property is not sent to the modem upon an output device change now that we don't close/open the modem PCMs for every route change. This reverts commit e1ba1b93ebcc5a6b499ad519d4dfd5bdf7bd7465. Change-Id: I63bc4e25a602d99cd335b7b2a1db4ece45df93e1
* audio: don't tear down modem PCMs for route changeSimon Wilson2011-09-211-17/+0
| | | | | | Fixes bug 5278856 Change-Id: I25bdae020241c2388db298637d111fba1c3acecd
* audio: use right capture path for sub micSimon Wilson2011-09-201-5/+21
| | | | | | | | | | The sub mic is on the right capture path, so when the front end portion of the route is selected, the mic choice must be taken into account. Fixes the lack of sound in camcorder. Fixes bug 5350006 Change-Id: I347922af04a0114a8e269b9edea3eec260175f79
* audio: force initial non-speaker output for callSimon Wilson2011-09-201-6/+26
| | | | | | | | | | | | | | | | | | When the phone is ringing the active output device is always the speaker, perhaps with a secondary output device such as headset. When we answer the call the active output device is still speaker, and set_mode() causes the modem PCM to be opened for this route. However, we never use the speaker as our initial audio route for call audio. This change forces speaker off when we set up the initial in-call state so we don't have to change it immediately when out_set_parameters() is called with a different route. This works for earpiece, headset and headphones. It doesn't help bluetooth because the SCO connection is only begun after the call is started. Change-Id: Ie9f411c61570749fc26ab2ffa18cd1477e68a7e6
* audio: route mono mics through both muxesSimon Wilson2011-09-201-5/+5
| | | | | | | Mono mics were previously only routed to a single channel on each mux. Route through both instead. Change-Id: Ie954a436ec24e377e6821b85b994ed5294a6c4d8
* Revert "audio: change mixer name for earpiece control"Simon Wilson2011-09-191-9/+7
| | | | This reverts commit 6844413bd8fcc4139eb106a4bdf903aaf90598df.
* audio: add support for HDMI ouputEric Laurent2011-09-181-2/+20
| | | | | | | | | | Add basic support of HDMI output during playback. Note that if multiple output devices are set, if HDMI is one of them, only HDMI will be used. Change-Id: I0a3ccdd6824a73553649e63b2d6ccde6aa99310e Signed-off-by: Chris Kelly <c-kelly@ti.com> Signed-off-by: Eric Laurent <elaurent@google.com>
* audio: defer ril acoustic call until after modem PCM is openSimon Wilson2011-09-181-2/+3
| | | | | | | | Call ril_set_call_audio_path() after the modem PCMs are opened so that if it blocks, there will at least be call audio. Change-Id: Ibf4305150cf18cad83b88d57e3be4ac8399ae77f
* audio: change mixer name for earpiece controlPankajJindal2011-09-151-7/+9
| | | | | | | | | | | In addition, stop turning on the headset DACs when only the earpiece is required. DO NOT MERGE Change-Id: Ie26e705520efece8cdb0dbc93bcd98411c804563 Signed-off-by: PankajJindal <pankajjindal@ti.com> Signed-off-by: Simon Wilson <simonwilson@google.com>
* audio: reduce sidetone volume by 6dBSimon Wilson2011-09-131-1/+1
| | | | | | | | | | | | Cross-dependency on kernel change: I4b85eebf18e99b106816131bd927cf0962055dcd The earpiece volume has been increased by 6dB because of dynamic route gain adjustment, so the sidetone gain must be decreased by the same amount otherwise there is too much feedback and we are outside specification. Change-Id: I6b268105553ab68e9b0e9f18d41c018823d1e6cb
* audio: don't clear output devices at standbySimon Wilson2011-09-131-3/+0
| | | | | | | | | | | | | | | | The output devices in adev->devices are cleared sometimes when making a call. The sequence is as follows: 1. do_output_standby() (clears bits in adev->devices) 2. set_mode to IN_CALL state 3. select_output_device() reads the bits in adev->devices, but none are set. As a result, with no valid route, call audio fails. Fixes bug 5309421 Change-Id: I81efe325d8b482f7474750c08d353ca989da9939
* Revert "Revert "audio : add to support bluetooth with NR & EC functionality""Eric Laurent2011-09-121-2/+14
| | | | This reverts commit 494a9150218d73774796c40bc101928034094082.
* audio: open modem/bluetooth in stereoSimon Wilson2011-09-111-1/+1
| | | | | | | Cross-dependency with kernel change: I65a3555569bf4698619130c80d5c391bb6bb9b46 Change-Id: Ibfd6a884626a21ad1a06572e3458cca1b31e3afc
* Revert "audio : add to support bluetooth with NR & EC functionality"Eric Laurent2011-09-091-14/+2
| | | | This reverts commit b48dbbdeab6f28cf99dc25da67e696ac1399c659.
* audio: ensure the correct MUX is set for BT uplinkSimon Wilson2011-09-081-14/+5
| | | | | | | | | | | Support for PORT_VX as an input capture device was not completely removed and the bluetooth uplink was still incorrectly using the VX MUX. PORT_VX support has been completely removed and bluetooth now uses the correct MUX for uplink. Fixes bug 5279972 Change-Id: I8664abf7cff61f894f447dc7a3c49241dce4087b
* audio: don't put output in standby when changing routeSimon Wilson2011-09-081-13/+12
| | | | | | | | | | The OMAP4 ALSA kernel code can now handle output routing changes when the PCM is opened. This avoids pops when closing PCMs to change the route between speaker and headset for example, and makes a noticeable difference when notifications occur when playing music. Change-Id: I957d96fae6764a3049d4f3c00074a9295a18d66d
* audio : add to support bluetooth with NR & EC functionalityUK KIM2011-09-081-2/+14
| | | | | | | | | | | EC & NR function can be duplicated in modem and bluetooth device. If BT device want to use own function, modem has to turn off own functions. This can be related with clicking sound and sound quality in some case of somde bluetooth device or modem's configuration. Change-Id: Ifebc824e04afc06cd861a67138a1e06ce3f462f1
* audio: add logging to track call stateSimon Wilson2011-09-081-0/+7
| | | | Change-Id: Ic055b9680623ad9d9ad1d8edfbc9bafceab4c43a
* Calibrate voice recognition recording levelsJean-Michel Trivi2011-09-081-2/+2
| | | | | | | | Calibrate the input levels for voice recognition on the main microphone (bottom mic) and headset inputs to the value expected in this use case. Change-Id: I6c0743bb9ae4c00194a8baeed43f523918a1a10e
* audio: enable 450Hz high-pass filter for speakerSimon Wilson2011-09-061-0/+11
| | | | | | This filters out frequencies that can damage the speaker. Change-Id: I35946c9ee3e80be673643ef40129e7e5214a0d8b
* audio: always use PORT_MM2_UL for captureSimon Wilson2011-09-061-29/+15
| | | | | | | | | | | | PORT_VX and PORT_MM2_UL cannot be opened at the same time, and doing so causes loss of audio. When a voice call is taken when a video call is in progress, the modem is opened before the capture stream is ended so the problem occurs. Using PORT_MM2_UL ensures we don't hit this case. Fixes bug 5221406 Change-Id: Id6aa26e5321e74375a51b455aa55723df2287c35
* audio HAL: add audio pre processing.Eric Laurent2011-09-062-136/+744
| | | | | | | | | | | | | | | | | | Added support for audio pre processing and echo reference for AEC. Also: - added defines for ABE ports sampling rates - always select sub mic for camcorder and VoIP on speakerphone even if headset with mic is present - change mutex locking order: first hw device then stream. This allows calling functions on active output and input streams without releasing the hw device mutex. Aquiring the hw device mutex systematically in dtream read and write guarantees that a low priority thread waiting on the stream mutex will get it in a timely manner. Change-Id: I4abc9e56b30e7b72109db1961af76c6fd4c03be0
* audio: specify analog volumes in dBSimon Wilson2011-09-061-5/+8
| | | | | | | | | | This change applies conversions so that analog codec volumes can be specified in dB. It also restores the DL2 ABE gain to 0dB now that the ABE kernel code has been patched to prevent speaker distortion. The headset and speaker volumes are adjusted to take this change into account. Change-Id: I5cfe465e30e0c6a2424bd05e4a412eae8d878eba
* audio: enable sidetone for toro device when using earpieceSimon Wilson2011-09-021-1/+42
| | | | Change-Id: I4ea7f3795ba571fdd395f3fff4cd3e485d0e89a8
* Revert "audio: change pcm_config_vx channel from 1 to 2"Simon Wilson2011-09-011-1/+1
| | | | | | | | | This change causes bluetooth SCO audio during a call to be unreliable: often there is no call audio. Reverting this causes the downlink (bluetooth earpiece) audio to sound robotic, but the audio is more reliable. This reverts commit 3772f57d8332e7b2113bd35cd297b8fe00d20d15.
* audio: turn off output stages when not in useSimon Wilson2011-08-261-15/+36
| | | | | | | | The DAC widgets are turned off when not in use in order to save power. They must not be turned off when the output goes into standby if a call is in progress. Change-Id: I3d294a85a86e45c8acc257a8d92b92d7d9b2d4c3
* audio: check for active_input != NULL before followingSimon Wilson2011-08-261-3/+3
| | | | | | Fixes bug 5223164 Change-Id: I95557589b6d17df96de4235e8003157c6324917a
* audio HAL: use resampler from libaudioutils.Eric Laurent2011-08-262-47/+47
| | | | | | | Use resampler from libaudioutils instead of speex resampler directly. This change prepares integration of audio pre processing. Change-Id: Id985f7e46284fa038f16ecccaaa002b75e375a0f
* audio: set input volume based on use-caseSimon Wilson2011-08-261-35/+115
| | | | | | - Input volume is set based on capture, voip or voice call modes Change-Id: I8be69b6ac7a9c34aa27acbf69c42418256e2158d
* audio: change pcm_config_vx channel from 1 to 2Lee Min2011-08-251-1/+1
| | | | | | | | | | Actually, modem and bluetooth devices in tuna use I2S mode. If channel is setted 1, McBSP is setted PCM mode. On the other hand, if channel is setted 2, McBSP is setted I2S mode. To use I2S mode, We have to change channel from 1 to 2. Change-Id: I0c56ffd03805060783c428b4c70094103480bb4f Signed-off-by: Lee Min <min47.lee@samsung.com>
* audio: reduce DL2 ABE gain to reduce handsfree distortionSimon Wilson2011-08-241-3/+3
| | | | | | Also increase the codec volume to compensate. Change-Id: I34bd16141d70cd154df23ff815800bbace887e88
* audio: change time and method to change clock and audio pathUK KIM2011-08-221-3/+34
| | | | | | | 1. clock sync: after AP (mcbsp2) is enabled 2. audio path: according to AP's output device Change-Id: I5e0214bea31a722ce43fe92fb1d54bffb291cae9