Commit Graph

61 Commits

Author SHA1 Message Date
François Gaffie
dab7ab0807 Migrate all related audio component to media.audio.common.types V4
-Change latest
-Unfreeze deps
-Update next compatibility matrix
-add opt sounddose v3 to fcm compat exclusions

Flag: EXEMPT HAL interface change
Bug: 307310023
Test: build & boot
Signed-off-by: François Gaffie <francois.gaffie@renault.com>
Merged-In: I3929603471d9543febca76ef6e2959063393194f
Change-Id: I3929603471d9543febca76ef6e2959063393194f
2024-06-26 18:13:56 +00:00
Devin Moore
329f3b35ad Freeze android.hardware.audio* interfaces
Already frozen internally. Freezing now in aosp to enable developement
on 202504 interfaces.

Merged-In: Ie6d38d27a287e258c30516e0030ad8c931d06432
Test: verify .hash file is the same as internally
Test: lunch cf_x86_64_phone-next-userdebug
Bug: 328236210
Change-Id: I14e49a7ed7a1069cd1ca9b92ce7664f646b18054
2024-03-06 21:30:16 +00:00
Aditya Choudhary
c5c6c62995 [DON'T BLOCK] Test ownership migration rules
This CL is created as a best effort to migrate test targets
to the new android ownership model. If you find incorrect or unnecessary
attribution in this CL, please create a separate CL to fix that.

For more details please refer to the link below,
<add g3 doc link>

Bug: 304529413
Test: N/A
Change-Id: I3322344f595f974f730dc824af0110388076d838
2024-01-31 11:06:17 +00:00
Shunkai Yao
992b009bc5 Effect AIDL: add Spatializer aidl in audio effect HAL
Spatializer is a union representing parameters for audio spatialization effects

Bug: 273373363
Test: Build
Change-Id: I6e8414238256903aeae171c5b7b7a98fe5f96f89
2023-11-10 05:33:58 +00:00
Shunkai Yao
195d3d6915 Add defaults for audio AIDL interfaces
- with defaults user don't have to change their Android.bp when there is
  a update
- update AIDL audio interfaces with android.media.audio.common.types
- update Spatialization and HeadTracking AIDL usage

Bug: 273373363
Bug: 293370815
Test: m
Test: lunch panther-trunk_staging-userdebug; m; test Bluetooth Audio
Change-Id: Ic9d8afc1d4e19e4243c66065b0a5d29156632851
Merged-In: Ic9d8afc1d4e19e4243c66065b0a5d29156632851
2023-11-06 19:14:32 +00:00
Alex Buynytskyy
ec1198d941 UpsideDownCake is now 34
Ignore-AOSP-First: UpsideDownCake Finalization
Bug: 275409981
Test: build
Change-Id: I832ab7a8b5445ba85e27bbcf5be64906bfa0e5be
2023-04-07 23:41:20 +00:00
Mikhail Naganov
4fae319d0a audio: Add IBluetoothLe
Similar to IBluetooth and IBluetoothA2dp interfaces,
IBluetoothLe controls the LE profile. This interface
replaces the following string parameter:

"LeAudioSuspended"

Bug: 270731693
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I9df28053cd270fc2d446ba9a8ada4dd6ab761c7b
2023-03-07 15:17:59 -08:00
Mikhail Naganov
3caf6591b6 audio: Add IBluetoothA2dp
Similar to IBluetooth interface which controls SCO/HFP,
IBluetoothA2dp controls the A2DP profile. This interface
replaces the following string parameters:

AUDIO_PARAMETER_A2DP_RECONFIG_SUPPORTED
AUDIO_PARAMETER_RECONFIG_A2DP
"A2dpSuspended"

Also, refactor fields used by Module implementation
for persistent child interfaces.

Bug: 270731693
Test: atest VtsHalAudioCoreTargetTest
Change-Id: Ie62952c3bc3af2f53535d716e5b57bf48c661306
2023-02-28 18:19:33 -08:00
Mikhail Naganov
9940a55995 audio: Add AudioOffloadMetadata and a method to update it
AudioOffloadMetadata contains the same information
as 'AUDIO_OFFLOAD_CODEC_*' framework parameters.
It is updated via a new method IStreamOut.updateOffloadMetadata
which only works for compressed offload streams.

Bug: 270731693
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I6c8a8853f216438284082f79e3f57e511a2a1f06
Merged-In: I6c8a8853f216438284082f79e3f57e511a2a1f06
2023-02-28 20:06:05 +00:00
Shunkai Yao
4836380267 Merge "Effect AIDL: Add default extension with vector<uint8_t>" am: c2e1b5f7f1 am: cf72a5fb53 am: 9763f47866
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2439372

Change-Id: Ic2319bcc436757e72f15ba147836a1a979c54358
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-16 04:48:43 +00:00
Treehugger Robot
6f5e1ab7a6 Merge "Audio AIDL : Rename AutomaticGainControl to AutomaticGainControlV2" am: b240b7ca2e am: bea3243b26 am: 8c36d52735
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2412034

Change-Id: Id8b75e7f8908d168d85a1dc9138981df7adba42f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-16 03:04:28 +00:00
Shunkai Yao
c2e1b5f7f1 Merge "Effect AIDL: Add default extension with vector<uint8_t>" 2023-02-16 02:24:38 +00:00
Shunkai Yao
85b0169fca Effect AIDL: Add default extension with vector<uint8_t>
Bug: 258124419
Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit
Change-Id: I3fa7f78ed2227d00b999c7e594d1b1d205f585e7
2023-02-16 00:28:21 +00:00
Shraddha Basantwani
84ea32e419 Audio AIDL : Rename AutomaticGainControl to AutomaticGainControlV2
Bug: 258124419
Test: atest VtsHalAGC2TargetTest
Change-Id: Ia3de57a109852e21d2f6e2b003e8f4286f8278b3
2023-02-15 18:11:11 +05:30
Mikhail Naganov
babb544319 audio: Move Microphone[Dynamic]Info structs from core
These parcelables are also used by the framework.

Bug: 263964254
Test: atest VtsHalAudioCoreTargetTest
Change-Id: Ib30b69c325040e474fb58a8e7e515912fccab4c7
2023-02-09 18:00:25 -08:00
Shunkai Yao
ca10874012 AIDL effect: add AutomaticGainControlV1 AIDL
Bug: 261129656
Test: Compile and build, will add usage and test code in followup CL.
Change-Id: Ib20ff6e8f8fe9b7c3ac3286c5c05edc6880a44fe
2023-01-26 05:24:27 +00:00
Shunkai Yao
88b24b2dea AIDL effect: add Range for effect capabilities
Bug: 261129656
Test: Compile and build, will add usage in effect capabilities.
Change-Id: I29b80ee8b3e08fa3b6f0e5cf0e9349096adddb43
2023-01-25 19:46:10 +00:00
Mikhail Naganov
04ae822302 audio: Remove android.hardware.audio.core.AudioMode type
I missed that there is already android.media.audio.common.AudioMode.
However, due to use by the framework, it contains more values
(all of them are SYS_RESERVED), thus the implementation and VTS
have to be updated as well.

Bug: 205884982
Test: atest VtsHalAudioCoreTargetTest
Change-Id: If260413b1f774a69514de978792d5ad2eb46481a
Merged-In: If260413b1f774a69514de978792d5ad2eb46481a
2023-01-12 17:42:02 +00:00
Mikhail Naganov
10c6fe2b8f audio: Add IBluetooth core interface
This interface corresponds to BT-specific functions
of the IPrimaryDevice in the HIDL HAL.

Bug: 205884982
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I5f52d65e06f42e1a5fb2e51d27b79e94fe423eaa
2023-01-03 18:23:33 +00:00
Vlad Popa
2afbd1e549 Refactor the ISoundDose.aidl interface
This refactoring is fixing the hal_implementation_test workaround from
aosp/2363076. Adjusted the package name to match the aidl_interface and
declared the ISoundDose interface types only.

Test: VtsHalSoundDoseFactoryTargetTest, VtsHalAudioCoreTargetTest,
hal_implementation_test
Bug: 263388737

Change-Id: Ibce4cd95aaf600de2096179f137243939114ba6a
Merged-In: Ibce4cd95aaf600de2096179f137243939114ba6a
2022-12-28 18:01:01 +01:00
Mikhail Naganov
7492720e49 audio: Add presentation and latency control to IStreamOut
Add the following methods to IStreamOut:
  - get/setAudioDescriptionMixLevel;
  - get/setDualMonoMode;
  - getRecommendedLatencyModes/setLatencyMode;
  - get/setPlaybackRateParameters;
  - selectPresentation.

Add IStreamOutEventCallback interface for async notifications
of the client about playback-related events. This callback
can be provided to IModule.openOutputStream.

Bug: 205884982
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I8974102d232cdd121a53edccbf26c33778a94e5e
2022-12-23 02:22:38 +00:00
Shunkai Yao
0b58d826f6 Effect AIDL: Add AEC, AGC and NS AIDL interface definition
Bug: 238913361
Test: atest VtsHalAECTargetTest
Test: atest VtsHalAGCTargetTest
Test: atest VtsHalNSTargetTest
Change-Id: I31aad9571623cec48b8cf921e1c778d33b015530
2022-12-20 18:08:45 +00:00
Mikhail Naganov
6fdc6e700f Merge "audio: Add effect attachment to devices and streams" 2022-12-20 03:01:01 +00:00
Treehugger Robot
11fa86bbb4 Merge "Mark modules frozen explicitly." 2022-12-20 00:01:29 +00:00
Mikhail Naganov
fb1acdec67 audio: Add effect attachment to devices and streams
Add the following methods:
  - IModule.{add|remove}DeviceEffect;
  - IStream.{add|remove}Effect.

Bug: 205884982
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I4066e2d10a8e08d634010cfe9eb8f832157e725f
2022-12-19 17:23:30 +00:00
Vlad Popa
f4fe41c873 Audio HAL: Add new HAL for sound dose
The new HAL is running as part of the HIDL audio HAL process. It is
meant as a workaround for HAL implementors that can not switch to the
audio AIDL yet and need to certify with IEC62368-1 3rd edition or
EN50332-3. Note that this HAL will be deprecated in the future.

Test: atest VtsHalSoundDoseFactoryTargetTest & flash bluejay-userdebug
Bug: 257937004
Change-Id: Ifbbf235bab58c1ee2f1ea246cf98c9e8966893c0
2022-12-18 10:18:10 +01:00
Mikhail Naganov
e9f10fc9dc audio: Provide operations common to input and output streams
Introduce IStreamCommon which contains methods that apply
both to input and output streams. Move the 'close' method
to it. Add 'IStreamIn/Out.getStreamCommon' method to retrieve
the common interface.

Add methods for dealing with HW AV Sync and vendor parameters.

Bug: 205884982
Test: atest VtsHalAudioCoreTargetTest
Change-Id: Ie1a7b32e28425f5398afc95192fcbc5403b5c332
2022-12-16 16:40:28 +00:00
Vlad Popa
83a6d82793 Add HAL interface definition for sound dose
The interface is used to configure the sound dose parameters and
retrieve new changes that can affect the dose. Used for the
certification with IEC62368-1 3rd edition.

Test: TODO
Bug: 257937004
Change-Id: Id2816580fdbfbf09c2278720b4d78d0b3604fbf4
Merged-In: Id2816580fdbfbf09c2278720b4d78d0b3604fbf4
(cherry picked from commit 10905ef92e)
2022-12-15 19:41:03 +00:00
Steven Moreland
13666147e9 Mark modules frozen explicitly.
Makes it easier to see which versions are available.

Bug: 188871598
Test: N/A
Change-Id: Iec656df1d0008d95ab50f9bd8806517b95242f00
Merged-In: Ica76a8225fec8dc5267362cbfd43e06e65ad3f1e
2022-12-14 01:47:26 +00:00
Shunkai Yao
20e5c1733e Effect AIDL: update IFactory.queryEffects to return Descriptor
Add queryEffect for effect libraries.
Change Descriptor in each effect implementation to be static so
extern C function can access.

Bug: 261646550
Test: atest VtsHalAudioEffectTargetTest
Change-Id: Id7badec592becf37b27be6022106f443e5976880
2022-12-13 02:46:54 +00:00
Mikhail Naganov
ef6bc74fc4 audio: Add microphone settings to IModule, IStreamIn
Add 'MicrophoneInfo' and 'MicrophoneDynamicInfo' parcelables.
Add IModule.getMicrophones method.
Add following methods to IStreamIn:
  - getActiveMicrophonesIds;
  - get/setMicrophoneDirection;
  - get/setMicrophoneFieldDimension.

Provide trivial implementations and VTS.

Also slightly refactor port retrieval from ModuleConfig
to unify common queries.

Bug: 205884982
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I472c7733e2a331a67cea613cd9218889eff06a43
2022-12-07 18:36:31 +00:00
Treehugger Robot
8fcc79fcb7 Merge changes I0a18a6d9,I13a83113,I13c9c8d1,I8717acac
* changes:
  audio: Add non-blocking I/O stream operations
  audio: Fix handling of quick worker completion in StreamWorker
  audio: Report unknown stream positions explicitly
  audio: Implement transient state testing
2022-12-05 22:08:02 +00:00
Mikhail Naganov
30301a42c7 audio: Add non-blocking I/O stream operations
Introduce IStreamCallback interface for non-blocking I/O. Add 2
new stream states: TRANSFERRING and TRANSFER_PAUSED, and define
state machines for the async case. Add DrainMode as in previous
HAL versions.

Note that non-blocking input is not fully implemented because it
did not exist in previous HAL versions, and the corresponding
AudioInputFlag does not exist yet.

Enhance VTS state machine tests to allow waiting for an async
event.

Bug: 205884982
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I0a18a6d930dee5941f769e08083817d41ff941e6
2022-12-05 19:57:43 +00:00
David Li
4d36183b34 add defaults and host_supported to the AIDL interface targets
Test: make -j128
Merged-In: Icf69d2860419dd821b9b0730ea6cd4c4cdf42621
Change-Id: I9958d8d8849ab389f64614f3967dfa89cd6f9b95
2022-11-30 14:31:16 +00:00
Mikhail Naganov
3b125b76aa audio: Add volume/mute, audio mode, and screen state to IModule
Add the following methods to IModule:
 - getTelephony;
 - get/setMasterMute;
 - get/setMasterVolume;
 - get/setMicMute;
 - updateAudioMode;
 - updateScreenRotation;
 - updateScreenState;
The "update..." methods are "informational," the HAL may ignore
them and must not raise any errors.

ITelephony currently contains 2 methods:
 - getSupportedAudioModes;
 - switchAudioMode.
This "switchAudioMode" must validate the argument, and must
switch the HAL to the new mode synchronously.

Implement and add VTS tests.

Bug: 205884982
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I9174c81fe7d16f7068257051ae5e129b15e82648
2022-11-09 18:55:07 +00:00
Shunkai Yao
82a6f7a8ad AIDL effect: Add all aosp effect parameters definition
Bug: 238913361
Test: atest VtsHalAudioEffectTargetTest
atest VtsHalAudioEffectFactoryTargetTest
atest VtsHalEqualizerTargetTest

Change-Id: Ice5cac10956c419c04be44f9142b5b2935cacf3b
2022-10-31 22:18:43 +00:00
Shunkai Yao
08b687ded7 AIDL effect: Add queryProcess in IFactory
Bug: 238913361
Test: atest VtsHalAudioEffectTargetTest; atest VtsHalAudioEffectFactoryTargetTest
Change-Id: I5518ceaa0ea744e30803fc23996e2a2b48398024
2022-10-15 00:03:37 +00:00
Shunkai Yao
bc71b029bf Merge changes from topic "aidl_audio_effect3"
* changes:
  AIDL effect: Add effect AIDL implementationi and vts test
  AIDL effect: Add effect AIDL definition
2022-10-13 02:14:39 +00:00
Shunkai Yao
0632ae6cd1 AIDL effect: Add effect AIDL definition
Bug: 238913361
Test: atest VtsHalAudioEffectTargetTest; atest VtsHalAudioEffectFactoryTargetTest
Merged-In: I8cc902df0a396d0703839b8933318a26aab2e38d
Change-Id: I8cc902df0a396d0703839b8933318a26aab2e38d
2022-10-13 02:13:20 +00:00
Lorena Torres-Huerta
0ba91e5759 Add surround sound configuration to the AIDL Audio HAL interface.
Bug: 205884982
Test: m android.hardware.audio.service-aidl.example
Change-Id: Ie8c69c6f0437ba6527c28f525eb06d1e338e3abc
2022-10-06 05:48:22 +00:00
Shunkai Yao
4590517a96 AIDL effect: Initial IEffect interface implementation and vts test
Bug: 238913361
Test: atest VtsHalAudioEffectTargetTest
Merged-In: Id64d28af9122e82acd96e3349cf37c3d9728069a
Change-Id: Id64d28af9122e82acd96e3349cf37c3d9728069a
2022-09-22 01:36:00 +00:00
Shunkai Yao
84efa03de3 AIDL effect: Initial IEffect interface definition
Bug: 238913361
Test: atest VtsHalAudioEffectTargetTest
Merged-In: I0d02fed5d40a108003e735d3619e2fc7c0ef6332
Change-Id: I0d02fed5d40a108003e735d3619e2fc7c0ef6332
2022-09-22 00:43:47 +00:00
Lorena Torres-Huerta
308e257397 Use explicit aidl versions for audio hal and soundtrigger dependencies.
There are still issues with importing implicit versions. Switching to explicit versions while b/188871598 is worked out.

Bug: 242678729
Test: m; AIDL_TRANSITIVE_FREEZE=true m aidl-freeze-api && AIDL_FROZEN_REL=true m
Merged-In: Ide6a90716bf042fbb925357e110bc84ddb9e96fb
Change-Id: Ide6a90716bf042fbb925357e110bc84ddb9e96fb
(cherry picked from commit 8296aa824b)
2022-09-01 21:57:03 +00:00
Lorena Torres-Huerta
9ae4f224ab Add AudioAttributes and AudioFlag for use in HAL interface for engine configuration.
This requires a version bump to android.media.audio.common.types.

cc_defaults and java_defaults are used in order to avoid explicitly updating version references in several Android.bp files when we do future version bumps.

Bug: 242678729
Test: m
Merged-In: Id17820f210f625e370992db4f9f85e37887b088b
Change-Id: Id17820f210f625e370992db4f9f85e37887b088b
(cherry picked from commit bf94fa32cb)
2022-09-01 21:37:43 +00:00
Shunkai Yao
f1d6039f96 AIDL effect: Initial IFactory interface definition
Bug: 238913361
Test: atest VtsHalAudioEffectTargetTest

Merged-In: I9f5ef1284bb5d77a9d60cb8b901742fc8e467926
Change-Id: I9f5ef1284bb5d77a9d60cb8b901742fc8e467926
(cherry picked from commit d56bc22d1e)
2022-08-30 22:09:18 +00:00
Mikhail Naganov
409ce2a665 audio: Use 'sdk_version' instead of 'platform_apis'
Replace 'platform_apis: true' with 'sdk_version: module_current'.
The former causes compiling against SDK source code,
this is not needed for the audio HAL.

Bug: 205884982
Test: m android.hardware.audio.service-aidl.example
Change-Id: I9b9c32707ac7276f5cd077681bd1f8122bc20feb
Merged-In: I9b9c32707ac7276f5cd077681bd1f8122bc20feb
(cherry picked from commit 714e959c89)
2022-08-29 22:42:26 +00:00
Mikhail Naganov
6a4872dff0 audio: Implementation of audio I/O, part I
This patch adds necessary structures and prepares for implementing
data flow for audio I/O.

Also in this patch we clarify the relationship between audio patches
and buffer size for audio I/O, and between buffer size and latency.

Bug: 205884982
Bug: 233816848
Test: atest VtsHalAudioCoreTargetTest
Merged-In: I8522632607d4cf50a112225c19b5dd5ad8848591
Change-Id: I8522632607d4cf50a112225c19b5dd5ad8848591
(cherry picked from commit 68bee70442)
2022-08-26 02:44:15 +00:00
Treehugger Robot
660e9a4c48 Merge changes I118b2c04,I111b72aa,Ia5d29126
* changes:
  audio: Add support for compressed offload
  audio: Improve debug logging in the AIDL version, fix bugs
  audio: Disable the C++ backend for android.hardware.audio.core
2022-08-25 02:24:01 +00:00
Treehugger Robot
2412da0826 Merge "[Bluetooth apex] Use new apex name" 2022-08-25 02:16:03 +00:00
Mikhail Naganov
f84d640186 audio: Disable the C++ backend for android.hardware.audio.core
android.hardware.audio.core will need to use FMQ,
which does not support the C++ backend in the AIDL version.

Migrate VTS tests from the C++ backend to the NDK backend.

Bug: 205884982
Test: atest VtsHalAudioCoreTargetTest
Merged-In: Ia5d29126afdb4bb97dd063a032b96ab83b9ce36e
Change-Id: Ia5d29126afdb4bb97dd063a032b96ab83b9ce36e
(cherry picked from commit 8fcc442416)
2022-08-25 00:24:53 +00:00