summaryrefslogtreecommitdiffstats
path: root/audio
Commit message (Collapse)AuthorAgeFilesLines
* [LSC] Add LOCAL_LICENSE_KINDS to hardware/libhardware_legacyBob Badour2021-02-121-0/+9
| | | | | | | | | | | | | | | Added SPDX-license-identifier-Apache-2.0 to: Android.bp audio/Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: Id879ff71929846da71ae2df96ab748a4ad464d82
* Convert mask types from uint32_t to enum typeMikhail Naganov2020-11-241-5/+9
| | | | | | | | | | | | | | | | | | | This applies to the following types: - audio_gain_mode_t; - audio_flags_mask_t; - audio_channel_representation_t; - audio_channel_mask_t; - audio_devices_t. Enum types are distinct thus proper overloading on the type is possible in C++. Also, assignments to enum types are less prone to errors. Bug: 169889714 Test: basic audio functionality Change-Id: I6366511b421ccab2782310ecc15a13e08d9c17af Merged-In: I6366511b421ccab2782310ecc15a13e08d9c17af
* libaudiohw_legacy needs libaudioclient_headersMarco Nelissen2019-10-081-0/+1
| | | | | | Test: build Change-Id: I0ad1a777a0358a0f79d495747a7ca4bddf984d45 Merged-In: I0ad1a777a0358a0f79d495747a7ca4bddf984d45
* Revert "Audio V4: Split system and vendor Audio.h"Kevin Rocard2018-01-241-1/+0
| | | | | | | | This reverts commit c9eb1ead66550263fb0d4769d8faf561082dfcec. Reason for revert: Breaks the build of multiple devices Change-Id: I2a4fe487d60b484c19d8b07d1439af934b852913
* Audio V4: Split system and vendor Audio.hKevin Rocard2018-01-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | audio.h and its dependencies (audio-effect.h, sound_trigger.h...) used to be shared between system and vendor code. This led to multiple problems: 1) Such sharing contradicts the Treble policy of strict independence of framework and vendor code. 2) When audio.h was changed, every vendor needed to update its code in the next release. This meant that audio*.h headers were mostly changed in backward compatible manner. Nevertheless, for P the HIDL interface and thus the audio.h interface are changed in backward incompatible way. (Some enum are becoming 64 bit long). 3) As the headers were common, some API used only by the framework needed to be visible to the vendors (mostly enum values). 4) Treble policy is to support at least one previous HAL version As a result the audio*.h headers are now duplicated, one set for the framework, and one for the vendor. Each set will evolve independently. After this split, the framework-only APIs will be removed from the vendor headers and vice versa. The split is implements as such: + for system code - NOT moving the libaudio_system_headers Eg: system/audio.h and system/audio_effects/effect_equalizer.h are still in system/media/audio - the legacy audio HAL API that were in libhardware headers are now in libaudiohal_legacy_headers Eg: hardware/audio.h and hardware/audio_effect.h are now in frameworks/av/media/libaudiohal/legacy/ + for vendor code - moving libaudio_system_headers and the legacy audio HAL API that were in libhardware_headers in android.hardware.audio.common.legacy@2.0 Note that those headers are now versioned, so migrating to a @4.0 HIDL HAL will mean changing the legacy dependency too. Eg: system/audio.h, system/audio-effect.h, hardware/audio.h are now in hardware/interfaces/audio/common/2.0/legacy - the legacy audio effect HAL API that was in libaudioeffects is now moved in android.hardware.audio.effect.legacy@2.0 Eg: audio_effects/effect*.h are now in hardware/interfaces/audio/effect/2.0/legacy - the legacy sound trigger HAL API that were in libhardware_headers is now moved in android.hardware.soundtrigger.legacy@2.0 Eg: hardware/sound_trigger.h is now in hardware/interfaces/audio/effect/2.0/legacy libaudioutil being used by both system and vendor, had to be renamed for system to libaudioutil_system. Vendor libs that now depend on the audio.h of a specific version and are not extensively referenced in non google code, append @2.0 to their name. Note that headers that are not expected to change in the 4.0 HAL are left in all-versions folder to avoid duplication. This is an implementation detail as the versioned libraries export the all-versions headers. Note that strict vendor-system separation is enforced by the build-system. The system headers are not available for vendor libs and vice-versa. Note that this patch is split between numerous git repository (>10), all the commits having the same Change-id for searchability. Note that audio_policy.h is no longer exposed to vendors as the legacy audio policy HAL API was never officially supported. As a result the audiopolicy stub implementation has been removed. Test: compile taimen-userdebug walleye-userdebug sailfish-userdebug marlin-userdebug gce_x86_phone-userdebug gce_x86_phone full-eng aosp_arm aosp_x86-eng Test: check that the emulator booted and played audio Test: full QA on sailfish-userdebug and taimen-userdebug Bug: 38184704 Change-Id: I950f4e0a55613d72e32eba31bd563cb5bafe2d1a Signed-off-by: Kevin Rocard <krocard@google.com>
* Use -Werror in hardware/libhardware_legacyChih-Hung Hsieh2017-10-031-0/+3
| | | | | | | | * Remove unused local variable or suppress the warning. Bug: 66996870 Test: build with WITH_TIDY=1 Change-Id: I4d7b4f2e9e7e6c60d8bfc209f47e6f1d33720165
* libhardware_legacy: Android.mk -> Android.bpSteven Moreland2017-04-142-22/+25
| | | | | | | | Test: builds with BOARD_VNDK_VERSION := current Test: (sanity) Boots and works on internal marlin. Bug: 33241851 Bug: 29915755 Change-Id: Ic355174a67860afa13377bc9d8f0a140f59ec34e
* Merge "libhardware_legacy: remove dead code in Android.mk" am: 955b796f36 ↵Colin Cross2017-02-211-22/+0
|\ | | | | | | | | | | | | | | am: fa192e08eb am: 20107d1fc9 Change-Id: I4344edee0d02c8df684147bde83ab67bf95c9a99
| * libhardware_legacy: remove dead code in Android.mkBin Chen2017-02-131-22/+0
| | | | | | | | | | | | | | | | | | | | The commneted code is the only place in AOSP that still reference BOARD_HAVE_BLUETOOTH and BOARD_USES_GENERIC_AUDIO. Delete it to make things cleaner. Test: Build Change-Id: I37e3135bf2db2c6d46eb59d5a0de49d02c1a036d Signed-off-by: Bin Chen <bin.chen@linaro.org>
* | remove legacy audio policyEric Laurent2016-11-287-5189/+0
|/ | | | | | Test: make. Change-Id: I8b04ba9e1ab3b3fc22cf1b1baba010664c47ecc6
* Merge \"Fix google-explicit-constructor warnings in libhardware_legacy\"Chih-Hung Hsieh2016-06-301-1/+1
|\ | | | | | | | | | | am: a7355c3ab4 Change-Id: I0f4c805e27c1e51d15f63d7e6b9c0521fd9bd520
| * Fix google-explicit-constructor warnings in libhardware_legacyChih-Hung Hsieh2016-06-301-1/+1
| | | | | | | | | | | | Bug: 28341362 Change-Id: I9b370ece9506591abfff46d5edb726a7fc993298 Test: build with clang-tidy
* | Merge "Use libmedia header paths in legacy audio libs" am: 82cca69Treehugger Robot2016-04-151-0/+3
|\| | | | | | | | | | | | | | | | | am: 1e8f444 * commit '1e8f444a0fdf1134bab3f1cf8f06cbbea96da11f': Use libmedia header paths in legacy audio libs Change-Id: Idfbf33afeb8f2689ee6374bc8b675c039fc31a83
| * Use libmedia header paths in legacy audio libsChristopher Wiley2016-04-141-0/+3
| | | | | | | | | | | | | | | | | | | | | | The headers for these libraries include headers from libmedia, which means they need access to the full libmedia include path. Bug: 27804373 Test: These libraries compile when libmedia's compilation path changes slightly. Change-Id: I201c82c85a1513b4165c7565dfac4f4371d6fe5c
* | Use audio_module_handle_t and audio_patch_handle_t consistentlyGlenn Kasten2016-03-231-1/+1
| | | | | | | | | | Bug: 27814144 Change-Id: I54b7a73ec318779fd3addb060998f4d94141152d
* | Use audio_session_t consistentlyGlenn Kasten2016-03-104-8/+8
|/ | | | | Bug: 27562099 Change-Id: Id5af47af3e8e3404c575fbb0ec02cf25378b7089
* Make libhardware_legacy warning clean.Dan Albert2016-02-023-4/+6
| | | | | | | | | Fix some (note the fun infinite recursion bug from the dawn of time, apparently no one has called that function), silence those that are style choices. Bug: http://b/26936282 Change-Id: I99fa342abf9d134fb729ed8d906e60c011120e89
* Prepare to remove libhardware_legacy from global include dirsDan Willemsen2015-09-281-3/+5
| | | | | Bug: 18903857 Change-Id: I2a5fdb7f42ba46729e66ff08893183184edc3c97
* Remove unused systemTime() and include utils/Timers.h.Daniel Erat2015-08-052-0/+2
| | | | | | | | | | | Remove a systemTime() function from power/power.c that doesn't appear to be called anywhere, and make several audio/ files explicitly include utils/Timers.h for the libutils version of systemTime(). (They appear to have been transitively getting it via utils/threads.h's include of utils/Condition.h.) Change-Id: I432bb1cf1100f5829df307a146076acf035a0bdc
* am e714af92: audio policy: use legacy stream type definitionsEric Laurent2014-11-261-2/+2
|\ | | | | | | | | * commit 'e714af927c1e87a488178315b78b0c12c0ec9db9': audio policy: use legacy stream type definitions
| * audio policy: use legacy stream type definitionsandroid-5.1.1_r5android-5.1.1_r28android-5.1.1_r22android-5.1.1_r17android-5.1.1_r12lollipop-mr1-wfc-releaselollipop-mr1-devEric Laurent2014-11-111-2/+2
| | | | | | | | | | | | | | | | New stream types have been added, so make sure that legacy implementation uses legacy stream definitions Bug: 18067208 Change-Id: I8042ebe9ac3e7eda380b8c91650f2ac16b44bc34
* | am b4b0608b: Merge "legacy audio policy: check string parameters before use" ↵Glenn Kasten2014-11-071-0/+9
|\| | | | | | | | | | | | | into lmp-mr1-dev * commit 'b4b0608b0560a7cad27aeec0af8b1728b971aa3a': legacy audio policy: check string parameters before use
| * legacy audio policy: check string parameters before useGlenn Kasten2014-11-061-0/+9
| | | | | | | | | | Bug: 18262893 Change-Id: Iee6e59db7ffae5612256ba1f74aba62bc8cf12db
* | am a311a983: audio HAL: add parameters to open stream functionsEric Laurent2014-07-281-2/+5
|\| | | | | | | | | * commit 'a311a983eb4035b272033105119cb44d814fb2db': audio HAL: add parameters to open stream functions
| * audio HAL: add parameters to open stream functionsEric Laurent2014-07-271-2/+5
| | | | | | | | | | | | | | | | Pass device address (and audio source for inputs) to open_output_stream() and open_input_stream() audio HAL functions. Bug: 14815883. Change-Id: Ib1c3e98518733fa5eab54cbca4220e388d3f6211
* | am 39b3abc0: Merge "audio: add mechanism to re-route nullified audio"Eric Laurent2014-07-231-1/+17
|\ \ | |/ |/| | | | | * commit '39b3abc0ca227d72f66bb47a75cec2acfb4d6de0': audio: add mechanism to re-route nullified audio
| * audio: add mechanism to re-route nullified audioVincent Becker2014-07-161-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a race condition whereby two requests attempt to change the audio stream (and interrupt each other). For example, a user space app makes a call through the audio API and before completion, a kernel function such as jack removal is detected and is serviced. In this case, you have a nullified audio route that needs to be re-routed. In order to know a routing update is needed, a boolean member mForceRouting has been introduced to enforce routing for the next attempt to set audio output with a non-null device. Change-Id: Ia0aa2f27fe63c39f0980dec2e1e79dbc26b81e56 Author: Vincent Becker <vincentx.becker@intel.com> Signed-off-by: Vincent Becker <vincentx.becker@intel.com> Signed-off-by: Zhi Jin <zhi.jin@intel.com> Signed-off-by: Shuo Gao <shuo.gao@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com> Signed-off-by: Jack Ren <jack.ren@intel.com> Signed-off-by: Robert Beatty <robert.m.beatty@intel.com>
* | Add audio_input_flags_t to HAL open_input_streamGlenn Kasten2014-07-171-1/+2
| | | | | | | | Change-Id: I17db01e92bfa939c7a15e7f9f95197d0a0568033
* | audio: fixed channel count determination from channel maskEric Laurent2014-07-012-3/+5
| | | | | | | | | | | | | | Do not use popcount() to derive channel count from channel mask. Bug: 15000850. Change-Id: I5050ce7fd7884369eb0de37967e40052630006a9
* | Enabling USB Device and Android Device Vol inc/dec functionalityPaul McLean2014-06-271-3/+1
| | | | | | | | | | | | | | for USB Audio Output Bug: 13747844 Change-Id: I53b7db8102fd2ed24014c338ea5e7290cda8b2f3
* | audio policy: add parsing for more audio formatsEric Laurent2014-06-191-0/+5
| | | | | | | | | | Bug: 9428304. Change-Id: Ie3c9827ed78703a1b2d9699e38ce628f3055138b
* | Merge "handle in and out audio device connection separately"Eric Laurent2014-05-301-9/+1
|\ \
| * | handle in and out audio device connection separatelyEric Laurent2014-05-291-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | AudioService now indicates in and out device connection separately in case of combined devices like wired headset or BT SCO headset. Change-Id: Id20e02bb351cc732ceddccf597742ced049671a8
* | | AudioPolicyManagerBase: Add support for A2DP sink inputMike Lockwood2014-05-282-7/+19
|/ / | | | | | | Change-Id: I500d1f2f8f2199c674b289cf671b7f863a7d02ee
* | am 62038fc4: am 2c388a44: am 8eb3354a: Merge "Audio: add an ↵Eric Laurent2014-05-082-1/+13
|\| | | | | | | | | | | | | openOutputStreamWithFlags API" * commit '62038fc4c5c596f04a87388bb42bdef13d359c39': Audio: add an openOutputStreamWithFlags API
| * Merge "Audio: add an openOutputStreamWithFlags API"Eric Laurent2014-05-072-1/+13
| |\
| | * Audio: add an openOutputStreamWithFlags APIDavid Wagner2014-04-232-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing openOutputStream API did not allow passing stream flags even though its audio hardware interface's open_output_stream counterpart does take a "flags" argument. This means that, when the audio hw_module is implemented using libhardware_legacy, the output flag was lost. This commit adds an API in libhardware_legacy's audio module, allowing to pass the flag, and updates the default wrapper in order to call this new API instead of the old version that missed the flag. Change-Id: I20c102d32b489f87fabbd7d02aa0b28fae13948b Signed-off-by: David Wagner <david.wagner@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com> Signed-off-by: Jack Ren <jack.ren@intel.com>
* | | Update policy handling for USB inputsPaul McLean2014-04-251-37/+265
| | | | | | | | | | | | Change-Id: Ib2e531f115f8bd1d5f290094032f3f4a4753e726
* | | resolved conflicts for merge of 75402fdb to masterColin Cross2014-04-242-16/+19
|\| | | | | | | | | | | Change-Id: Ie85a3c7d498d7685738190267916e9a205cc469e
| * | audio: allow compiling for 64-bitColin Cross2014-04-182-16/+19
| |/ | | | | | | | | | | | | | | Fix a few 64-bit warnings and set -Wno-unused-parameter, which makes the directory warnings-clean on 32-bit and 64-bit. Remove LOCAL_32_BIT_ONLY. Change-Id: I688b31683f1a6598419866d9b7b6bc27a7056f4a
* | Initial implementation of USB Audio output.Paul McLean2014-03-281-73/+85
| | | | | | | | Change-Id: I4e2517233487ca7487ed7948a974fc2cc6c41190
* | am fa8ad9fb: am 60089828: Merge "Audio policy is 32-bit only"Glenn Kasten2014-03-171-0/+3
|\| | | | | | | | | * commit 'fa8ad9fb544e01e663709e8dccd9b358e4d3ede9': Audio policy is 32-bit only
| * Audio policy is 32-bit onlyGlenn Kasten2014-03-171-0/+3
| | | | | | | | Change-Id: I2eca0286d98bb5eebe9c68286d4ee7ed366f173d
* | am e6c7127e: am be39c1e4: Merge "audio policy : add ↵Glenn Kasten2014-03-171-0/+1
|\| | | | | | | | | | | | | AUDIO_DEVICE_IN_USB_DEVICE to sDeviceNameToEnumTable" * commit 'e6c7127ef2491ddeb995ffb48843fda4e30ff9ff': audio policy : add AUDIO_DEVICE_IN_USB_DEVICE to sDeviceNameToEnumTable
| * audio policy : add AUDIO_DEVICE_IN_USB_DEVICE to sDeviceNameToEnumTablePeter Yoon2014-03-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | This commit adds AUDIO_DEVICE_IN_USB_DEVICE to sDeviceNameToEnumTable[], It had to be added here, when it was defined in system/core/include/system/audio.h AudioPolicyManagerBase::loadHwModule() fails to parse device type of AUDIO_DEVICE_IN_USB_DEVICE in audio_policy.conf. By applying this commit, AUDIO_DEVICE_IN_USB_DEVICE can be used for audio policy customization. Change-Id: I0165956334d7105129dca4c746372dbca0d9e324
* | Add more PCM formats to audio_policy.conf parserGlenn Kasten2014-03-071-0/+4
| | | | | | | | | | | | In particular, we need AUDIO_FORMAT_PCM_24_BIT_PACKED. Change-Id: I28abe8466024bdd4d1edbb4281c6472d45a2d94f
* | Rename setStreamOutput to invalidateStreamGlenn Kasten2014-02-283-8/+4
| | | | | | | | | | | | And simplify by removing the unused I/O handle parameter 'output'. Change-Id: Ie9c4df17a7378066312d4ed8790fda7a9125c95e
* | audio_policy: clean up dumpsysPatrick Tjin2014-02-061-2/+2
| | | | | | | | | | | | Remove NUL characters from audio_policy's dump output Change-Id: If591473dbe3e5adbc34dbbdb0d552b329f19eb6a
* | am 3582b9b0: am 84b5cd7c: Merge "hardware/libhardware_legacy: convert ↵Colin Cross2014-01-281-1/+1
|\| | | | | | | | | | | | | LOCAL_MODULE_PATH to LOCAL_MODULE_RELATIVE_PATH" * commit '3582b9b0e1caa4a43b8706e699903142e34ad5c0': hardware/libhardware_legacy: convert LOCAL_MODULE_PATH to LOCAL_MODULE_RELATIVE_PATH
| * hardware/libhardware_legacy: convert LOCAL_MODULE_PATH to ↵Colin Cross2014-01-241-1/+1
| | | | | | | | | | | | | | | | | | LOCAL_MODULE_RELATIVE_PATH LOCAL_MODULE_PATH doesn't work for multiarch builds, replace it with LOCAL_MODULE_RELATIVE_PATH. Change-Id: I4e4ceec61d026bbe74ba604554c06104bde42e5e