24 channel configuration for immersive audio
See new value in system/media/audio/audio-hal-enums.h.
Define the same enum to HALv7 and update getChannelCount().
Test: atest android.hardware.audio.common@7.0-util_tests
Bug: 185530406
Change-Id: I8dc5e6c504049908fef157b11ffa043ecaeacaf9
13ch audio constant for 360 Reality Audio.
The enum value is added in system/media/audio/audio-hal-enums.h.
- Define the same enum to HALv7.
- Set 13 for the layout from getChannelCount().
Bug: 185100731
Test: Use the value on audio hal and build.
Test: Use the value on audio_policy_configuration.xml and build.
Test: atest android.hardware.audio.common@7.0-util_tests
Change-Id: Ifa37f9be96a94c623e5d4164774c39d05efbbb8b
get_audio_port_v7 interface method was added in aosp/1518624
but wasn't used in the default wrapper due to the refactoring
ongoing at that time. Fixing this omission.
Bug: 160352965
Test: atest VtsHalAudioV7_0TargetTest
Change-Id: I1e3594f30fe8fa319d0b5b4244531c9142870503
Merged-In: I1e3594f30fe8fa319d0b5b4244531c9142870503
For legacy HAL strings that are fixed size arrays
the conversion code was using the array size for
the HIDL string size. This lead to logging of error
messages during reverse conversion.
Fixed issue and refactored code to avoid duplication.
Bug: 181269159
Test: atest android.hardware.audio.effect@7.0-util_tests
also, verify that no error messages from EffectUtil
appear during boot and audio playback
Change-Id: Iac36ff33e65c502966ac2b7a4870cb5830545b23
Some h/w platforms require more metadata to be provided
for input streams. Otherwise, opening of a stream was
failing internally in the vendor HAL code and capture
position queries were not succeeding.
Bug: 183688436
Test: atest VtsHalAudioV7_0TargetTest
on C1, C2, R3, S4, B5
Change-Id: Icb6d2cdb9150eb65281df2a4bea6dbe1fc6034c2
An AudioTransport contains AudioProfile or hardware descriptor to
describe the audio capabilities for an AudioPort and the encapsulation
type to represent the encapsualtion format that must be used when
sending the audio data with the format associated the AudioTransport to
Android.
The hardware descriptor will be used when the format is not recognized
by the platform.
Currently, the short audio descriptor is added as one of the hardware
descriptors. Short audio descriptor is reported from EDID for HDMI.
Bug: 131736540
Bug: 178619392
Test: atest android.hardware.audio.common@7.0-util_tests
Test: atest VtsHalAudioV7_0TargetTest
Change-Id: Ic5ed9ff9b694511fdd7e90cdcda2777bdfa74f65
Tests verify actual reading / writing from input and output
streams and the capture / presentation position reporting.
Tests use audio policy manager configuration.
Bug: 161253754
Test: atest VtsHalAudioV7_0TargetTest
Change-Id: I408f7ee8df8671b7496040fe5ddd8a380672c21d
Add missing OWNERS files for default implementation and
utilities code.
Remove krocard@, add ytai@ to ST HAL default implementations.
Test: N/A
Change-Id: I22734cd7382c0988d0c6001164deb775e9ae55c0
The use of fixed size char arrays was a direct copy
of the C structure approach. In HIDL, the canonical approach
is to use strings.
Bug: 181883090
Test: atest android.hardware.audio.effect@7.0-util_tests
Change-Id: I468810e07e5ba8b3bd6f03c5acfa24009ef2e48a
Audio tags on record tracks metadata come from
audio attributes of Java AudioRecord, not from
AudioTrack.
Test: N/A
Change-Id: I27dc088ae89ba046f72bd2a22c553bcf7714dd07
Specifies how HAL needs to handle the frame counter
for input and output streams on standby and flush.
Also add whitespaces before "Optional method" spec
for better readability.
Bug: 161253754
Test: in progress
Change-Id: I357739a2382f9425da74fcddbe7ab720be1f0e18
Vendors can have vendor-extended device types and
audio formats supported by their HALs and frameworks.
VTS tests are built using AOSP sources, thus they don't
have these vendor modifications. Ensure that VTS tests
behave correctly when dealing with audio policy manager
configurations that contain vendor extensions.
Since verifying this behavior requires using specially
crafted APM configs, verification is done using
unit tests.
Test: atest HalAudioV6_0GeneratorTest
Test: atest HalAudioV7_0GeneratorTest
Change-Id: I9dc1a18863418a8fbd7d1dc14abc844fd9060ca5
Update IStreamOutEventCallback.hal interface with respective keys for
audio presentation, which are defined as part of AudioMetadata
interface.
Change-Id: I8941e71c682408cb36d0e3725df093f50a4d5fcb
The namespace part has been made mandatory. The namespace
must be at least 3 characters.
Bug: 176144684
Test: atest android.hardware.audio.common@7.0-util_tests
Test: atest android.hardware.audio@7.0-util_tests
Test: atest android.hardware.audio.effect@7.0-util_tests
Change-Id: If8578dfab80b51d9c30042e99bfbf70f40598afa
The default implementation switched to use the "enums"
module generated from the audio_policy_configuration.xsd schema.
This drops the dependency on libxml2 library and reduces
PSS and private dirty memory usage.
Bug: 180413957
Test: atest VtsHalAudioV7_0TargetTest
Change-Id: If7c110cd2bd2698923957b39906a0896d18065dd
Ensure that the busAddress field is used as a fallback
for types of devices that may not necessary have it,
e.g. for built-in microphones.
Add a subset of presubmit tests for HidlUtils of V6
similar to the tests for V7.
Bug: 180143301
Test: atest android.hardware.audio.common@6.0-util_tests
Change-Id: I61fca8bd4342fdf496d1ca5bf2d01399fd3d34c7
Despite that AUDIO_STREAM_DEFAULT value of audio_stream_type_t
should only used by the framework, it can still end up being
passed to the HAL in port configs and offload info structures.
This happens in the cases when the stream type is not actually
used by the HAL. It seems natural to use an empty string
as the value of AudioStreamType field in this case.
Bug: 179743630
Test: atest android.hardware.audio.common@7.0-util_tests
Test: make a telephone call on a device with HAL V7
Change-Id: Ia330031fca9d081627746b4f6074162835c4c54b
This format refers to the IEC 60958 specification. It can be used when
patching HDMI inputs. IEC 60958 can transport PCM and compressed audio.
Test: m
Change-Id: Idfafb3e2dc73ffb26529d797dce86f8419e5f75d
Modify the list of supported audio HAL versions in
android.hardware.audio.service: add V7, remove V2.
Bug: 171260360
Test: m
Change-Id: I7ecdac0b9a30e51e2b1b54d7a56dfc9d62649fb4
HAL V7 uses spaces instead of ',' and '|' for delimiting
elements in channel masks, sample rates, and flags lists
in the Audio Policy Manager configuration XML.
The version specified in the APM XML has been updated
from '1.0' to '7.0' in order to reflect this.
The migration script has been updated to change the
version in the XML on update.
Bug: 142480271
Test: m
Change-Id: I92c206dddee6964fc2019fed80435cb8d69dbfe9
The 'surroundFormats' section must allow specifying
vendor-provided formats (vendor extensions). This has been
fixed in Audio HAL V7. Backporting to earlier versions.
Bug: 173647783
Test: atest VtsHalAudioV6_0TargetTest
Change-Id: I8ae1687087bab3f1c9020f351bdf7b81b9e74e50
The 'surroundFormats' section must allow specifying
vendor-provided formats (vendor extensions). This has been
fixed in Audio HAL V7. Backporting to earlier versions.
Bug: 173647783
Test: atest VtsHalAudioV5_0TargetTest
Change-Id: Ic0eb09df927af243d56038a8a102f0607bbaafaf
MPEG-H is a new surround audio codec. Add new enum format for MPEG-H in
the HIDL interface. Though MPEG-H has different profiles and audio
levels, only low complexity and baseline with audio level as 3 and 4 is
defined in this CL as they are relevant for the current and upcoming
commercial services.
Bug: 178619392
Test: make
Change-Id: I5672f3874f6cffe31a83b6d7e351d0bf56bfd038
Merged-In: I5672f3874f6cffe31a83b6d7e351d0bf56bfd038
Add 'CoreUtils' library similar to 'HidlUtils' for the types
specific to the core HAL. Add 'EffectUtils' library similar to
'HidlUtils' for the types specific to the effects HAL. Move into
them and de-duplicate code previously scattered across the
default HAL implementation and libaudiohal. Add unit tests.
Removed 'AUDIO_{INPUT|OUTPUT}_FLAG_NONE' from the list of
values in the XSD file to avoid additional complexity due to
equivalence of this value to an empty list of flags.
Bug: 142480271
Test: m android.hardware.audio@X.0-impl
Test: m android.hardware.audio.effect@X.0-impl
Test: atest android.hardware.audio@7.0-util_tests
Test: atest android.hardware.audio.common@7.0-util_tests
Test: atest android.hardware.audio.effect@7.0-util_tests
Change-Id: I71a95cbe07fcc162dc6d74ff9665747a17ce5a80
Merged-In: I71a95cbe07fcc162dc6d74ff9665747a17ce5a80
HAL V7 types were updated to better match data structure
definitions from the legacy HAL:
- Added 'AudioConfigBaseOptional' struct to match
legacy structs that have 'mask' field to specify
initialized fields.
- All fields in 'AudioConfigBase' made mandatory.
- Removed 'EffectConfigParameters' in favor of
'AudioConfigBaseOptional' and safe_unions.
- Added missing enum string values to ensure that round-trip
conversions from the legacy HAL to HIDL and back to legacy
preserve enum values.
Bug: 142480271
Test: atest android.hardware.audio.common@7.0-util_tests
Test: atest VtsHalAudioV6_0TargetTest
Test: atest VtsHalAudioV7_0TargetTest
Test: atest VtsHalAudioEffectV7_0TargetTest
Change-Id: If02a81b3f6790a8eb315fa57123141aad2419132
This format is known to the framework since Android Q, and its lack
from the XSD was an issue, which only got fixed in
Audio HAL V7.
Bug: 176536594
Test: atest VtsHalAudioV6_0Target
Change-Id: I6c312a72e50e6547bd7f206d18ba7548b7bf8556
This format is known to the framework since Android Q, and its lack
from the XSD was an issue, which only got fixed in
Audio HAL V7.
Bug: 176536594
Test: atest VtsHalAudioV5_0Target
Change-Id: I32ccb926b5ad9202a5a6329d7069db37563ff45b
Fix the specification of the test suite name passed to
GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST to
avoid UninstantiatedParameterizedTestSuite errors.
Bug: 177344488
Test: atest VtsHalAudioV6_0TargetTest
Test: atest VtsHalAudioV7_0TargetTest
Change-Id: I418a488faa61c3bee2b959747e97483428d624b0
Add checks for rejection of invalid port configs.
Fix the default implementation to pass the tests.
Clarified that patch-related operations in IDevice
are optional.
Bug: 142480271
Test: atest VtsHalAudioV6_0TargetTest
Test: atest VtsHalAudioV7_0TargetTest
with side-loaded V7 default wrapper
Change-Id: I08e85d4883938b4d8f3c411be9fb1bd597eea0c2