diff options
author | jiabin <jiabin@google.com> | 2020-10-14 15:01:58 -0700 |
---|---|---|
committer | jiabin <jiabin@google.com> | 2020-10-30 14:09:57 -0700 |
commit | d651051c81c9766fca316f845c129868e8bdec42 (patch) | |
tree | 60bb26e03556f1456a5096c8e8d8992067314c5d /include | |
parent | 1483ad3039c3542b51569fccf30d794d3b1c1fcc (diff) |
Add a new API for getting audio_port_v7.
Add a function to audio HAL interface for retrieving audio_port_v7
structure directly. The legacy audio_port structure can always be
converted into audio_port_v7, however the latter may contain more
information.
This function must be supported from legacy HAL version 3.2.
Bug: 160352965
Test: make
Change-Id: I60f2615791c19aed37fdb91328e8bc420bc3419d
Diffstat (limited to 'include')
-rw-r--r-- | include/hardware/audio.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/include/hardware/audio.h b/include/hardware/audio.h index b87d3bb3..69b0b9c0 100644 --- a/include/hardware/audio.h +++ b/include/hardware/audio.h @@ -57,7 +57,8 @@ __BEGIN_DECLS #define AUDIO_DEVICE_API_VERSION_2_0 HARDWARE_DEVICE_API_VERSION(2, 0) #define AUDIO_DEVICE_API_VERSION_3_0 HARDWARE_DEVICE_API_VERSION(3, 0) #define AUDIO_DEVICE_API_VERSION_3_1 HARDWARE_DEVICE_API_VERSION(3, 1) -#define AUDIO_DEVICE_API_VERSION_CURRENT AUDIO_DEVICE_API_VERSION_3_1 +#define AUDIO_DEVICE_API_VERSION_3_2 HARDWARE_DEVICE_API_VERSION(3, 2) +#define AUDIO_DEVICE_API_VERSION_CURRENT AUDIO_DEVICE_API_VERSION_3_2 /* Minimal audio HAL version supported by the audio framework */ #define AUDIO_DEVICE_API_VERSION_MIN AUDIO_DEVICE_API_VERSION_2_0 @@ -865,6 +866,18 @@ struct audio_hw_device { */ int (*remove_device_effect)(struct audio_hw_device *dev, audio_port_handle_t device, effect_handle_t effect); + + /** + * Fills the list of supported attributes for a given audio port. + * As input, "port" contains the information (type, role, address etc...) + * needed by the HAL to identify the port. + * As output, "port" contains possible attributes (sampling rates, formats, + * channel masks, gain controllers...) for this port. The possible attributes + * are saved as audio profiles, which contains audio format and the supported + * sampling rates and channel masks. + */ + int (*get_audio_port_v7)(struct audio_hw_device *dev, + struct audio_port_v7 *port); }; typedef struct audio_hw_device audio_hw_device_t; |