From 9a63dde753f7277c65334f26d92905b78600f19c Mon Sep 17 00:00:00 2001 From: Mikhail Naganov Date: Sat, 4 Dec 2021 01:42:58 +0000 Subject: [PATCH] Update AudioPort <-> configs mapping It is considered that in general there is a 1:N relationship between an AudioPort and AudioPortConfigs. The 'AudioPort.activeConfig' field could only support a 1:1 relationship, thus it got removed. Instead, an 'AudioPortConfig.portId' field added to reference the ID of the AudioPort to which this config is linked to. Bug: 205884982 Test: m Change-Id: I8ac76abaf8194c8c98deff15b2b5d3c828b9669c --- media/aidl/android/media/audio/common/AudioPort.aidl | 5 +---- .../aidl/android/media/audio/common/AudioPortConfig.aidl | 9 +++++++-- .../current/android/media/audio/common/AudioPort.aidl | 1 - .../android/media/audio/common/AudioPortConfig.aidl | 1 + 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/media/aidl/android/media/audio/common/AudioPort.aidl b/media/aidl/android/media/audio/common/AudioPort.aidl index 8e1c5afe3fe3f..84675e3a00a64 100644 --- a/media/aidl/android/media/audio/common/AudioPort.aidl +++ b/media/aidl/android/media/audio/common/AudioPort.aidl @@ -18,7 +18,6 @@ package android.media.audio.common; import android.media.audio.common.AudioGain; import android.media.audio.common.AudioIoFlags; -import android.media.audio.common.AudioPortConfig; import android.media.audio.common.AudioPortExt; import android.media.audio.common.AudioProfile; import android.media.audio.common.ExtraAudioDescriptor; @@ -33,7 +32,7 @@ import android.media.audio.common.ExtraAudioDescriptor; @VintfStability parcelable AudioPort { /** - * Unique identifier of the port within this HAL service. + * Unique identifier of the port within a HAL module. */ int id; /** @@ -57,8 +56,6 @@ parcelable AudioPort { ExtraAudioDescriptor[] extraAudioDescriptors; /** Gain controllers. */ AudioGain[] gains; - /** Current audio port configuration. */ - AudioPortConfig activeConfig; /** Extra parameters depending on the port role. */ AudioPortExt ext; } diff --git a/media/aidl/android/media/audio/common/AudioPortConfig.aidl b/media/aidl/android/media/audio/common/AudioPortConfig.aidl index e3a9374822d2e..2702b147e7f40 100644 --- a/media/aidl/android/media/audio/common/AudioPortConfig.aidl +++ b/media/aidl/android/media/audio/common/AudioPortConfig.aidl @@ -33,10 +33,15 @@ import android.media.audio.common.Int; @VintfStability parcelable AudioPortConfig { /** - * Port unique ID. This field is set to a non-zero value when it is needed - * to select a previously reported port and apply new configuration to it. + * Port config unique ID. This field is set to a non-zero value when it is + * needed to select a previously reported port config and apply new + * configuration to it. */ int id; + /** + * The ID of the AudioPort instance this configuration applies to. + */ + int portId; /** Sample rate in Hz. Can be left unspecified. */ @nullable Int sampleRate; /** Channel mask. Can be left unspecified. */ diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioPort.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioPort.aidl index 8f563b3b28948..970bbc06890f6 100644 --- a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioPort.aidl +++ b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioPort.aidl @@ -41,6 +41,5 @@ parcelable AudioPort { android.media.audio.common.AudioIoFlags flags; android.media.audio.common.ExtraAudioDescriptor[] extraAudioDescriptors; android.media.audio.common.AudioGain[] gains; - android.media.audio.common.AudioPortConfig activeConfig; android.media.audio.common.AudioPortExt ext; } diff --git a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioPortConfig.aidl b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioPortConfig.aidl index 78967b43961c8..18e6406117dcc 100644 --- a/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioPortConfig.aidl +++ b/media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioPortConfig.aidl @@ -36,6 +36,7 @@ package android.media.audio.common; @JavaDerive(equals=true, toString=true) @VintfStability parcelable AudioPortConfig { int id; + int portId; @nullable android.media.audio.common.Int sampleRate; @nullable android.media.audio.common.AudioChannelLayout channelMask; @nullable android.media.audio.common.AudioFormatDescription format;