The callback is targeted for events related to an output stream.
Currently, there is one callback event defined, which is codec
format changed event.
Bug: 133526565
Test: manual
Test: atest VtsHalAudioV6_0TargetTest
Change-Id: I73a4914c1ffc30e1c88b8fedd61a031e24a069f6
Playback rate parameters allow changing the playback speed
of audio streams optionally preserving the pitch (this is
often referred to as "timestretch"). HALs can apply these
parameters when decoding of streams is done in hardware.
Bug: 133526565
Test: atest VtsHalAudioV6_0TargetTest
Change-Id: Ie78cd924bd034b57bf5b6a74affd62641ffc0aba
These properties are mainly used on TV platforms.
Bug: 133526565
Test: atest VtsHalAudioV6_0TargetTest
Change-Id: I5dd2fe9cb987bf8435b8e5da96f8590288e5707c
- explain the meaning of "audio patch" in IDevice.supportsAudioPatches
method;
- clarify effect insertion order in IDevice.addDeviceEffect
Bug: 148617378
Test: N/A
Change-Id: Ifd7ec3dc9a53c949be0c8c823df499e4b20db4bd
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
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
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
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
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
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
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
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
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
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>
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
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
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
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>