diff options
author | Mikhail Naganov <mnaganov@google.com> | 2018-12-11 15:52:14 -0800 |
---|---|---|
committer | Kevin Rocard <krocard@google.com> | 2019-02-15 01:50:58 +0000 |
commit | 9c140b452a082071d145fcc31637de9d2d2f1be5 (patch) | |
tree | 1708a49a087de77b103b1cc00224a71df87f5f08 /audio | |
parent | d42361e3d1ca707b1c5987652ed311b240b79fff (diff) | |
download | android_hardware_interfaces-9c140b452a082071d145fcc31637de9d2d2f1be5.tar.gz android_hardware_interfaces-9c140b452a082071d145fcc31637de9d2d2f1be5.tar.bz2 android_hardware_interfaces-9c140b452a082071d145fcc31637de9d2d2f1be5.zip |
[Master port] Audio HAL: Add optional Destination to SinkMetadata
This patch ports a change to the HAL interfaces done in master in
order to have the same Audio common HAL interface in both AOSP and master.
This is needed as the Bluetooth HAL uses the audio common HAL and needs
to be frozen in the same state in both AOSP and MASTER.
Currently this is used to indicate the output device
when the input stream is from an intermediate processing
module like MSD.
Bug: 124247199
Bug: 120859615
Test: make
Change-Id: I60bac5c24a263ab0b8965e9dbf9514445e88c270
Merged-In: I60bac5c24a263ab0b8965e9dbf9514445e88c270
Diffstat (limited to 'audio')
-rw-r--r-- | audio/common/5.0/Android.bp | 4 | ||||
-rw-r--r-- | audio/common/5.0/types.hal | 35 |
2 files changed, 38 insertions, 1 deletions
diff --git a/audio/common/5.0/Android.bp b/audio/common/5.0/Android.bp index c17f1442c..86d935475 100644 --- a/audio/common/5.0/Android.bp +++ b/audio/common/5.0/Android.bp @@ -9,6 +9,9 @@ hidl_interface { srcs: [ "types.hal", ], + interfaces: [ + "android.hidl.safe_union@1.0", + ], types: [ "AudioChannelMask", "AudioConfig", @@ -38,6 +41,7 @@ hidl_interface { "AudioSource", "AudioStreamType", "AudioUsage", + "DeviceAddress", "FixedChannelCount", "PlaybackTrackMetadata", "RecordTrackMetadata", diff --git a/audio/common/5.0/types.hal b/audio/common/5.0/types.hal index e5919cbc2..dab74645f 100644 --- a/audio/common/5.0/types.hal +++ b/audio/common/5.0/types.hal @@ -16,6 +16,8 @@ package android.hardware.audio.common@5.0; +import android.hidl.safe_union@1.0; + /* * * IDs and Handles @@ -602,6 +604,29 @@ enum AudioDevice : uint32_t { }; /** + * IEEE 802 MAC address. + */ +typedef uint8_t[6] MacAddress; + +/** + * Specifies a device address in case when several devices of the same type + * can be connected (e.g. BT A2DP, USB). + */ +struct DeviceAddress { + AudioDevice device; // discriminator + union Address { + MacAddress mac; // used for BLUETOOTH_A2DP_* + uint8_t[4] ipv4; // used for IP + struct Alsa { + int32_t card; + int32_t device; + } alsa; // used for USB_* + } address; + string busAddress; // used for BUS + string rSubmixAddress; // used for REMOTE_SUBMIX +}; + +/** * The audio output flags serve two purposes: * * - when an AudioTrack is created they indicate a "wish" to be connected to an @@ -748,9 +773,17 @@ struct RecordTrackMetadata { * Must not be negative. */ float gain; + /** + * Indicates the destination of an input stream, can be left unspecified. + */ + safe_union Destination { + Monostate unspecified; + DeviceAddress device; + }; + Destination destination; }; -/** Metadatas of the source of a StreamIn. */ +/** Metadatas of the sink of a StreamIn. */ struct SinkMetadata { vec<RecordTrackMetadata> tracks; }; |