Move AudioDevice* from android.media -> a.m.audio.common SAIDL
Also add missing "@hide" on a few interfaces Bug: 198812639 Test: m Change-Id: Ie5205571e17300008a1c80ef4dbe50c0a248ba6b
This commit is contained in:
@@ -56,6 +56,9 @@ aidl_interface {
|
||||
"aidl/android/media/audio/common/AudioConfig.aidl",
|
||||
"aidl/android/media/audio/common/AudioConfigBase.aidl",
|
||||
"aidl/android/media/audio/common/AudioContentType.aidl",
|
||||
"aidl/android/media/audio/common/AudioDevice.aidl",
|
||||
"aidl/android/media/audio/common/AudioDeviceDescription.aidl",
|
||||
"aidl/android/media/audio/common/AudioDeviceType.aidl",
|
||||
"aidl/android/media/audio/common/AudioEncapsulationMetadataType.aidl",
|
||||
"aidl/android/media/audio/common/AudioEncapsulationMode.aidl",
|
||||
"aidl/android/media/audio/common/AudioEncapsulationType.aidl",
|
||||
|
||||
32
media/aidl/android/media/audio/common/AudioDevice.aidl
Normal file
32
media/aidl/android/media/audio/common/AudioDevice.aidl
Normal file
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Copyright (C) 2020 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package android.media.audio.common;
|
||||
|
||||
import android.media.audio.common.AudioDeviceDescription;
|
||||
|
||||
/**
|
||||
* Represents a concrete audio device by bundling together the device type and
|
||||
* the device address.
|
||||
*
|
||||
* {@hide}
|
||||
*/
|
||||
@JavaDerive(equals=true, toString=true)
|
||||
@VintfStability
|
||||
parcelable AudioDevice {
|
||||
AudioDeviceDescription type;
|
||||
@utf8InCpp String address;
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
/*
|
||||
* Copyright (C) 2021 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package android.media.audio.common;
|
||||
|
||||
import android.media.audio.common.AudioDeviceType;
|
||||
|
||||
/**
|
||||
* Describes the kind of an audio device.
|
||||
*
|
||||
* {@hide}
|
||||
*/
|
||||
@JavaDerive(equals=true, toString=true)
|
||||
@VintfStability
|
||||
parcelable AudioDeviceDescription {
|
||||
/**
|
||||
* Type and directionality of the device. For bidirectional audio devices
|
||||
* two descriptions need to be created, having the same value for
|
||||
* the 'connection' field.
|
||||
*
|
||||
* See 'AudioDeviceType' for the list of supported values.
|
||||
*/
|
||||
AudioDeviceType type = AudioDeviceType.NONE;
|
||||
/**
|
||||
* Specifies the type of the connection of the device to the audio system.
|
||||
* Usually it's some kind of a communication protocol, e.g. Bluetooth SCO or
|
||||
* USB. There is a list of connection types recognized by the framework,
|
||||
* defined using 'CONNECTION_' constants. Vendors can add their own
|
||||
* connection types with "vx.<vendor>." prefix.
|
||||
*
|
||||
* When the 'connection' field is left empty and 'type != NONE | DEFAULT',
|
||||
* it is assumed that the device is permanently attached to the audio
|
||||
* system, e.g. a built-in speaker or microphone.
|
||||
*
|
||||
* The 'connection' field must be left empty if 'type' is 'NONE' or
|
||||
* '{IN|OUT}_DEFAULT'.
|
||||
*/
|
||||
@utf8InCpp String connection;
|
||||
/**
|
||||
* Analog connection, for example, via 3.5 mm analog jack.
|
||||
*/
|
||||
const @utf8InCpp String CONNECTION_ANALOG = "analog";
|
||||
/**
|
||||
* Low-End (Analog) Desk Dock.
|
||||
*/
|
||||
const @utf8InCpp String CONNECTION_ANALOG_DOCK = "analog-dock";
|
||||
/**
|
||||
* Bluetooth A2DP connection.
|
||||
*/
|
||||
const @utf8InCpp String CONNECTION_BT_A2DP = "bt-a2dp";
|
||||
/**
|
||||
* Bluetooth Low Energy (LE) connection.
|
||||
*/
|
||||
const @utf8InCpp String CONNECTION_BT_LE = "bt-le";
|
||||
/**
|
||||
* Bluetooth SCO connection.
|
||||
*/
|
||||
const @utf8InCpp String CONNECTION_BT_SCO = "bt-sco";
|
||||
/**
|
||||
* Bus connection. Mostly used in automotive scenarios.
|
||||
*/
|
||||
const @utf8InCpp String CONNECTION_BUS = "bus";
|
||||
/**
|
||||
* High-End (Digital) Desk Dock.
|
||||
*/
|
||||
const @utf8InCpp String CONNECTION_DIGITAL_DOCK = "digital-dock";
|
||||
/**
|
||||
* HDMI connection.
|
||||
*/
|
||||
const @utf8InCpp String CONNECTION_HDMI = "hdmi";
|
||||
/**
|
||||
* HDMI ARC connection.
|
||||
*/
|
||||
const @utf8InCpp String CONNECTION_HDMI_ARC = "hdmi-arc";
|
||||
/**
|
||||
* HDMI eARC connection.
|
||||
*/
|
||||
const @utf8InCpp String CONNECTION_HDMI_EARC = "hdmi-earc";
|
||||
/**
|
||||
* IP v4 connection.
|
||||
*/
|
||||
const @utf8InCpp String CONNECTION_IP_V4 = "ip-v4";
|
||||
/**
|
||||
* SPDIF connection.
|
||||
*/
|
||||
const @utf8InCpp String CONNECTION_SPDIF = "spdif";
|
||||
/**
|
||||
* A wireless connection when the actual protocol is unspecified.
|
||||
*/
|
||||
const @utf8InCpp String CONNECTION_WIRELESS = "wireless";
|
||||
/**
|
||||
* USB connection.
|
||||
*/
|
||||
const @utf8InCpp String CONNECTION_USB = "usb";
|
||||
}
|
||||
161
media/aidl/android/media/audio/common/AudioDeviceType.aidl
Normal file
161
media/aidl/android/media/audio/common/AudioDeviceType.aidl
Normal file
@@ -0,0 +1,161 @@
|
||||
/*
|
||||
* Copyright (C) 2021 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package android.media.audio.common;
|
||||
|
||||
/**
|
||||
* The type of the audio device. Only used as part of 'AudioDeviceDescription'
|
||||
* structure.
|
||||
*
|
||||
* Types are divided into "input" and "output" categories. Audio devices that
|
||||
* have both audio input and output, for example, headsets, are represented by a
|
||||
* pair of input and output device types.
|
||||
*
|
||||
* The 'AudioDeviceType' intentionally binds together directionality and 'kind'
|
||||
* of the device to avoid making them fully orthogonal. This is because not all
|
||||
* types of devices are bidirectional, for example, speakers can only be used
|
||||
* for output and microphones can only be used for input (at least, in the
|
||||
* context of the audio framework).
|
||||
*
|
||||
* {@hide}
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
enum AudioDeviceType {
|
||||
/**
|
||||
* "None" type is a "null" value. All fields of 'AudioDeviceDescription'
|
||||
* must have default / empty / null values.
|
||||
*/
|
||||
NONE = 0,
|
||||
/**
|
||||
* The "default" device is used when the client does not have any
|
||||
* preference for a particular device.
|
||||
*/
|
||||
IN_DEFAULT = 1,
|
||||
/**
|
||||
* A device implementing Android Open Accessory protocol.
|
||||
*/
|
||||
IN_ACCESSORY = 2,
|
||||
/**
|
||||
* Input from a DSP front-end proxy device.
|
||||
*/
|
||||
IN_AFE_PROXY = 3,
|
||||
/**
|
||||
* Used when only the connection protocol is known, e.g. a "HDMI Device."
|
||||
*/
|
||||
IN_DEVICE = 4,
|
||||
/**
|
||||
* A device providing reference input for echo canceller.
|
||||
*/
|
||||
IN_ECHO_REFERENCE = 5,
|
||||
/**
|
||||
* FM Tuner input.
|
||||
*/
|
||||
IN_FM_TUNER = 6,
|
||||
/**
|
||||
* A microphone of a headset.
|
||||
*/
|
||||
IN_HEADSET = 7,
|
||||
/**
|
||||
* Loopback input.
|
||||
*/
|
||||
IN_LOOPBACK = 8,
|
||||
/**
|
||||
* The main microphone (the frontal mic on mobile devices).
|
||||
*/
|
||||
IN_MICROPHONE = 9,
|
||||
/**
|
||||
* The secondary microphone (the back mic on mobile devices).
|
||||
*/
|
||||
IN_MICROPHONE_BACK = 10,
|
||||
/**
|
||||
* Input from a submix of other streams.
|
||||
*/
|
||||
IN_SUBMIX = 11,
|
||||
/**
|
||||
* Audio received via the telephone line.
|
||||
*/
|
||||
IN_TELEPHONY_RX = 12,
|
||||
/**
|
||||
* TV Tuner audio input.
|
||||
*/
|
||||
IN_TV_TUNER = 13,
|
||||
/**
|
||||
* The "default" device is used when the client does not have any
|
||||
* preference for a particular device.
|
||||
*/
|
||||
OUT_DEFAULT = 129,
|
||||
/**
|
||||
* A device implementing Android Open Accessory protocol.
|
||||
*/
|
||||
OUT_ACCESSORY = 130,
|
||||
/**
|
||||
* Output from a DSP front-end proxy device.
|
||||
*/
|
||||
OUT_AFE_PROXY = 131,
|
||||
/**
|
||||
* Car audio system.
|
||||
*/
|
||||
OUT_CARKIT = 132,
|
||||
/**
|
||||
* Used when only the connection protocol is known, e.g. a "HDMI Device."
|
||||
*/
|
||||
OUT_DEVICE = 133,
|
||||
/**
|
||||
* The echo canceller device.
|
||||
*/
|
||||
OUT_ECHO_CANCELLER = 134,
|
||||
/**
|
||||
* The FM Tuner device.
|
||||
*/
|
||||
OUT_FM = 135,
|
||||
/**
|
||||
* Headphones.
|
||||
*/
|
||||
OUT_HEADPHONE = 136,
|
||||
/**
|
||||
* Headphones of a headset.
|
||||
*/
|
||||
OUT_HEADSET = 137,
|
||||
/**
|
||||
* Hearing aid.
|
||||
*/
|
||||
OUT_HEARING_AID = 138,
|
||||
/**
|
||||
* Secondary line level output.
|
||||
*/
|
||||
OUT_LINE_AUX = 139,
|
||||
/**
|
||||
* The main speaker.
|
||||
*/
|
||||
OUT_SPEAKER = 140,
|
||||
/**
|
||||
* The speaker of a mobile device in the case when it is close to the ear.
|
||||
*/
|
||||
OUT_SPEAKER_EARPIECE = 141,
|
||||
/**
|
||||
* The main speaker with overload / overheating protection.
|
||||
*/
|
||||
OUT_SPEAKER_SAFE = 142,
|
||||
/**
|
||||
* Output into a submix.
|
||||
*/
|
||||
OUT_SUBMIX = 143,
|
||||
/**
|
||||
* Output into a telephone line.
|
||||
*/
|
||||
OUT_TELEPHONY_TX = 144,
|
||||
}
|
||||
@@ -19,6 +19,8 @@ package android.media.audio.common;
|
||||
/**
|
||||
* The type of the audio format. Only used as part of 'AudioFormatDescription'
|
||||
* structure.
|
||||
*
|
||||
* {@hide}
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="byte")
|
||||
|
||||
@@ -19,6 +19,8 @@ package android.media.audio.common;
|
||||
/**
|
||||
* The type of the encoding used for representing PCM samples. Only used as
|
||||
* part of 'AudioFormatDescription' structure.
|
||||
*
|
||||
* {@hide}
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="byte")
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
* Copyright (C) 2020 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
|
||||
// two cases:
|
||||
// 1). this is a frozen version file - do not edit this in any case.
|
||||
// 2). this is a 'current' file. If you make a backwards compatible change to
|
||||
// the interface (from the latest frozen version), the build system will
|
||||
// prompt you to update this file with `m <name>-update-api`.
|
||||
//
|
||||
// You must not make a backward incompatible change to any AIDL file built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package android.media.audio.common;
|
||||
/* @hide */
|
||||
@JavaDerive(equals=true, toString=true) @VintfStability
|
||||
parcelable AudioDevice {
|
||||
android.media.audio.common.AudioDeviceDescription type;
|
||||
@utf8InCpp String address;
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Copyright (C) 2021 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
|
||||
// two cases:
|
||||
// 1). this is a frozen version file - do not edit this in any case.
|
||||
// 2). this is a 'current' file. If you make a backwards compatible change to
|
||||
// the interface (from the latest frozen version), the build system will
|
||||
// prompt you to update this file with `m <name>-update-api`.
|
||||
//
|
||||
// You must not make a backward incompatible change to any AIDL file built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package android.media.audio.common;
|
||||
/* @hide */
|
||||
@JavaDerive(equals=true, toString=true) @VintfStability
|
||||
parcelable AudioDeviceDescription {
|
||||
android.media.audio.common.AudioDeviceType type = android.media.audio.common.AudioDeviceType.NONE;
|
||||
@utf8InCpp String connection;
|
||||
const @utf8InCpp String CONNECTION_ANALOG = "analog";
|
||||
const @utf8InCpp String CONNECTION_ANALOG_DOCK = "analog-dock";
|
||||
const @utf8InCpp String CONNECTION_BT_A2DP = "bt-a2dp";
|
||||
const @utf8InCpp String CONNECTION_BT_LE = "bt-le";
|
||||
const @utf8InCpp String CONNECTION_BT_SCO = "bt-sco";
|
||||
const @utf8InCpp String CONNECTION_BUS = "bus";
|
||||
const @utf8InCpp String CONNECTION_DIGITAL_DOCK = "digital-dock";
|
||||
const @utf8InCpp String CONNECTION_HDMI = "hdmi";
|
||||
const @utf8InCpp String CONNECTION_HDMI_ARC = "hdmi-arc";
|
||||
const @utf8InCpp String CONNECTION_HDMI_EARC = "hdmi-earc";
|
||||
const @utf8InCpp String CONNECTION_IP_V4 = "ip-v4";
|
||||
const @utf8InCpp String CONNECTION_SPDIF = "spdif";
|
||||
const @utf8InCpp String CONNECTION_WIRELESS = "wireless";
|
||||
const @utf8InCpp String CONNECTION_USB = "usb";
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
/*
|
||||
* Copyright (C) 2021 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
|
||||
// two cases:
|
||||
// 1). this is a frozen version file - do not edit this in any case.
|
||||
// 2). this is a 'current' file. If you make a backwards compatible change to
|
||||
// the interface (from the latest frozen version), the build system will
|
||||
// prompt you to update this file with `m <name>-update-api`.
|
||||
//
|
||||
// You must not make a backward incompatible change to any AIDL file built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible change, it has a high risk of breaking
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package android.media.audio.common;
|
||||
/* @hide */
|
||||
@Backing(type="int") @VintfStability
|
||||
enum AudioDeviceType {
|
||||
NONE = 0,
|
||||
IN_DEFAULT = 1,
|
||||
IN_ACCESSORY = 2,
|
||||
IN_AFE_PROXY = 3,
|
||||
IN_DEVICE = 4,
|
||||
IN_ECHO_REFERENCE = 5,
|
||||
IN_FM_TUNER = 6,
|
||||
IN_HEADSET = 7,
|
||||
IN_LOOPBACK = 8,
|
||||
IN_MICROPHONE = 9,
|
||||
IN_MICROPHONE_BACK = 10,
|
||||
IN_SUBMIX = 11,
|
||||
IN_TELEPHONY_RX = 12,
|
||||
IN_TV_TUNER = 13,
|
||||
OUT_DEFAULT = 129,
|
||||
OUT_ACCESSORY = 130,
|
||||
OUT_AFE_PROXY = 131,
|
||||
OUT_CARKIT = 132,
|
||||
OUT_DEVICE = 133,
|
||||
OUT_ECHO_CANCELLER = 134,
|
||||
OUT_FM = 135,
|
||||
OUT_HEADPHONE = 136,
|
||||
OUT_HEADSET = 137,
|
||||
OUT_HEARING_AID = 138,
|
||||
OUT_LINE_AUX = 139,
|
||||
OUT_SPEAKER = 140,
|
||||
OUT_SPEAKER_EARPIECE = 141,
|
||||
OUT_SPEAKER_SAFE = 142,
|
||||
OUT_SUBMIX = 143,
|
||||
OUT_TELEPHONY_TX = 144,
|
||||
}
|
||||
@@ -32,6 +32,7 @@
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package android.media.audio.common;
|
||||
/* @hide */
|
||||
@Backing(type="byte") @VintfStability
|
||||
enum AudioFormatType {
|
||||
DEFAULT = 0,
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
// later when a module using the interface is updated, e.g., Mainline modules.
|
||||
|
||||
package android.media.audio.common;
|
||||
/* @hide */
|
||||
@Backing(type="byte") @VintfStability
|
||||
enum PcmType {
|
||||
DEFAULT = 0,
|
||||
|
||||
Reference in New Issue
Block a user