diff options
author | jiabin <jiabin@google.com> | 2020-10-14 15:01:58 -0700 |
---|---|---|
committer | Mikhail Naganov <mnaganov@google.com> | 2020-12-09 01:57:58 +0000 |
commit | 31d6646e63e1f78d5f6345106ac6bb0908c6b5f4 (patch) | |
tree | 9c27b2acf15060bfd15e6f6e85fb75c906937855 | |
parent | d87b1d1acec169eca89fc9d522de7728c85f3cb5 (diff) | |
download | libhardware-31d6646e63e1f78d5f6345106ac6bb0908c6b5f4.tar.gz |
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
Merged-In: I60f2615791c19aed37fdb91328e8bc420bc3419d
-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; |