summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* hal: only open the amplifier onceDan Pasanen2016-06-211-15/+9
| | | | Change-Id: Ie9bbff74123e90b71e95809a84dcb3bbe9ba82fe
* hal: enable amplifier earlierDan Pasanen2016-06-211-2/+2
| | | | Change-Id: Id876e8f836e3ce1ee5f8186ca9c0e6ef5f37182c
* hal: Notify amplifier of device enable/disableEthan Chen2016-06-211-1/+19
| | | | Change-Id: Ice808c9b55a9e3bc8bafe5ca3ff555377d38dd8f
* hal: Convert libaudioamp to audio_amplifier HALEthan Chen2016-06-213-21/+130
| | | | Change-Id: I5113923e3cc1989f2272ea439735492c9ce4d8a3
* hal: Support the audio amplifier hookDaniel Hillenbrand2016-06-212-0/+30
| | | | | | | | * Original legacy HAL commit: Ib236598a5888b2af19bcfb81e285f644a0e84c0d * Example: http://review.cyanogenmod.org/38221 Change-Id: Ic944a9f7059c78b79322dae9c787cdd8bb029cff
* hal: Clean up from mergeEthan Chen2016-05-123-59/+14
| | | | | | | | | | * Remove 8974-specific code where possible * Don't distinguish based on PLATFORM_8960, everything is PLATFORM_8960 if using the A-family HAL. * Remove USECASE_AUDIO_RECORD_FM_VIRTUAL for 8960 platform, as it's not a valid codepath here. Change-Id: I1cef978b27d7ea87fa3fa7af1e121545dfda1505
* hal: Remove obsolete FM_ENABLED flagArne Coucheron2016-05-112-12/+0
| | | | Change-Id: I920d49b21f5d70a7234e750d5d7dd5d37eeccfc6
* hal: Add support for AUDIO_DEVICE_OUT_LINEEric Laurent2016-05-114-14/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I0d1163d7f7716f9a0366f2be245d50adad55b0cc hal: fix headset path Inserting HS without mic should select speakerphone mic instead of handset mic Bug: 17307386 Change-Id: I66d3b9037bbf7da5ff4bfebf2567efa3a0866074 hal: updates for DEVICE_OUT_LINE - support dual-route - change ACDB ID to 77 for gain tuning independent of headset Bug 17722311 Change-Id: I5c574dc08e26fa053f60337acb17fb5b73ebbaa1 add line out to device sharing codec backend AUDIO_DEVICE_OUT_LINE was not listed in AUDIO_DEVICE_OUT_ALL_CODEC_BACKEND causing a loss of audio when music was playing over line out and a ringtone playing over lineout and speaker was stoppped. Bug: 18903885. Change-Id: I8c132db9cbfb17842a463600a2d0ced214244b72
* voice_extn: remove redundant check of mode when stop voice use caseZhou Song2016-05-111-7/+4
| | | | | | | | | | | | voice use case is still active when mode switched from MODE_IN_CALL to MODE_IN_COMMUNICATION, while the output used for driving call is NULL. This could possibly makes segment fault in mediaserver when call is activated before the output updated to valid value. Change-Id: I070dd5e7a1c6d2883ea611588737b1f5c577b275 CRs-Fixed: 953010
* audiopolicy: enable deep buffer output by default for music streamsPreetam Singh Ranawat2016-05-111-1/+1
| | | | | | | -By default return true for property audio.deep_buffer.media to use deep buffer output for music streams Change-Id: I6303c6bcc949274d862a5de5d982d32c52108b76
* audiopolicy: use deep buffer output by default for music streamsSharad Sangle2016-05-111-0/+5
| | | | | | | | | | | | | | | | | Default disabled. This is enabled by adb shell setprop audio.deep_buffer.media 1 Applications that use AudioTrack java interface for audio rendering defaults to primary output as flags indicated as FLAG_NONE. If the primary output is low latency output, it results higher power consumption than deep-buffer path if used. Make the deep buffer output as default option for music streams if flags are not specified. It may also be used for testing audio glitches from heavy CPU or DRM which may cause issues with the FastMixer. Change-Id: I2afb205c15f73545168a8d1f68b29df01934da88
* mm-audio: omx: Fix OMX encoders timestampBen Romberger2016-05-114-4/+4
| | | | | | | | | | Timestamp format of encoder output structure incorrect. Timestamp is of format of least significant bits first. Encoder out structure formated incorrectly to expect most significant bits first. Change-Id: I9cc152dfc8ccb6dc78f715461a2bece1fe2a7819
* hal: fix resource leak issues in platform.cMingming Yin2016-05-112-0/+6
| | | | | | | - fix resource leak issues related to mixer controls and file handles Change-Id: I3675da4504a93a084ad582e5e6eb7c75f38e736e
* audio HAL: do not stop capture on overrunEric Laurent2016-05-111-0/+2
| | | | | | | | Set stop threshold so that PCM driver does not stop capture in case of overrun. Bug: 19209668. Change-Id: I89b2cae617d73c17c859e9f1c192b4f3db79cc18
* audio HAL: fix thread starvationEric Laurent2016-05-112-19/+35
| | | | | | | | | Fix thread starvation issue where the capture or playback threads running in FIFO priority would constantly acquire the stream mutex preventing other threads to complete routing commands. Bug: 21880828. Change-Id: I99fcbb94da8f918f63b31e5bf713f3456a735869
* hal: Validate active input before accessing sourceLeena Winterrowd2016-05-111-2/+3
| | | | | | | | Ensure that the audio device's active input is valid before attempting to access the input source. CRs-Fixed: 959009 Change-Id: If66cc1e3d5467bf7d03137fdbbffd724a57ecaf6
* hal: fm: add parameter to set mute optionsDhananjay Kumar2016-05-111-1/+21
| | | | | | | | | Add parameter to handle mute options, this is required to control fm mute in device loopback mode without affecting other music streams. CRs-Fixed: 963849 Change-Id: I1729d0bd3cff40670444a8806a05c7304d4ca6aa
* policy_hal: fix for FM playback without active music streamMingming Yin2016-05-111-2/+3
| | | | | | | | - Increase primary output ref count before getting new device - This prevents to use NULL device for FM playback. Change-Id: Idd2b36dab1990cdc1c1f603c5bdfd53b53c5c311 CRs-Fixed: 957807
* policy_hal: fix for volume burst during FM device switchMingming Yin2016-05-111-1/+2
| | | | | | | | | | - Issue: Volume burst is heard during device switch (headphone and speaker) for FM playback - Root cause: delayMs passed to CheckAndSetVolume is not applied for FM playback - Fix: Double delayMs and apply FM volume with this delay Change-Id: Ifa0b214d16527973277a5c84b8a4f3fbd0760d07
* policy: Delay FM volume update to start of FM playbackHaynes Mathew George2016-05-112-3/+10
| | | | | | | | | | | Delay update of FM volume to start of FM playback. This avoids unnecessary set_parameter calls on primary output whenever volume changes on primary output. Unnecessary calls on primary output can cause breaks in audio since FastMixer will be put to HOT_IDLE more often CRs-Fixed: 948361 Change-Id: Id614d32df7f35ac93dd029a08b10e19f64ac631e
* policy: Avoid unnecessary set_parameter callsHaynes Mathew George2016-05-112-5/+11
| | | | | | | | | | | | | APM calls a set_parameter on primary output with key fm_volume whenever a checkAndSetVolume is called. This is done irrespective of whether the volume values are same of different. A side effect of doing so is that the FastMixer associated with the MixerThread will be put into HOT_IDLE unnecessarily which in turn can cause glitches/breaks in audio. CRs-Fixed: 948361 Change-Id: I7fd8b7340e6c78ee6d00b41ccf679582338c011a
* hal: audio_extn: fix pop noise when FM is interrupted by voice callDhananjay Kumar2016-05-111-6/+11
| | | | | | | | | | Minor pop is observed when FM playback is stopped, this is due to derouting of loopback devices while they still have audible data. This is causing pops even when FM is stopped after playback, but this pop is more perceivable in case of interruption by voice call. Fix the issue by draining unmuted data before derouting FM playback. Change-Id: If92e43f3a15f0a9cfdf2819827c7f7a0ba852e3d
* audio: update flags for selection of VoIP direct outputKarthik Reddy Katta2016-05-111-2/+2
| | | | | | | | | | | | Ringtone mute is observed in LINE app MT call over BT headset. VoIP direct output isn't returned due to incorrect flags update. Primary output is returned even though the FLAG_DIRECT is set, this in turn causing issues when renderer queries for getPosition(), which is resulting in mute. Fix this by updating flags, so that track gets VoIP direct output in this scenario. Change-Id: I6d570ae6ed9e0a7506cb29be5b41687417b7d221 CRs-Fixed: 893558
* hal: add support to use low latency as primary outputMingming Yin2016-05-112-1/+15
| | | | | | | - Add support to use low latency output as primary output when AUDIO_USE_LL_AS_PRIMARY_OUTPUT is enabled Change-Id: Ie7faf9f7af4c97b7afdda8084b7acf162abbc0b6
* hal: Sync name_to_index table with pcm_device_tableArne Coucheron2016-05-112-4/+30
| | | | Change-Id: Id96155002c1d9d6cdf8af44c5ade46f8fa24e95e
* hal: Comment out FM recording usecaseArne Coucheron2016-05-112-0/+4
| | | | | | | * Comment out USECASE_AUDIO_RECORD_FM_VIRTUAL for now, as it causes issues with playback and recording. Change-Id: Icd70203bc3b8f84899372507bd44ab2d08315eaa
* hal: Fix voice call recording on msm8960Arne Coucheron2016-05-111-21/+0
| | | | | | | | * Voc VSID mixer is not present in A family kernel drivers, and is preventing call recording path to proceed. Remove relevant code to fix it. Change-Id: I7573352b2b4d45dde050158bb149f2a04375e72a
* hal: Adjust DEEP_BUFFER_OUTPUT_PERIOD_COUNT to match legacy kernelArne Coucheron2016-05-111-1/+1
| | | | Change-Id: I65247bbebb1065edf5a8b6fdfea6532209eb6cf5
* hal: Reduce some logspamArne Coucheron2016-05-111-1/+1
| | | | Change-Id: I3c7d2d4ffb342362e967a4c8586f21dc63750a93
* hal: Update and cleanup makefilesArne Coucheron2016-05-114-23/+8
| | | | | | | | * Set default features * Fix compile errors * Build hardware encoders Change-Id: I99b09235c6e3e352070d5ddcdf64a63eddc81688
* hal: Use old API for setting voice volume and mute statesArne Coucheron2016-05-113-5/+15
| | | | | | A family kernels doesn't support the new API. Change-Id: Iaa0d7c0641bfb0cc66f70bef958e860b38a0864a
* hal: Disable building multiple hw variants for msm8960Arne Coucheron2016-05-112-1/+5
| | | | Change-Id: Ic1324c249dd43862a04725ac23b2c8fff9c74769
* hal: Minor adjustments for msm8960 platformArne Coucheron2016-05-111-3/+3
| | | | Change-Id: I3bd5a84b90341dbed83f1dfb52c24e9f6de3e879
* hal: Copy msm8974 platform to msm8960Arne Coucheron2016-05-114-312/+2039
| | | | Change-Id: I03b8bc8fac333adc03e474ab413686dd3aa4d517
* hal: Squashed set of updates and fixes from 8974 branchArne Coucheron2016-05-1123-307/+842
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | hal: Compilation fixes * Properly include path to kernel headers for postproc effects * Don't try to build SSR or Listen if QC_PROP_ROOT isn't set Change-Id: I8f2a874bbbec09cea8eae423a82e6cc59d03f422 hal: Allow enablement of COMPRESS_VOIP without multisession voice * It works! Change-Id: Ie150055bd711a0060db91e50a47b7726f42cdc4e hal: Add support for dedicated VoIP devices * Some devices out there have dedicated paths for VoIP, add support for these by setting the system property. Change-Id: I59cd97e78427f811559081a04151c9a2eccf452f hal: Fix digital USB headset combo device * Digital USB output was not handled in this case. Add it. Change-Id: I8e984a2cf545dabdc6dc538b75e8ca7221fb6688 hal: Fix voice call recording for msm8974 Voice call recording uses audio-record usecase which causes recording only devices microphone. Use the correct usecase for call recording. Change-Id: Iaa9fc30534263c6de9b4b66fa5ffa9a1e2cc8fd4 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 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 audio: Extend platform parser to allow device name aliasing * Supported sections now include device names * This allows for aliasing device names to a custom name Change-Id: I880e90a7e887f020517d89ba276199c700c0eeae hal: add support for low-latency capture - add support for low-latency capture Change-Id: Ic8a82854799adfa4eb1fcd323e0177eeadc7e319 hal: Clean up compilation warnings Change-Id: I3857f565dd7a2f3ce3a1cbb783eb3d67fb024e3e hal: Invert standard build flags * Always include these unless explicitly negated Change-Id: I3931ef089dddcd9ac9f61d8b7e870cf916a4e47d hal: Kill useless logspam Change-Id: I540e3e22670c192d440697c0ae284225427711e0 platform-info: Fix error messages Change-Id: I543d5c99e5c07e6acc43811608a1f5917d7d595f audio-caf-msm8974: Fix log message Change-Id: If1e161b55b587076f3baeb763792f1d29aca361b audio-caf: msm8974: Correctly handle the lack of voice_extn When building without AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS:=true the voice_extn functions return -ENOSYS when called. Treat that return code from the set_parameter functions as success rather than failing the entire set_parameter sequence. Prior to this change, adev_set_parameters does nothing when the voice extensions are not compiled into the code because it immediately calls voice_set_parameters which then itself immediately fails due to -ENOSYS being returned from voice_extn_set_parameters. Change-Id: I5b74f8a94325c26d9f24ba7bd85f5b21b5f1cbdf hal: Make use of hwdep calibration optional * Not all devices can use this, as it requires a very new ACDB loader and kernel-space support. Disable it by default until devices catch up. Change-Id: I16eaabbfc678c90f125469d047f5b8d3addcd57d
* hal: header file fix for audio_hwMingming Yin2016-05-111-1/+2
| | | | | | - include stdlib.h in audio_hw.h Change-Id: If26af431bd083fe91cc8b7c444e0da5a2d2df19c
* audio: Fix compilation errorsDivya Sharma2016-05-114-0/+4
| | | | | | Fix compilation errors with implicit function declarations Change-Id: I82df7d51e9038f9fdb9688acb098e11a7f18c284
* audio: fix member initializationHaynes Mathew George2016-05-111-3/+3
| | | | | | | | Re-apply missing mutex and condition var initialization code from I7018f38f29a19b130185b285f4acf22219e4228c Change-Id: If1d6b3d4f65c30154d3d6c9e0192a1ce72c0d495 CRs-Fixed: 587676
* hal: fix the input device selection for headphonesNarsinga Rao Chella2016-05-111-5/+6
| | | | | | | | Headset speaker output device and Speaker phone mic input device is an invalid device pair combination. Instead, select Handset mic input device for Headphones. Change-Id: I1bce425bd73d2f79b7dd78a7d5c701c43390b167
* hal: fix miscellaneous errorsPreetam Singh Ranawat2016-05-112-2/+20
| | | | | | | | fix for the following issues 21746, 21753, 21754, 25319, 67407, 82922, 82923 82924, 82926, 82929, 91098, 91100, 112335, 112336 112337. Change-Id: I66d3a18271a2212345f90f0be6f9cfbf6996fcc3
* hal: fix unused param warningsRavi Kumar Alamanda2016-05-119-39/+24
| | | | | | | | | Fix unused param warnings. Take care of coding style issues. Remove unwanted code to set acdb_settings. Fix compilation issues on 8960 platform. Change-Id: Ifc72472b487abee83ff85e21fd324cee938973e9
* hal: fix incompatible APIsRavi Kumar Alamanda2016-05-111-6/+5
| | | | | | | | Avoid usage of deprecated API audio_stream_frame_size() Update open_input_stream() and open_output_stream() APIs to match the updated signature. Change-Id: I70f9142d53d562b2ce0a286ef2900938fc066876
* hal: avoid usage of extern functions and tablesRavi Kumar Alamanda2016-05-114-15/+17
| | | | | | | | | If there is any difference in the signature of a function declared as extern, it will not be reported by the compiler and may result in unexpected results when executed. All the API functions should be declared in a header file. Change-Id: I89662e23da8118c3a9eac728b389498ed52e19c2
* hal: miscellaneous fixesHaynes Mathew George2016-05-1110-54/+162
| | | | | | | | | | | Fixes for the following issues reported by KW 21725, 21726, 21727, 21737, 21738, 21739, 21740, 21750, 21751, 21752, 25317, 30602, 32620, 36778, 41817, 41819, 50942, 54468, 54470, 54479, 55569, 54481, 55570, 55571, 58485, 85112, 85122, 85123 Change-Id: I9abef07db7ccdc19789a201eb268a97e1b360cad
* hal: Remove unnecessary check in make fileMingming Yin2016-05-118-109/+3
| | | | | | | - Remove unnecessary target check in make file - Remove unnecessary mm-audio flag in OMX encoders Change-Id: I4f8d660e145586e9bc7b4beebde921732e0fecf0
* hal: Import LA.BF.1.1.3_rb1.13Arne Coucheron2016-05-11128-1390/+62541
| | | | Change-Id: I312e34fe6fe3e4536790191742ddc157cf184316
* policy_hal: Always call local implementation of updateCallRoutingstable/cm-13.0-caf-8960-ZNH2KBstable/cm-13.0-caf-8960-ZNH2KArne Coucheron2016-03-182-6/+191
| | | | | | | | | | | | * updateCallRouting is not a virtual function, so any calls to the local implementation from the superclass will call the superclass's version instead of correctly calling the local version. * Override implementations of virtual functions that DO call updateCallRouting (setDeviceConnectionState, setPhoneState, setForceUse) to ensure the local version of the function is called. Change-Id: I071e2bf1ce4bf36f691c4808bf63610bcbb93227
* policy_hal: Add custom audio policyArne Coucheron2016-03-174-1/+904
| | | | | | | | | For now this is equal to the system wide policy manager, except for added support for FM device loopback. Which will give working playback and recording with the pending updates to QCOM's FM app. Change-Id: I31e994a6868e3b1ef4a624a78a7e559e6dc53010
* alsa_sound: Remove deprecated DEVICE_OUT_FM_TXArne Coucheron2016-03-173-17/+0
| | | | Change-Id: Iba7d74fe7de15b8f1950d0f0041f6e2cc1936698
* alsa_sound: Remove deprecated audio policy sourcesArne Coucheron2016-03-174-3003/+1
| | | | Change-Id: I5981631dff02866eb23c929d7be56246ad6c8589