Commit graph

947 commits

Author SHA1 Message Date
Eric Laurent
5f9bb1b027 audio: add audio session for device effects
Add specific audio session ID for effects applied to a
particular audio device.

Bug: 136294538
Test: make
Change-Id: Iea3e3a07f404e1075844422c740d2dc4d5163598
Merged-In: Iea3e3a07f404e1075844422c740d2dc4d5163598
2020-01-10 11:16:12 -08:00
Treehugger Robot
653c876b5b Merge "Add audio stream and usage for virtual assistant" 2020-01-08 22:23:27 +00:00
Baekgyeong Kim
09e665e61c Add audio stream and usage for virtual assistant
New stream type: AUDIO_STREAM_ASSISTANT
This is intended to be used by a virtual assistant like
Google Assistant, Bixby, etc.

The audio stream has own volume alias and the volume
does not change by volume changes of other streams.

Bug: 123745215
Test: make
Change-Id: I3696d8fba32070954cc6a330574af8507fea7a74
Merged-In: I3696d8fba32070954cc6a330574af8507fea7a74
2020-01-08 11:53:59 -08:00
Automerger Merge Worker
828f15ebfc Merge "[vts-core] add VtsHalAudioEffectV*_0TargetTest to vts-core" am: 4472878a42 am: 96dd61d29b am: e876443913
Change-Id: I1e989a1cbe6d39b2c5f9f135388ea882df1925da
2020-01-08 03:41:27 +00:00
nelsonli
3c12e5844c [vts-core] add VtsHalAudioEffectV*_0TargetTest to vts-core
Convert VtsHalAudioEffectV*_0TargetTest to be parameterized test
and add it to vts-core

Bug: 142397658
Bug: 146104851
Bug: 146015418
Test: $atest VtsHalAudioEffectV2_0TargetTest
      $atest VtsHalAudioEffectV4_0TargetTest
      $atest VtsHalAudioEffectV5_0TargetTest
      $atest VtsHalAudioEffectV6_0TargetTest

Change-Id: I3e9297f7c0a0453b04721f6af8998a18043f5815
2020-01-06 16:26:58 +08:00
Baekgyeong Kim
3bc7741e91 Add audio stream and usage for virtual assistant
New stream type: AUDIO_STREAM_ASSISTANT
This is intended to be used by a virtual assistant like
Google Assistant, Bixby, etc.

The audio stream has own volume alias and the volume
does not change by volume changes of other streams.

Bug: 123745215
Test: make
Change-Id: I3696d8fba32070954cc6a330574af8507fea7a74
2019-12-16 11:39:27 -08:00
Mikhail Naganov
6c070ca4e8 audio: Add IDevice::updateAudioPatch method
Add method 'updateAudioPatch' which should be used when
an existing patch needs to be updated with new routing.
Use of this method allows audio HAL to avoid disrupting
audio stream while changing routing.

Bug: 79248321
Test: atest VtsHalAudioV6_0TargetTest
Change-Id: I6c87f67fa4f2463ba9e8f0272a3232f5c9c55714
2019-12-13 19:28:37 -08:00
Eric Laurent
9866a1b22d Merge "Audio HAL: Add API to attach an effect to a device" 2019-12-14 00:31:42 +00:00
Automerger Merge Worker
9ce348e0fc Merge "audio: Ignore ENOSYS from optional legacy HAL methods" am: a659ab610b am: 8cd2f70c58 am: 4dab7f1e9c
Change-Id: I911fc7096b9ead0504c67319bd339442a16ceb6c
2019-12-13 17:56:41 +00:00
Treehugger Robot
a659ab610b Merge "audio: Ignore ENOSYS from optional legacy HAL methods" 2019-12-13 17:23:44 +00:00
Eric Laurent
6c29bf2096 Audio HAL: Add API to attach an effect to a device
Add a method to IDevice interface allowing the attachement of an
audio effect to an audio device.
This is used when an audio effect is implemented below the HAL (e.g by an audio DSP)
and is attached/enabled when a particular sink(e.g speaker) or source(e.g mic) device
is selected.

Bug: 136294538
Test: make
Change-Id: I73d78c4f234fd80443a1cb3772c2d65457968652
2019-12-12 14:16:38 -08:00
Nicholas Ambur
ad84668d29 Merge "add SoundTrigger HAL V2.3" 2019-12-12 21:37:00 +00:00
Eric Laurent
00a501a992 Merge "audio: add call assistant usage" 2019-12-12 18:10:42 +00:00
Nicholas Ambur
1e90019220 add SoundTrigger HAL V2.3
add support for model parameter control APIs with THRESHOLD_FACTOR
as the first supported parameter

Bug: 141929369
Test: Tested manually with test app, GTS test
gts-tradefed run gts-dev -m GtsAssistIntentTestCases
and VTS test
vts-tradefed run vts-hal -m VtsHalSoundtriggerV2_3Target
Change-Id: I79d2b6365cc63fbdfe06fa94f1d0878903cbf554
2019-12-11 19:42:51 -08:00
TreeHugger Robot
dca3a5763b Merge "audio: Add check for MMap buffer size to the default implementation" 2019-12-12 00:41:27 +00:00
Automerger Merge Worker
8a5ee4e1a1 Merge "audio VTS: Fix call to IDevice::close in V6 tests" am: e82bfc646f am: b479a2793b am: b092fd6270
Change-Id: Ia7809f75b5138a774b0543d21b983c07a417c9b1
2019-12-12 00:16:27 +00:00
Mikhail Naganov
4135fa4e59 audio: Ignore ENOSYS from optional legacy HAL methods
Some methods of legacy HALs are optional. The legacy HAL
can avoid implementing them either by setting the function
entry in the interface table to NULL or by setting it
to a stub function returning -ENOSYS. In the latter case
the default implementation was spamming syslog with
warnings. Specify that ENOSYS returned from optional legacy
HAL methods must be ignored.

Bug: 141989952
Test: check logcat
Change-Id: Idbdff8d88e3303a0181cb5629ab82485148e6d8e
2019-12-11 15:57:53 -08:00
Mikhail Naganov
b2178b9248 audio: Add check for MMap buffer size to the default implementation
Add documentation and check that 'minSizeFrames' parameter
is a positive value. Previously a similar check was added
to Pixel HAL.

Bug: 141989952
Test: atest VtsHalAudioV6_0TargetTest
Change-Id: I526431fc214f7f5bc424f0c9e4c890cf918ca2b2
2019-12-11 15:07:47 -08:00
Mikhail Naganov
777a4d473c audio VTS: Fix call to IDevice::close in V6 tests
The result of RPC calls of HAL methods must be checked.
Added a check of result of calling IDevice::close added
for V6.

Bug: 114451103
Test: atest VtsHalAudioV6_0TargetTest
Change-Id: Ib6276382f15f122b43f314cf64cac2c3242bb76c
2019-12-11 14:39:01 -08:00
Eric Laurent
3c181a6fd6 audio: add call assistant usage
Add audio usage for call assistant use cases.
Used by apps playing over call uplink path for call
screening or other in call assitant features.

Bug: 135213843
Test: make
Change-Id: I7eeea676fe188946ff86f1e11e8e00a624a4ec5c
2019-12-11 13:51:13 -08:00
TreeHugger Robot
0f2ba63003 Merge "Add AUDIO_INPUT_FLAG_DIRECT to Audio HAL constants" 2019-12-11 21:36:51 +00:00
Mikhail Naganov
d334593715 Add AUDIO_INPUT_FLAG_DIRECT to Audio HAL constants
This flag used to be framework only. To simplify constants
management it's better to have it defined at all layers.
Currently it is only used for MSD module but potentially
can be used for HDMI inputs.

Bug: 141273649
Test: use AOSP MSD on Pixel
      atest VtsHalAudioV6_0TargetTest

Change-Id: I3b853d5d0a05cc4d4bacd0a9ae432099bb47fad9
2019-12-10 16:47:00 -08:00
Eric Laurent
ceaeee1d73 Audio effect HAL: Add device ID to createEffect API
Add the possibility to specify a target audio device when
creating an audio effect by passing its audio port handle
to createEffect API.

To attach an effect to a device, the framework will use
session ID AudioSessionConsts.DEVICE and provide a valid
AudioPortHandle as device ID.

Bug: 136294538
Test: make
Change-Id: Ic697eeafbd5df6800ad4c7fd9e0698e3d8e3beae
2019-12-09 09:46:37 -08:00
Eric Laurent
6d48565360 audio: add audio session for device effects
Add specific audio session ID for effects applied to a
particular audio device.

Bug: 136294538
Test: make
Change-Id: Iea3e3a07f404e1075844422c740d2dc4d5163598
2019-12-06 12:26:26 -08:00
Treehugger Robot
d3a2bdfc63 Merge "Refactor for audio device type in conversion." 2019-12-05 20:17:59 +00:00
jiabin
f17047d892 Refactor for audio device type in conversion.
As audio device type can not be used as bit mask any more, refactoring
audio device type usages in conversion from/to HAL. Use a set of audio
device types instead of bit mask.

Bug: 135621476
Test: atest VtsHalAudioV5_0TargetTest
Change-Id: I1a0f574744f855bb1684cd28613571399781abbc
Merged-In: I1a0f574744f855bb1684cd28613571399781abbc
2019-12-04 17:51:05 -08:00
Mikhail Naganov
2cee5c316e Audio HAL: Fix UAF if the effect is removed after close am: 532240f4eb am: 78836599d2
am: 21dfccb823

Change-Id: I0c607d42aa174c7e50ee53b838a811ae00c33970
2019-12-04 17:41:20 -08:00
Mikhail Naganov
532240f4eb Audio HAL: Fix UAF if the effect is removed after close
Effect::close in V6 releases the underlying HAL effect.
It was not removing the effect entry from the effects
map, thus a call to Stream::removeEffect was retrieving
a stale handle.

Bug: 145656878
Test: start and stop recording for VOICE_COMMUNICATION
Change-Id: I47f486d3b6b4b0dc29acd1e3a2093e421b28d90b
2019-12-04 16:21:28 -08:00
Automerger Merge Worker
dcd93513e6 Merge "audio VTS: Fix parametrization for compressed formats" am: bff764d944 am: 630fc31844
Change-Id: Ie590fa7df4cb59c0266831f4d76874c1864a3996
2019-12-04 17:11:11 +00:00
Treehugger Robot
bff764d944 Merge "audio VTS: Fix parametrization for compressed formats" 2019-12-03 23:59:15 +00:00
Mikhail Naganov
26d535b58e audio VTS: Fix parametrization for compressed formats
Compressed formats should not be opened with DIRECT flag
only, as this will result in playing out compressed data.

Bug: 141989952
Test: atest VtsHalAudioV6_0TargetTest
Change-Id: I873f9a25d5109fb9f5d56f5f748d1348dc12d416
2019-12-03 10:45:23 -08:00
Steven Moreland
c2a2995047 Merge "./update-makefiles.sh, for union changes/memory" am: 00daede4d5 am: 0942e33017
am: 87fe284668

Change-Id: I3a331b5e1c5418426a084f1c7bfe436214a1b68f
2019-11-26 15:00:11 -08:00
Treehugger Robot
00daede4d5 Merge "./update-makefiles.sh, for union changes/memory" 2019-11-26 22:47:34 +00:00
jiabin
5da42a3e3a Use audio containers from libaudiofoundation.
It is suggested to do so according to Vector.h and SortedVector.h.
At framework side, there are audio containers such as FormatVector,
ChannelMaskSet, SampleRateSet to replace the usage of Vector
SortedVector for audio stuff. In default hal implementation, we can
use these audio containers to replace Vector and SortedVector.

Bug: 135621476
Test: play/record audio
Change-Id: I4d985327fb76cd06afe241860d8b592abcbfe4f2
Merged-In: I4d985327fb76cd06afe241860d8b592abcbfe4f2
2019-11-26 11:41:24 -08:00
jiabin
797b5b45fc Add libaudiofoundation.
Some classes, e.g. AudioGain, in libaudiofoundation, which are used by
libaudiopolicycomponent, will require libaudiofoundation as a shared
library to avoid link error when building.

Bug: 135621476
Test: make
Change-Id: I8732bdab37d8afd866fe03a74db3dc564fea1ad2
Merged-In: I8732bdab37d8afd866fe03a74db3dc564fea1ad2
2019-11-26 11:29:34 -08:00
Steven Moreland
7696aa885f ./update-makefiles.sh, for union changes/memory
Many more types can be used in Java.

Bug: 143566068
Test: N/A
Change-Id: Ie18e1e0f9c22f2ea15b755df3b048c9d651c4945
2019-11-26 09:24:31 -08:00
TreeHugger Robot
1b863c2f9d Merge "Refactor for audio device type in conversion." 2019-11-25 20:04:44 +00:00
Mikhail Naganov
e74d8746cf Merge changes from topic "upstream-close-fixes" am: 7663233f5c am: b6d82825e0
am: 88e9203701

Change-Id: If85dd058799aede5b0770e52b0185d3405f44269
2019-11-25 07:40:37 -08:00
Mikhail Naganov
c48c24bbc9 audio: Factor out IStream operations into a helper class am: 422afc131a am: b0b24baabf
am: b15071a05e

Change-Id: I983c466c2abe0c69fd67105f4dbdfe59e1112757
2019-11-25 07:40:33 -08:00
Mikhail Naganov
7e241b350b audio: Cleanup VTS tests am: 13b99b4cf4 am: 740cb65b21
am: 598db7088c

Change-Id: I0ec9112a79bd66c506228c8b7bc56931c0847536
2019-11-25 07:40:29 -08:00
jiabin
98fd544712 Refactor for audio device type in conversion.
As audio device type can not be used as bit mask any more, refactoring
audio device type usages in conversion from/to HAL. Use a set of audio
device types instead of bit mask.

Bug: 135621476
Test: atest VtsHalAudioV5_0TargetTest
Change-Id: I1a0f574744f855bb1684cd28613571399781abbc
2019-11-22 16:44:34 -08:00
TreeHugger Robot
947a2172e0 Merge "audio effect: Avoid using stack-allocated arrays" 2019-11-22 02:18:26 +00:00
Mikhail Naganov
2a652cec4b audio effect: Avoid using stack-allocated arrays
This is to prevent OOB write in case when a sufficiently
large HIDL vector is provided via a HwBinder call.

Bug: 143787559
Test: atest VtsHalAudioEffectV5_0TargetTest
Change-Id: I6ea78804a5a3ed7a245929d3de47580b12c0da9a
2019-11-21 14:05:45 -08:00
Mikhail Naganov
ed261bbfb1 audio: Add check to IDevice.close for currently opened streams
IDevice.close must not proceed if there are streams
that are currently opened on this device.

Bug: 114451103
Test: atest VtsHalAudioV6_0TargetTest
Change-Id: I61d81bc0333098c341d5d551bf59331e49fcf682
2019-11-21 12:32:09 -08:00
Mikhail Naganov
422afc131a audio: Factor out IStream operations into a helper class
Bug: 114451103
Test: atest VtsHalAudioV5_0TargetTest
      atest VtsHalAudioV6_0TargetTest

Change-Id: I7c1b16df2b52fd5279ff1f431bfc7269fb9cd8f6
2019-11-21 11:01:28 -08:00
Mikhail Naganov
13b99b4cf4 audio: Cleanup VTS tests
Remove getSupported*AudioConfig methods as they were always
returning empty vector, and for V6 test parameter generation
has been changed.

Test: atest VtsHalAudioV5_0TargetTest
Change-Id: Ib6f53c52b3ee2769cb02730d02decd97390fe091
2019-11-21 11:01:18 -08:00
Mikhail Naganov
a4b693f5da Audio VTS: Fix MMAP tests
Ensure stream test runs for output MMAP profiles.

Enhance checks for MMAP buffer size.

Bug: 144575694
Test: atest VtsHalAudioV6_0TargetTest
Change-Id: I93e66b12c93c466d661e65c4dbbb5deb32772848
Merged-In: I93e66b12c93c466d661e65c4dbbb5deb32772848
2019-11-21 10:57:19 -08:00
Mikhail Naganov
d041930df9 Audio V6 wrapper: IDevice|IStream|IEffect.close releases HAL resource
Fixed behavior of IStream|IEffect.close to release the underlying
HAL resource synchronously. This is to avoid adding artificial
delays in VTS that become totally unpractical in V6.

Added clarification about expected client behavior for
IStream|IEffect.close w.r.t. audio data transfer.

Added IDevice.close method which releases HAL device resource.

Updated VTS tests to remove delays in V6.

Bug: 114451103
Bug: 141989952
Test: atest VtsHalAudioV6_0TargetTest
Change-Id: I439f0f923c091af2ab234d15ca847cfade341f25
Merged-In: I439f0f923c091af2ab234d15ca847cfade341f25
2019-11-21 10:56:25 -08:00
Lloyd Pique
43286a882b Merge "audio: Remove redundant PrintTo definitions" am: 7582ba18ee am: c93cb2e4b4
am: b72d057e24

Change-Id: I759f0e3a808780eb8b686d2553efeb96e46c3b7f
2019-11-20 15:02:12 -08:00
Lloyd Pique
97bc3fba7b audio: Remove redundant PrintTo definitions
hidl-gen now generates them for use by all Google Tests, calling
toString().

The local audio PrintTo definitions in PrettyPrintAudioTypes.h are now
redundant with the generated versions, and the entire header can be
removed.

Test: Verified the generated PrintTo functions work in a different GTest
Change-Id: I80d100907e3c6c638608b0b8b34232b02decac19
2019-11-19 14:45:32 -08:00
TreeHugger Robot
dda33b5d7a Merge "Audio V6 wrapper: IDevice|IStream|IEffect.close releases HAL resource" 2019-11-19 21:00:41 +00:00
TreeHugger Robot
594090a5b1 Merge "Audio VTS: Fix MMAP tests" 2019-11-19 19:56:46 +00:00
Mikhail Naganov
a70e4317e6 Audio VTS: Fix MMAP tests
Ensure stream test runs for output MMAP profiles.

Enhance checks for MMAP buffer size.

Bug: 144575694
Test: atest VtsHalAudioV6_0TargetTest
Change-Id: I93e66b12c93c466d661e65c4dbbb5deb32772848
2019-11-18 11:53:39 -08:00
Mikhail Naganov
7623ed9258 Audio V6 wrapper: IDevice|IStream|IEffect.close releases HAL resource
Fixed behavior of IStream|IEffect.close to release the underlying
HAL resource synchronously. This is to avoid adding artificial
delays in VTS that become totally unpractical in V6.

Added clarification about expected client behavior for
IStream|IEffect.close w.r.t. audio data transfer.

Added IDevice.close method which releases HAL device resource.

Updated VTS tests to remove delays in V6.

Bug: 114451103
Bug: 141989952
Test: atest VtsHalAudioV6_0TargetTest
Change-Id: I439f0f923c091af2ab234d15ca847cfade341f25
2019-11-18 11:39:26 -08:00
chenhg
b49da5d3c9 Merge "audio: add 'useForVolume' field to 'gain'." am: d0470d9440 am: ce4b75195f
am: 2a2216af6e

Change-Id: Ib50bd6aa1f95cd391c3bcf4484fc78b5f4e50974
2019-11-18 08:53:20 -08:00
chenhg
a53c280301 audio: add 'useForVolume' field to 'gain'.
BUG: 144081761
Test: xmllint --noout --xinclude --schema \
      hardware/interfaces/audio/5.0/config/audio_policy_configuration.xsd \
      frameworks/av/services/audiopolicy/config/audio_policy_configuration*.xml
      xmllint --noout --schema \
      hardware/interfaces/audio/5.0/config/audio_policy_configuration.xsd \
      --xinclude out/target/product/*/vendor/etc/audio_policy_configuration.xml

Change-Id: I0ee9114f750186b479a2ebee5dfcd946d9ef3196
2019-11-15 10:39:58 -08:00
Mikhail Naganov
60bd3ecc5d audio: Run VTS tests for streams of non-primary modules for HAL V6
Implement parsing of AudioPolicyManager config for finding
out supported format configurations of streams. This only applies
when running tests for HAL V6. Previously format configurations
mandated by CDD were used for testing, this does not work well
for non-primary modules.

Fix the following issues found while running the tests
for "r_submix" and "msd" modules:

- IStream::getSupportedFormats must return a status
  to indicate that this capability is not supported by HAL;

- it is allowed for IStream::setDevices to return
  NOT_SUPPORTED status.

Other changes:

- Factor out helper functions for generating format
  configurations;

- Fix generation of the channel mask component in the names
  of tests that use AudioConfig, add sampling rate to test
  names.

Squashed with the following commit to avoid breaking compilation:

audio vts: Remove explicit dependency on the new types

Avoid using the new ChannelMaskSet and SampleRateSet types
directly to simplify upstreaming.

Bug: 141989952
Bug: 141847510
Test: atest VtsHalAudioV5_0TargetTest
      atest VtsHalAudioV6_0TargetTest
            also, run modified V5_0 test using generators for V6_0

Change-Id: If0d330881901908e546baab89f63d3333003e355
Merged-In: If0d330881901908e546baab89f63d3333003e355
2019-11-11 10:29:06 -08:00
TreeHugger Robot
d76fafbae8 Merge "audio vts: Remove explicit dependency on the new types" 2019-11-11 18:00:34 +00:00
Mikhail Naganov
4e9c4061ca audio vts: Remove explicit dependency on the new types
Avoid using the new ChannelMaskSet and SampleRateSet types
directly to simplify upstreaming.

Bug: 141989952
Bug: 141847510
Test: atest VtsHalAudioV5_0TargetTest
Change-Id: I4477334be0375a95d79324a3ab38b03eb3f9998f
2019-11-08 15:17:00 -08:00
Eric Laurent
ac3a62a66a Merge "audio: Add CALL_SCREEN audio mode." 2019-11-08 22:39:10 +00:00
Mikhail Naganov
686af1cc43 audio: Run VTS tests for non-primary modules for HAL V6
Implement parsing of AudioPolicyManager config for finding
out declared modules (IDevice instances) with permanently
attached devices and run tests for them. This only applies
when running tests for HAL V6.

Change class hierarchy to use IDevice interface as much as
possible, only use IPrimaryDevice for its specific methods.

Fix the following issues found while running the tests
for "r_submix" and "msd" modules:

- IDevice::getMicrophones can return NOT_SUPPORTED status;

- IDevice::get/setParameters can return NOT_SUPPORTED.

Other changes:

- Factor out common code for getting devices via DeviceManager;

- Factor out AudioPolicyConfigTest.HasPrimaryModule test from
  SetUp code;

- Add device parameter generator for primary device only.

Bug: 141989952
Bug: 141847510
Test: atest VtsHalAudioV5_0TargetTest
      atest VtsHalAudioV6_0TargetTest
      also, run modified V5_0 test using generators for V6_0

Change-Id: I51cec21670120d8dce75609954a18b886cc0c18d
Merged-In: I51cec21670120d8dce75609954a18b886cc0c18d
2019-11-08 13:49:47 -08:00
Mikhail Naganov
ccd484bb80 audio: Parametrize core VTS tests
Parametrize tests to accept IDevicesFactory instance name
and IDevice instance name. For audio HAL versions 2..5
the factory instance name is taken from the VTS environment,
and the device is always "primary". For the next versions
the factories are discovered by the test, and the devices
are taken from the audio policy configuration
(to be implemented, see added FIXME comments).

Split the Environment class into two versions: for HAL 2..5
and for next versions. They use different base class.

Move device factories and device caching into dedicated
classes DevicesFactoryManager and DeviceManager. They deal
with instance caching and proper release of server resources.

Bug: 141847510
Bug: 141989952
Test: atest VtsHalAudioV5_0TargetTest
      atest VtsHalAudioV6_0TargetTest
Change-Id: I92c44e0c3f900164dded7e9c4bfc642ca2c335db
Merged-In: I92c44e0c3f900164dded7e9c4bfc642ca2c335db
2019-11-08 13:45:45 -08:00
Mikhail Naganov
315ce41a5d audio: Parametrize effect VTS tests for V6.0
Parametrize tests to accept IEffectsFactory instance name.
Discover the instances in the test.

Bug: 141847510
Bug: 141989952
Test: atest VtsHalAudioEffectV5_0TargetTest
      atest VtsHalAudioEffectV6_0TargetTest

Change-Id: Iaf19109fc77a93b211cc3da85c21c0584d4f2b88
Merged-In: Iaf19109fc77a93b211cc3da85c21c0584d4f2b88
2019-11-08 13:45:10 -08:00
TreeHugger Robot
87a728e704 Merge "audio: Run VTS tests for streams of non-primary modules for HAL V6" 2019-11-08 17:25:59 +00:00
TreeHugger Robot
8887b4f5c3 Merge "Update README" 2019-11-08 11:14:49 +00:00
Kevin Rocard
2a515e1c27 Introduce Audio V6
Generate with ./newHal.sh 5.0

+ some typo fix in the .hal
+ some clang-tidy run

This new HAL is an exact copy of the V5.
It will be modified in following patches while R is developed.

Test: push V6 to device and check audio works fine
Bug: 134940862
Change-Id: Ic25d30175032e76e0d3208fb876451de9ae6b7b4
Merged-In: Ic25d30175032e76e0d3208fb876451de9ae6b7b4
Signed-off-by: Kevin Rocard <krocard@google.com>
2019-11-07 14:19:12 -08:00
Kevin Rocard
55a451825c Change some formatting for better script parsing
Test: Compile
Bug: 134940862
Change-Id: Ibbafdcaa6e0bfa8fd2b80f4a6c9ac6ac95058f93
Merged-In: Ibbafdcaa6e0bfa8fd2b80f4a6c9ac6ac95058f93
Signed-off-by: Kevin Rocard <krocard@google.com>
2019-11-07 14:18:45 -08:00
Kevin Rocard
82d3a0b3c7 Script to generate new audio HAL version
Mostly automated script to generate a new Audio HAL major version.

Test: push V6 to device and check audio works fine
Bug: 134940862
Change-Id: I0da621e747eb48e75901a2a10cfc224f33864c3b
Merged-In: I0da621e747eb48e75901a2a10cfc224f33864c3b
Signed-off-by: Kevin Rocard <krocard@google.com>
2019-11-07 14:12:52 -08:00
Kevin Rocard
ad17f58e50 Convert audio HAL service mk to bp and rename the service
The service supports multiple versions and its name should not be
version dependant.

For backward compatibility, keep the target name
android.hardware.audio@2.0-service (32bit only), existing
PRODUCT_PACKAGES do not have to be updated.
New products should depend on android.hardware.audio.service:32.

Additionally migrate to Android.bp, dropping support for
AUDIOSERVER_MULTILIB. Previously the HAL service architecture (32 vs 64)
would be the same as the audio server. This in not wanted as all android
audio HAL are 32 bits.

Bug: 121208203
Test: # Compare following commands before and after patch:
      find $ANDROID_PRODUCT_OUT/vendor -name 'android.hardware.audio*'|xargs file
            adb shell reboot # check device boots to UI and
      # check the HAL restarts after the audioserver is killed
      adb shell ps |grep audio; adb shell killall audioserver; adb shell ps
Change-Id: I25f41735175a6687a051ca1e5a7fee670eb8115e
Merged-In: I25f41735175a6687a051ca1e5a7fee670eb8115e
Signed-off-by: Kevin Rocard <krocard@google.com>
2019-11-07 14:12:30 -08:00
Kevin Rocard
350ce29826 Audio service: Refactor register interface
Remove all per interface version boilerplate.
Adding a new version now requires only including the file
and adding the version name to the list.

Bug: 134940862
Test: adb shell lshal
Change-Id: Ib6b99d7a2c2079d914970fbe804aaf3c78c143ce
Merged-In: Ib6b99d7a2c2079d914970fbe804aaf3c78c143ce
Signed-off-by: Kevin Rocard <krocard@google.com>
2019-11-07 14:11:45 -08:00
Kevin Rocard
c581b41569 Version dependant target should included version in name
As a V6.0 version needs to be created.

Note that this target is not used anywhere explicitly.
There seem to be some magic to "xsd_config", probably has to do with the
package_name.

Bug: 134940862
Test: build
Change-Id: Id6935c5458294981cb778f3647ec01ee34a34e2f
Merged-In: Id6935c5458294981cb778f3647ec01ee34a34e2f
Signed-off-by: Kevin Rocard <krocard@google.com>
2019-11-07 14:11:07 -08:00
Mikhail Naganov
5b8fc1298a audio: Run VTS tests for streams of non-primary modules for HAL V6
Implement parsing of AudioPolicyManager config for finding
out supported format configurations of streams. This only applies
when running tests for HAL V6. Previously format configurations
mandated by CDD were used for testing, this does not work well
for non-primary modules.

Fix the following issues found while running the tests
for "r_submix" and "msd" modules:

- IStream::getSupportedFormats must return a status
  to indicate that this capability is not supported by HAL;

- it is allowed for IStream::setDevices to return
  NOT_SUPPORTED status.

Other changes:

- Factor out helper functions for generating format
  configurations;

- Fix generation of the channel mask component in the names
  of tests that use AudioConfig, add sampling rate to test
  names.

Bug: 141989952
Bug: 141847510
Test: atest VtsHalAudioV5_0TargetTest
      atest VtsHalAudioV6_0TargetTest
            also, run modified V5_0 test using generators for V6_0

Change-Id: If0d330881901908e546baab89f63d3333003e355
2019-11-07 12:53:43 -08:00
Eric Laurent
040bfea972 audio: Add CALL_SCREEN audio mode.
Add new audio mode AudioMode.CALL_SCREEN allowing call screening
to take place while other audio use cases are still active.

Also add audio policy configuration attribute indicating if the
vendor implementation supports this audio mode.

Bug: 140384450
Test: make
Change-Id: I2714a9949f2c45b1f8e5a5c40368a6152bd91572
2019-11-06 12:39:46 -08:00
Steven Moreland
856e1d3874 Merge "update-makefiles.sh: for partial Java pkgs" am: cbd3f444c7 am: 7eebf74e97
am: b2b3af540f

Change-Id: Ib6374f3dc3a00ebcb0fac50bfcd5eda479692565
2019-11-05 11:13:18 -08:00
Steven Moreland
077b73b7ab update-makefiles.sh: for partial Java pkgs
Packages which contain some non-supported Java types can still have
their Java-supported types used in Java.

Bug: 143566068
Test: mma
Change-Id: I2afc5cc8d0a1bd981108ee2b87d6033fd48bdb37
2019-11-04 12:50:41 -08:00
Mikhail Naganov
0479020425 audio: Run VTS tests for non-primary modules for HAL V6
Implement parsing of AudioPolicyManager config for finding
out declared modules (IDevice instances) with permanently
attached devices and run tests for them. This only applies
when running tests for HAL V6.

Change class hierarchy to use IDevice interface as much as
possible, only use IPrimaryDevice for its specific methods.

Fix the following issues found while running the tests
for "r_submix" and "msd" modules:

- IDevice::getMicrophones can return NOT_SUPPORTED status;

- IDevice::get/setParameters can return NOT_SUPPORTED.

Other changes:

- Factor out common code for getting devices via DeviceManager;

- Factor out AudioPolicyConfigTest.HasPrimaryModule test from
  SetUp code;

- Add device parameter generator for primary device only.

Bug: 141989952
Bug: 141847510
Test: atest VtsHalAudioV5_0TargetTest
      atest VtsHalAudioV6_0TargetTest
      also, run modified V5_0 test using generators for V6_0

Change-Id: I51cec21670120d8dce75609954a18b886cc0c18d
2019-11-01 11:29:40 -07:00
Mikhail Naganov
0553d0615c audio: Extract utility functions
Move common code out of the test source.

Test: atest VtsHalAudioV5_0TargetTest
Merged-In: I86cf399029a0a5f3f08c7e82713ae62df03dee3f
Change-Id: I86cf399029a0a5f3f08c7e82713ae62df03dee3f
2019-10-25 15:36:24 -07:00
Mikhail Naganov
8613f809fa audio: Parametrize core VTS tests
Parametrize tests to accept IDevicesFactory instance name
and IDevice instance name. For audio HAL versions 2..5
the factory instance name is taken from the VTS environment,
and the device is always "primary". For the next versions
the factories are discovered by the test, and the devices
are taken from the audio policy configuration
(to be implemented, see added FIXME comments).

Split the Environment class into two versions: for HAL 2..5
and for next versions. They use different base class.

Move device factories and device caching into dedicated
classes DevicesFactoryManager and DeviceManager. They deal
with instance caching and proper release of server resources.

Bug: 141847510
Bug: 141989952
Test: atest VtsHalAudioV5_0TargetTest
      atest VtsHalAudioV6_0TargetTest
Change-Id: I92c44e0c3f900164dded7e9c4bfc642ca2c335db
2019-10-24 16:56:33 -07:00
Mikhail Naganov
bc1d5aa08e audio: Parametrize effect VTS tests for V6.0
Parametrize tests to accept IEffectsFactory instance name.
Discover the instances in the test.

Bug: 141847510
Bug: 141989952
Test: atest VtsHalAudioEffectV5_0TargetTest
      atest VtsHalAudioEffectV6_0TargetTest

Change-Id: Iaf19109fc77a93b211cc3da85c21c0584d4f2b88
2019-10-24 09:20:24 -07:00
Mikhail Naganov
d306cccd0b audio: Extract utility functions
Move common code out of the test source.

Test: atest VtsHalAudioV5_0TargetTest
Change-Id: I86cf399029a0a5f3f08c7e82713ae62df03dee3f
2019-10-24 09:09:09 -07:00
Mikhail Naganov
6469b85899 Merge "Audio VTS: Wait after stream close" am: 1f004177c6 am: 98d63d2b1d am: 91b0183ac1
am: f6d64fbeef

Change-Id: I42154ce2c57075c9e817a35a6596865b26f3c996
2019-10-22 17:26:14 -07:00
Mikhail Naganov
5aa2002a38 Audio VTS: Wait after stream close
Due to asynchronous nature of the destruction of server-side objects
it is required to flush IPC messages to the server and wait to avoid
flakiness due to an attempt to open the stream while it's still not
closed on the server side.

Test: atest VtsHalAudioV5_0TargetTest
Bug: 118655804
Change-Id: Ibd6bb2e20ffe95b83228982c2f2e9232d280e5ff
2019-10-22 14:08:01 -07:00
TreeHugger Robot
7b9d43b09e Merge "Use static libaudiofoundation in VTS." 2019-10-17 20:15:32 +00:00
Mikhail Naganov
718fe6480c Merge changes from topic "audio-v6"
* changes:
  Allow device to have use Audio HAL V6
  Introduce Audio V6
  Script to generate new audio HAL version
  Change some formatting for better script parsing
  Convert audio HAL service mk to bp and rename the service
2019-10-17 18:59:40 +00:00
Mikhail Naganov
bd505c58e1 Merge "audio: Skip tests if audio HAL service lacks "primary" device" am: f49cfb4462 am: ee6b54d8b0 am: 5defe6bd61
am: 2113e4260b

Change-Id: I42fc9b1dd7fb78179f0f0b16c33491853c517a40
2019-10-17 03:56:02 -07:00
Treehugger Robot
f49cfb4462 Merge "audio: Skip tests if audio HAL service lacks "primary" device" 2019-10-17 10:11:42 +00:00
Mikhail Naganov
0b457ad126 audio: Skip tests if audio HAL service lacks "primary" device
Non-default audio service (e.g. MSD) is allowed not to have
a "primary" device. In this case tests that require it can be
skipped.

Manage static objects of a test suite in a canonical gtest way
using SetUp/TearDownTestSuite.

Bug: 139321356
Bug: 141433379
Test: vts-tradefed run commandAndExit vts -m VtsHalAudioV5_0Target
      on a device with "msd" audio HAL module

Change-Id: I08a11b2caa9a913e812f1c203007070e4e68c44e
2019-10-16 17:26:45 -07:00
jiabin
dc1146d903 Use static libaudiofoundation in VTS.
As libaudiofoundation is not part of VNDK, it may break VTS. Using it as a
static library can help solve the problem.

Test: make, atest VtsHalAudioV5_0Target
Bug: 142683018
Change-Id: Id540c354c90bd95681e2506abe47588311c94b67
2019-10-16 11:31:08 -07:00
Mikhail Naganov
c696a26c8a Merge "Audio: Ensure input stream gets closed on the audio HAL server side" am: d405ef1c19 am: 5bc9035530 am: d51753b418
am: cfbdd6d6e7

Change-Id: If02e1c5420b6618e2ef3cb496a38c281a3d0a1a4
2019-10-15 22:06:46 -07:00
Treehugger Robot
d405ef1c19 Merge "Audio: Ensure input stream gets closed on the audio HAL server side" 2019-10-16 00:19:46 +00:00
Mikhail Naganov
cc8b280673 Merge "Audio HAL: Add missing device to XSD" am: 128f565f0f am: 1c6996eda8 am: e6787eee61
am: 1135427e73

Change-Id: Id7b1e2cefa13b666bbd13e6de0bba165d1bc241e
2019-10-15 16:59:00 -07:00
Mikhail Naganov
d3f6a41150 Audio HAL: Add missing device to XSD
The XSD has to be kept manually synced to the HAL definition. When some
formats were introduced and the corresponding enum values were added in
the HAL .hal, the XSD was not updated.

Test: xmllint --noout --schema hardware/interfaces/audio/4.0/config/audio_policy_configuration.xsd  --xinclude out/target/product/*/vendor/etc/audio_policy_configuration.xml
Bug: 128967080
Change-Id: I8cf36c7717a0dd15fb4f6261f9bb61c88b27a959
2019-10-11 23:32:30 +00:00
Mikhail Naganov
eb794151c6 Audio: Ensure input stream gets closed on the audio HAL server side
As IStream::close only releases internal resources of the stream,
deferring actual stream closing to IStream server object
destruction, which is delivered to the audio HAL server
asynchronously, there is a possibility for a race condition
when streams gets opened and closed in a tight loop as in the VTS
test.

Work around this problem by flushing RPC messages between
the client and the server, and inserting a delay before opening
a new stream.

Bug: 139329877
Test: VtsHalAudioV5_0TargetTest#AudioPrimaryHidlTest.GetMicrophonesTest
Change-Id: Id8744f6f21fd3bfa607f489364925eccbab17b5e
(cherry picked from commit 26f868bb02)
2019-10-11 19:32:57 +00:00
Joshua Duong
cf4756e8cb Merge "Revert "Audio HAL: Add missing device to XSD"" into pie-vts-dev am: 75cfcfd3e2 am: 08880e6745 am: 803b7d9f18 am: 6800e0a846 am: a705b054ed
am: 67f6ddd826

Change-Id: Ib463950f77dcb97ee8e8ddfc27930aaafd9f87be
2019-10-10 21:50:06 -07:00
Kevin Rocard
604f26b3e6 Merge "Audio HAL: Add missing device to XSD" into pie-vts-dev am: f6e97e1564 am: 2da27f45bb am: a72abfbf5f am: a64a4ab808 am: b88282904f
am: c140c0c334

Change-Id: I93f4c158848c8ccd156cb8520d80c7404ae6edb2
2019-10-10 21:47:22 -07:00
Joshua Duong
67f6ddd826 Merge "Revert "Audio HAL: Add missing device to XSD"" into pie-vts-dev am: 75cfcfd3e2 am: 08880e6745 am: 803b7d9f18 am: 6800e0a846
am: a705b054ed

Change-Id: I3d7dac2dcc96f95aa8dcc5c20829039efed3202b
2019-10-10 13:32:09 -07:00
Joshua Duong
803b7d9f18 Merge "Revert "Audio HAL: Add missing device to XSD"" into pie-vts-dev am: 75cfcfd3e2
am: 08880e6745

Change-Id: I7b875676a06b8c0c6b3b8d92bd7895c8c635cf6f
2019-10-10 13:13:30 -07:00
Joshua Duong
08880e6745 Merge "Revert "Audio HAL: Add missing device to XSD"" into pie-vts-dev
am: 75cfcfd3e2

Change-Id: I66985db5666f5c651485e7b3f9431d153b086258
2019-10-10 13:07:31 -07:00
Joshua Duong
53fc8ed1c1 Revert "Audio HAL: Add missing device to XSD"
This reverts commit dc5d7c26e2.

Reason for revert: qt-dev build break

Change-Id: I9871b313e2ad23cec2d57019ffd5993a5c31caef
2019-10-10 18:33:13 +00:00
Kevin Rocard
c140c0c334 Merge "Audio HAL: Add missing device to XSD" into pie-vts-dev am: f6e97e1564 am: 2da27f45bb am: a72abfbf5f am: a64a4ab808
am: b88282904f

Change-Id: I89f1c0a2fddfabc74ed0c282ecd71cc44de53ef4
2019-10-10 11:10:19 -07:00
Kevin Rocard
a72abfbf5f Merge "Audio HAL: Add missing device to XSD" into pie-vts-dev am: f6e97e1564
am: 2da27f45bb

Change-Id: I4efed93ad643b64b8d009c81439eec360b4a1d26
2019-10-10 10:51:08 -07:00
Kevin Rocard
2da27f45bb Merge "Audio HAL: Add missing device to XSD" into pie-vts-dev
am: f6e97e1564

Change-Id: I5f1a4e16285d620c73adcbe1f945380156c37e4a
2019-10-10 10:43:08 -07:00
Kevin Rocard
130bf68cca Update README
Bug: 134940862
Test: n/a
Change-Id: I68e4f503147a236933e97bb96d777c6038282f46
Signed-off-by: Kevin Rocard <krocard@google.com>
2019-10-08 11:09:46 +01:00
Kevin Rocard
0349c2f03d Introduce Audio V6
Generate with ./newHal.sh 5.0

+ some typo fix in the .hal
+ some clang-tidy run

This new HAL is an exact copy of the V5.
It will be modified in following patches while R is developed.

Test: push V6 to device and check audio works fine
Bug: 134940862
Change-Id: Ic25d30175032e76e0d3208fb876451de9ae6b7b4
Signed-off-by: Kevin Rocard <krocard@google.com>
2019-10-08 11:07:27 +01:00
Kevin Rocard
5bc18d6538 Script to generate new audio HAL version
Mostly automated script to generate a new Audio HAL major version.

Test: push V6 to device and check audio works fine
Bug: 134940862
Change-Id: I0da621e747eb48e75901a2a10cfc224f33864c3b
Signed-off-by: Kevin Rocard <krocard@google.com>
2019-10-08 11:07:27 +01:00
Kevin Rocard
c69e3e997f Change some formatting for better script parsing
Test: Compile
Bug: 134940862
Change-Id: Ibbafdcaa6e0bfa8fd2b80f4a6c9ac6ac95058f93
Signed-off-by: Kevin Rocard <krocard@google.com>
2019-10-07 17:58:15 +01:00
Kevin Rocard
de7d06babb Convert audio HAL service mk to bp and rename the service
The service supports multiple versions and its name should not be
version dependant.

For backward compatibility, keep the target name
android.hardware.audio@2.0-service (32bit only), existing
PRODUCT_PACKAGES do not have to be updated.
New products should depend on android.hardware.audio.service:32.

Additionally migrate to Android.bp, dropping support for
AUDIOSERVER_MULTILIB. Previously the HAL service architecture (32 vs 64)
would be the same as the audio server. This in not wanted as all android
audio HAL are 32 bits.

Bug: 121208203
Test: # Compare following commands before and after patch:
      find $ANDROID_PRODUCT_OUT/vendor -name 'android.hardware.audio*'|xargs file
            adb shell reboot # check device boots to UI and
      # check the HAL restarts after the audioserver is killed
      adb shell ps |grep audio; adb shell killall audioserver; adb shell ps
Change-Id: I25f41735175a6687a051ca1e5a7fee670eb8115e
Signed-off-by: Kevin Rocard <krocard@google.com>
2019-10-07 16:34:26 +01:00
Mikhail Naganov
36678b2b16 Fix the name of the constant for device [dis]connect parameter
During the transition to Treble, "device connect" / "disconnect"
parameter was erroneously attributed to audio streams. This
issue got fixed in Audio HAL V4.0, but AudioParameter file
was still using incorrect name for the constant.

Test: make
Change-Id: I18e1e3fccad3d41372f3c5c046af4f6ffd83328b
Merged-In: I18e1e3fccad3d41372f3c5c046af4f6ffd83328b
2019-10-03 09:46:13 -07:00
Steven Moreland
38c46d0b98 Merge "Remove libhwbinder/libhidltransport deps" am: 6b62c58a9a am: 8c22c3862f am: 6684ee8c36
am: 9a5ffa3196

Change-Id: I3a80895d10767fe68e90a907312a83ded976cbcc
2019-09-06 16:06:13 -07:00
Steven Moreland
b3a4d3832e Remove libhwbinder/libhidltransport deps
Since these were combined into libhidlbase.

Bug: 135686713
Test: build only (libhwbinder/libhidltransport are empty)
Change-Id: I075670b64eebbbbd6a6ae0e84ad51bf1c6f5ba36
2019-09-06 01:07:02 +00:00
jiabin
1b38536a87 Use audio containers from libaudiofoundation.
It is suggested to do so according to Vector.h and SortedVector.h.
At framework side, there are audio containers such as FormatVector,
ChannelMaskSet, SampleRateSet to replace the usage of Vector
SortedVector for audio stuff. In default hal implementation, we can
use these audio containers to replace Vector and SortedVector.

Bug: 135621476
Test: play/record audio
Change-Id: I4d985327fb76cd06afe241860d8b592abcbfe4f2
2019-08-07 11:22:58 -07:00
TreeHugger Robot
873bcb08d2 Merge "Add libaudiofoundation." 2019-08-02 18:01:42 +00:00
Daniel Norman
5882424812 Merge "Replaces 'oneshot' and 'interface' with 'onrestart restart audioserver'." am: 5bb99e24ad am: 3a6c4696bd am: 1fd3dbe764 am: e7342a0d84
am: a32fd4493c

Change-Id: Id238bef3dd78181dd04b5d8a50b450e280a3a653
2019-07-31 16:24:50 -07:00
Daniel Norman
3a6c4696bd Merge "Replaces 'oneshot' and 'interface' with 'onrestart restart audioserver'."
am: 5bb99e24ad

Change-Id: I38708e1b102546d6024a1f80d2c7d7a7e1c18ee9
2019-07-31 15:21:08 -07:00
Daniel Norman
fb4aadf622 Replaces 'oneshot' and 'interface' with 'onrestart restart audioserver'.
This default service should still restart on audioserver restart because
audioserver uses 'onrestart restart vendor.audio-hal-2-0' for restarts.

Bug: 138114550
Bug: 80227481
Test: for i in {0..100}; do \
      adb shell 'ps|grep audio;killall audioserver;ps|grep audio' \
      && sleep 2; \
      done
Test: Ran steps mentioned in http://b/80227481#comment1, device did not
get stuck in boot animation. Killing either audioserver or audio-hal
caused both to restart (just once) and the device booted correctly after
the sleep finished.
Change-Id: Ice128b51f79d3a9de22a719e6d897c8dca915e28
2019-07-31 21:08:02 +00:00
jiabin
f76964bbd6 Add libaudiofoundation.
Some classes, e.g. AudioGain, in libaudiofoundation, which are used by
libaudiopolicycomponent, will require libaudiofoundation as a shared
library to avoid link error when building.

Bug: 135621476
Test: make
Change-Id: I8732bdab37d8afd866fe03a74db3dc564fea1ad2
2019-07-31 12:54:19 -07:00
TreeHugger Robot
7148d172cb Merge "Audio service: Refactor register interface" 2019-07-19 18:19:39 +00:00
Kevin Rocard
f9b984eb61 Merge "Version dependant target should included version in name" 2019-07-19 15:42:37 +00:00
Inseob Kim
d6db130a2b Use shared variant of VNDK libmedia_helper
Vendor modules should use shared VNDK.

Bug: 137178339
Test: m && boot blueline
Change-Id: I56ad69125811ff768d8064af34acf5603b575b4b
2019-07-18 16:55:04 +09:00
Mikhail Naganov
98f2715168 Fix the name of the constant for device [dis]connect parameter
During the transition to Treble, "device connect" / "disconnect"
parameter was erroneously attributed to audio streams. This
issue got fixed in Audio HAL V4.0, but AudioParameter file
was still using incorrect name for the constant.

Test: make
Change-Id: I18e1e3fccad3d41372f3c5c046af4f6ffd83328b
2019-07-08 15:29:33 -07:00
Kevin Rocard
5261dce877 Audio service: Refactor register interface
Remove all per interface version boilerplate.
Adding a new version now requires only including the file
and adding the version name to the list.

Bug: 134940862
Test: adb shell lshal
Change-Id: Ib6b99d7a2c2079d914970fbe804aaf3c78c143ce
Signed-off-by: Kevin Rocard <krocard@google.com>
2019-07-01 17:41:58 -07:00
Kevin Rocard
337e0084df Version dependant target should included version in name
As a V6.0 version needs to be created.

Note that this target is not used anywhere explicitly.
There seem to be some magic to "xsd_config", probably has to do with the
package_name.

Bug: 134940862
Test: build
Change-Id: Id6935c5458294981cb778f3647ec01ee34a34e2f
Signed-off-by: Kevin Rocard <krocard@google.com>
2019-06-24 15:39:54 -07:00
Kevin Rocard
db834f4e76 Merge "Audio: Document channel order convention" into qt-dev am: d05b62368b
am: b47e60a90d

Change-Id: Ia206fae0f489ae12cd84a86c5f1e7ae066fffd29
2019-05-28 21:12:13 -07:00
Kevin Rocard
d123e015b2 Merge "Audio: Document channel order convention" into qt-dev
am: d05b62368b

Change-Id: Ic63ff46c6461aa2bec27c4ca1d562a348d3d0f53
2019-05-28 21:07:12 -07:00
Kevin Rocard
64a35d0d16 Audio: Document channel order convention
This patch restores the documentation on the channel order convention
that was present in the Audio HAL 2.0 but remove by mistake in 4.0.

This is a vendor feedback.

Test: mm
Bug: 133453897
Change-Id: I8eabd8883612d39ced21481fc44661b0808754bb
Signed-off-by: Kevin Rocard <krocard@google.com>
2019-05-29 00:34:38 +00:00
Kevin Rocard
c07520cf65 Merge "Validate HAL mic input" into qt-dev am: 91309a04c8
am: fef2098b48

Change-Id: Ib1fc4bbbcc43667a3555fe0a9afedf91260b160b
2019-05-20 22:05:45 -07:00
Kevin Rocard
d1e4213133 Merge "Validate HAL mic input" into qt-dev
am: 91309a04c8

Change-Id: I687415ab199765c83c130d81e948f6051c3a5e9c
2019-05-20 21:23:07 -07:00
Kevin Rocard
dbb7d0d304 Validate HAL mic input
Input value were not checked, resulting in out of range input accepted.
This was checked by test but never implemented in the default HAL.

Bug: 133105753
Test: atest VtsHalAudioV5_0Target
Change-Id: Ie6dae638b60daff6923668dc9637067f29e48b21
Signed-off-by: Kevin Rocard <krocard@google.com>
2019-05-21 00:27:09 +00:00
Steven Moreland
6d494b2346 Merge "Update hidl makefiles for bpfmt" am: ff0bd741ca
am: 96f40f7b02

Change-Id: Idbf030e4993067bdb8181321bca2de00c9b6f7ef
2019-04-18 14:34:45 -07:00
Steven Moreland
1ae4615d9f Update hidl makefiles for bpfmt
hidl-generated makefiles are now generated such that bpfmt(file) == file.

Bug: 67417008
Test: enable bpfmt hook
Change-Id: I1f69d292bc23a7cc293a66110cb02d597e1019ad
2019-04-17 09:38:50 -07:00
Kevin Rocard
dc5d7c26e2 Audio HAL: Add missing device to XSD
The XSD has to be kept manually synced to the HAL definition. When some
formats were introduced and the corresponding enum values were added in
the HAL .hal, the XSD was not updated.

Test: xmllint --noout --schema hardware/interfaces/audio/4.0/config/audio_policy_configuration.xsd  --xinclude out/target/product/*/vendor/etc/audio_policy_configuration.xml
Bug: 128967080
Change-Id: I832398f325d4de18e0deb644f11060fe27d9bdb5
Signed-off-by: Kevin Rocard <krocard@google.com>
2019-04-08 21:15:43 +00:00
Paul McLean
8c394f0fb1 API changes in MicrophoneDirection
Bug: 128523813
Test: build, flash, testbed app.
Change-Id: I1bcc9bb667224cebb401d9506853d5c650e7d68d
2019-03-22 11:58:07 -06:00
Eric Laurent
872ace84c6 audio HAL: restore HOTWORD audio source
HOTWORD audio source was removed from HAL V4.0 by mistake.

Bug: 129001649
Test: make
Change-Id: I664eb6ca2a6c30bc6f48a752cb7300aac6c4294b
2019-03-20 15:58:38 -07:00
Aniket Kumar Lata
aa5d491075 audio: Add APTX_TWSP audio format
Add APTX_TWSP audio format support.

Bug: 111812273
Bug: 128825638
Test: make
Change-Id: Id8ba35d8aeea3d0c02be6c63ed3d05b039b0bb4f
2019-03-19 10:39:56 -07:00
TreeHugger Robot
95d9b50f0d Merge "audio: Fix and enhance channel mask enums" 2019-03-12 18:26:43 +00:00
Mikhail Naganov
ce6f1cf448 audio: Fix and enhance channel mask enums
Add AUDIO_CHANNEL_INDEX_MASK_{9..24}

Fix channel order for AUDIO_CHANNEL_OUT_3POINT{0,1}POINT2

Bug: 126455009
Test: make
Change-Id: I36a89c9903ad1702c5c0bdb0632c3f3234bb75d7
2019-03-08 16:31:28 -08:00
Mikhail Naganov
0637e1339b audio: Make 'surroundSound' element optional
This element makes sense only for TV platforms. The deserializer
treats it as optional. Update the schema to match this.

Bug: 116356348
Test: xmllint --noout --xinclude --schema \
      hardware/interfaces/audio/5.0/config/audio_policy_configuration.xsd \
      frameworks/av/services/audiopolicy/config/audio_policy_configuration.xml

Change-Id: I822c3ff10a6becc859d3d44fd58ef2ebcd3d40b1
2019-03-06 12:28:15 -08:00
Steven Moreland
7f4e21adda Merge "Update makefies: no 'types'" am: 4ee5ec1469 am: bab622f6a6
am: 7224bc9bcf

Change-Id: I434939e0770afa436c532a945542fce30a71ef7d
2019-03-04 16:05:59 -08:00
Steven Moreland
a878aee9ab Update makefies: no 'types'
Bug: 123976090
Test: N/A
Change-Id: I30fb04c81889b62775e1b764b965fdb0f893de17
2019-03-04 11:27:17 -08:00
Mikhail Naganov
0d7a65f71d Merge "audio: Add support for dumping info from effect HAL modules" 2019-02-27 17:01:34 +00:00
Kevin Rocard
c3a712bef4 Audio HAL: add address documentation am: 3cdb31ee57 am: 6420797904
am: 7e2aa9b955

Change-Id: I205bd30ffa969b090d507ea5791b0413bc0e4ff4
2019-02-26 09:18:58 -08:00
Kevin Rocard
3cdb31ee57 Audio HAL: add address documentation
Test: compile
Change-Id: I108d512cf3381c5b87c76d152252050d309e46a6
Signed-off-by: Kevin Rocard <krocard@google.com>
2019-02-26 09:00:23 -08:00
Steven Moreland
63bf69427b Make audio HAL consistent.
Bug: 124459302
Test: hidl-gen -Lcheck ...
Change-Id: I319fb00ef3a2da3944094228d4801bd9f88c16bb
Merged-In: Ie125d9bb014ee747ce56a59feaca577ab2d9e96c
2019-02-26 09:00:14 -08:00
Eric Laurent
bfb49a5cb0 Revert "Revert "Fix audio VTS build""
This reverts commit 6735fea712.

Test: make.
2019-02-22 18:18:55 -08:00
Eric Laurent
6735fea712 Revert "Fix audio VTS build"
This reverts commit 22ab6f2feb.

Bug; 125937703
Test: make

Change-Id: Iead87b0e1b8078262d7e370b050c2a75dbcda387
2019-02-22 17:47:20 -08:00
Mikhail Naganov
fa02144f8d audio: Add support for dumping info from effect HAL modules
The implementation uses IBase::debug() method which can write
debugging info into the provided file descriptor (same model
as used for devices and streams).

Bug: 69939533
Test: adb shell dumpsys media.audio_flinger
Change-Id: I7876fd43a7066c0f081ea2ca0b3b4b37bbdf8e6c
2019-02-22 14:30:56 -08:00
Eric Laurent
22ab6f2feb Fix audio VTS build
Update AudioPrimaryHidlHalTest to reflect changes in AudioPolicyConfig
class.

Test: make
Change-Id: Iab5cb85ff8e79fb5387d5e8ad2f85748342e80fa
2019-02-22 10:24:42 -08:00
TreeHugger Robot
71bb1d6ea1 Merge "Change class and variable names" 2019-02-15 04:53:54 +00:00
Eric Laurent
955b94e1d5 [Master port]audio: add new audio formats
This patch ports a change to the HAL interfaces done in master in
order to have the same Audio common HAL interface in both AOSP and master.
This is needed as the Bluetooth HAL uses the audio common HAL and needs
to be frozen in the same state in both AOSP and MASTER.

Add audio format for LHDC Bluetooth codec.
Also add missing audio sources and devices in xsd.

Bug: 124247199
Bug: 120395342
Test: make
Change-Id: Ib55c7d351074d8ef75747bcb1195e1ce15ed8b20
Merged-In: Ib55c7d351074d8ef75747bcb1195e1ce15ed8b20
2019-02-15 01:52:02 +00:00
Eric Laurent
36274db4e5 [Master port]audio: add new audio formats
This patch ports a change to the HAL interfaces done in master in
order to have the same Audio common HAL interface in both AOSP and master.
This is needed as the Bluetooth HAL uses the audio common HAL and needs
to be frozen in the same state in both AOSP and MASTER.

Add AAC_LATM*, CELT and APTX_ADAPTIVE to the list
of audio formats.

Bug: 124247199
Bug: 123082414
Test: make
Change-Id: Id75e1f5016929d5a67e777774aaa892df6f91e78
Merged-In: Id75e1f5016929d5a67e777774aaa892df6f91e78
2019-02-15 01:51:45 +00:00