Move media vintf aidl_interface to system/hardware/interfaces

These interfaces are marked as vintf, so it should be used from both
system and vendor. So system/hardware/interfaces is proper place over
frameworks/base

Test: m
Bug: 249177028

Change-Id: I75d6cedd2b5d621d9e3831b3e59faf1d2387de74
This commit is contained in:
Jeongik Cha 2022-10-14 14:58:17 +09:00
parent 8314a3e51b
commit 3a1c0295a8
182 changed files with 0 additions and 8905 deletions

View File

@ -40,210 +40,3 @@ aidl_interface {
"media_permission-aidl",
],
}
aidl_interface {
name: "android.media.audio.common.types",
vendor_available: true,
host_supported: true,
double_loadable: true,
flags: [
"-Werror",
"-Weverything",
],
local_include_dir: "aidl",
srcs: [
"aidl/android/media/audio/common/AudioAttributes.aidl",
"aidl/android/media/audio/common/AudioChannelLayout.aidl",
"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/AudioDeviceAddress.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",
"aidl/android/media/audio/common/AudioFlag.aidl",
"aidl/android/media/audio/common/AudioFormatDescription.aidl",
"aidl/android/media/audio/common/AudioFormatType.aidl",
"aidl/android/media/audio/common/AudioGain.aidl",
"aidl/android/media/audio/common/AudioGainConfig.aidl",
"aidl/android/media/audio/common/AudioGainMode.aidl",
"aidl/android/media/audio/common/AudioInputFlags.aidl",
"aidl/android/media/audio/common/AudioIoFlags.aidl",
"aidl/android/media/audio/common/AudioMMapPolicy.aidl",
"aidl/android/media/audio/common/AudioMMapPolicyInfo.aidl",
"aidl/android/media/audio/common/AudioMMapPolicyType.aidl",
"aidl/android/media/audio/common/AudioMode.aidl",
"aidl/android/media/audio/common/AudioOffloadInfo.aidl",
"aidl/android/media/audio/common/AudioOutputFlags.aidl",
"aidl/android/media/audio/common/AudioPort.aidl",
"aidl/android/media/audio/common/AudioPortConfig.aidl",
"aidl/android/media/audio/common/AudioPortDeviceExt.aidl",
"aidl/android/media/audio/common/AudioPortExt.aidl",
"aidl/android/media/audio/common/AudioPortMixExt.aidl",
"aidl/android/media/audio/common/AudioPortMixExtUseCase.aidl",
"aidl/android/media/audio/common/AudioProfile.aidl",
"aidl/android/media/audio/common/AudioSource.aidl",
"aidl/android/media/audio/common/AudioStandard.aidl",
"aidl/android/media/audio/common/AudioStreamType.aidl",
"aidl/android/media/audio/common/AudioUsage.aidl",
"aidl/android/media/audio/common/AudioUuid.aidl",
"aidl/android/media/audio/common/Boolean.aidl",
"aidl/android/media/audio/common/Byte.aidl",
"aidl/android/media/audio/common/ExtraAudioDescriptor.aidl",
"aidl/android/media/audio/common/Float.aidl",
"aidl/android/media/audio/common/Double.aidl",
"aidl/android/media/audio/common/Int.aidl",
"aidl/android/media/audio/common/Long.aidl",
"aidl/android/media/audio/common/PcmType.aidl",
],
stability: "vintf",
backend: {
cpp: {
min_sdk_version: "29",
apex_available: [
"//apex_available:platform",
"com.android.media",
],
},
java: {
sdk_version: "module_current",
min_sdk_version: "29",
apex_available: [
"//apex_available:platform",
"com.android.car.framework",
],
},
ndk: {
min_sdk_version: "29",
apex_available: [
"//apex_available:platform",
"com.android.btservices",
],
},
},
versions_with_info: [
{
version: "1",
imports: [],
},
// IMPORTANT: Update latest_android_media_audio_common_types every time
// you add the latest frozen version to versions_with_info
],
}
// Note: This should always be one version ahead of the last frozen version
latest_android_media_audio_common_types = "android.media.audio.common.types-V2"
// Modules that depend on android.media.audio.common.types directly can include
// the following cc_defaults to avoid explicitly managing dependency versions
// across many scattered files.
cc_defaults {
name: "latest_android_media_audio_common_types_cpp_shared",
shared_libs: [
latest_android_media_audio_common_types + "-cpp",
],
}
cc_defaults {
name: "latest_android_media_audio_common_types_cpp_export_shared",
defaults: [
"latest_android_media_audio_common_types_cpp_shared",
],
export_shared_lib_headers: [
latest_android_media_audio_common_types + "-cpp",
],
}
cc_defaults {
name: "latest_android_media_audio_common_types_cpp_static",
static_libs: [
latest_android_media_audio_common_types + "-cpp",
],
}
cc_defaults {
name: "latest_android_media_audio_common_types_cpp_export_static",
defaults: [
"latest_android_media_audio_common_types_cpp_static",
],
export_static_lib_headers: [
latest_android_media_audio_common_types + "-cpp",
],
}
cc_defaults {
name: "latest_android_media_audio_common_types_ndk_shared",
shared_libs: [
latest_android_media_audio_common_types + "-ndk",
],
}
cc_defaults {
name: "latest_android_media_audio_common_types_ndk_static",
static_libs: [
latest_android_media_audio_common_types + "-ndk",
],
}
cc_defaults {
name: "latest_android_media_audio_common_types_cpp_target_shared",
target: {
android: {
shared_libs: [
latest_android_media_audio_common_types + "-cpp",
],
},
},
}
aidl_interface {
name: "android.media.soundtrigger.types",
vendor_available: true,
host_supported: true,
flags: [
"-Werror",
"-Weverything",
],
local_include_dir: "aidl",
srcs: [
"aidl/android/media/soundtrigger/AudioCapabilities.aidl",
"aidl/android/media/soundtrigger/ConfidenceLevel.aidl",
"aidl/android/media/soundtrigger/ModelParameter.aidl",
"aidl/android/media/soundtrigger/ModelParameterRange.aidl",
"aidl/android/media/soundtrigger/Phrase.aidl",
"aidl/android/media/soundtrigger/PhraseRecognitionEvent.aidl",
"aidl/android/media/soundtrigger/PhraseRecognitionExtra.aidl",
"aidl/android/media/soundtrigger/PhraseSoundModel.aidl",
"aidl/android/media/soundtrigger/Properties.aidl",
"aidl/android/media/soundtrigger/RecognitionConfig.aidl",
"aidl/android/media/soundtrigger/RecognitionEvent.aidl",
"aidl/android/media/soundtrigger/RecognitionMode.aidl",
"aidl/android/media/soundtrigger/RecognitionStatus.aidl",
"aidl/android/media/soundtrigger/SoundModel.aidl",
"aidl/android/media/soundtrigger/SoundModelType.aidl",
"aidl/android/media/soundtrigger/Status.aidl",
],
stability: "vintf",
backend: {
cpp: {
enabled: true,
},
java: {
sdk_version: "module_current",
},
},
imports: [
"android.media.audio.common.types-V2",
],
versions_with_info: [
{
version: "1",
imports: ["android.media.audio.common.types-V2"],
},
],
}

View File

@ -1,59 +0,0 @@
/*
* Copyright (C) 2022 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.AudioContentType;
import android.media.audio.common.AudioFlag;
import android.media.audio.common.AudioSource;
import android.media.audio.common.AudioUsage;
/**
* AudioAttributes give information about an audio stream that is more
* descriptive than stream type alone.
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
parcelable AudioAttributes {
/**
* Classifies the content of the audio signal using categories such as
* speech or music
*/
AudioContentType contentType = AudioContentType.UNKNOWN;
/**
* Classifies the intended use of the audio signal using categories such as
* alarm or ringtone
*/
AudioUsage usage = AudioUsage.UNKNOWN;
/**
* Classifies the audio source using categories such as voice uplink or
* remote submix
*/
AudioSource source = AudioSource.DEFAULT;
/**
* Bitmask describing how playback is to be affected.
*/
int flags = AudioFlag.NONE;
/**
* Tag is an additional use case qualifier complementing AudioUsage and
* AudioContentType. Tags are set by vendor-specific applications and must
* be prefixed by "VX_". Vendors must namespace their tag names using the
* name of their company to avoid conflicts. The namespace must use at least
* three characters, and must go directly after the "VX_" prefix.
* For example: "VX_MYCOMPANY_VR".
*/
@utf8InCpp String[] tags;
}

View File

@ -1,243 +0,0 @@
/*
* 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;
/**
* This structure describes a layout of a multi-channel stream.
* There are two possible ways for representing a layout:
*
* - indexed mask, which tells what channels of an audio frame are used, but
* doesn't label them in any way, thus a correspondence between channels in
* the same position of frames originating from different streams must be
* established externally;
*
* - layout mask, which gives a label to each channel, thus allowing to
* match channels between streams of different layouts.
*
* Both representations are agnostic of the direction of audio transfer. Also,
* by construction, the number of bits set to '1' in the mask indicates the
* number of channels in the audio frame. A channel mask per se only defines the
* presence or absence of a channel, not the order. Please see 'INTERLEAVE_*'
* constants for the platform convention of order.
*
* The structure also defines a "voice mask" which is a special case of
* layout mask, intended for processing voice audio from telecommunication
* use cases.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
union AudioChannelLayout {
/**
* This variant is used for representing the "null" ("none") value
* for the channel layout. The field value must always be '0'.
*/
int none = 0;
/**
* This variant is used for indicating an "invalid" layout for use by the
* framework only. HAL implementations must not accept or emit
* AudioChannelLayout values for this variant. The field value must always
* be '0'.
*/
int invalid = 0;
/**
* This variant is used for representing indexed masks. The mask indicates
* what channels are used. For example, the mask that specifies to use only
* channels 1 and 3 when interacting with a multi-channel device is defined
* as a combination of the 1st and the 3rd bits and thus is equal to 5. See
* also the 'INDEX_MASK_*' constants. The 'indexMask' field must have at
* least one bit set.
*/
int indexMask;
/**
* This variant is used for representing layout masks.
* It is recommended to use one of 'LAYOUT_*' values. The 'layoutMask' field
* must have at least one bit set.
*/
int layoutMask;
/**
* This variant is used for processing of voice audio input and output.
* It is recommended to use one of 'VOICE_*' values. The 'voiceMask' field
* must have at least one bit set.
*/
int voiceMask;
/**
* 'INDEX_MASK_*' constants define how many channels are used.
* The mask constants below are 'canonical' masks. Each 'INDEX_MASK_N'
* constant declares that all N channels are used and arranges
* them starting from the LSB.
*/
const int INDEX_MASK_1 = (1 << 1) - 1;
const int INDEX_MASK_2 = (1 << 2) - 1;
const int INDEX_MASK_3 = (1 << 3) - 1;
const int INDEX_MASK_4 = (1 << 4) - 1;
const int INDEX_MASK_5 = (1 << 5) - 1;
const int INDEX_MASK_6 = (1 << 6) - 1;
const int INDEX_MASK_7 = (1 << 7) - 1;
const int INDEX_MASK_8 = (1 << 8) - 1;
const int INDEX_MASK_9 = (1 << 9) - 1;
const int INDEX_MASK_10 = (1 << 10) - 1;
const int INDEX_MASK_11 = (1 << 11) - 1;
const int INDEX_MASK_12 = (1 << 12) - 1;
const int INDEX_MASK_13 = (1 << 13) - 1;
const int INDEX_MASK_14 = (1 << 14) - 1;
const int INDEX_MASK_15 = (1 << 15) - 1;
const int INDEX_MASK_16 = (1 << 16) - 1;
const int INDEX_MASK_17 = (1 << 17) - 1;
const int INDEX_MASK_18 = (1 << 18) - 1;
const int INDEX_MASK_19 = (1 << 19) - 1;
const int INDEX_MASK_20 = (1 << 20) - 1;
const int INDEX_MASK_21 = (1 << 21) - 1;
const int INDEX_MASK_22 = (1 << 22) - 1;
const int INDEX_MASK_23 = (1 << 23) - 1;
const int INDEX_MASK_24 = (1 << 24) - 1;
/**
* 'LAYOUT_*' constants define channel layouts recognized by
* the audio system. The order of the channels in the frame is assumed
* to be from the LSB to MSB for all the bits set to '1'.
*/
const int LAYOUT_MONO = CHANNEL_FRONT_LEFT;
const int LAYOUT_STEREO = CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT;
const int LAYOUT_2POINT1 = CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT | CHANNEL_LOW_FREQUENCY;
const int LAYOUT_TRI = CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT | CHANNEL_FRONT_CENTER;
const int LAYOUT_TRI_BACK = CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT | CHANNEL_BACK_CENTER;
const int LAYOUT_3POINT1 =
CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT | CHANNEL_FRONT_CENTER | CHANNEL_LOW_FREQUENCY;
const int LAYOUT_2POINT0POINT2 = CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT
| CHANNEL_TOP_SIDE_LEFT | CHANNEL_TOP_SIDE_RIGHT;
const int LAYOUT_2POINT1POINT2 = LAYOUT_2POINT0POINT2 | CHANNEL_LOW_FREQUENCY;
const int LAYOUT_3POINT0POINT2 = CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT | CHANNEL_FRONT_CENTER
| CHANNEL_TOP_SIDE_LEFT | CHANNEL_TOP_SIDE_RIGHT;
const int LAYOUT_3POINT1POINT2 = LAYOUT_3POINT0POINT2 | CHANNEL_LOW_FREQUENCY;
const int LAYOUT_QUAD =
CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT | CHANNEL_BACK_LEFT | CHANNEL_BACK_RIGHT;
const int LAYOUT_QUAD_SIDE =
CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT | CHANNEL_SIDE_LEFT | CHANNEL_SIDE_RIGHT;
const int LAYOUT_SURROUND =
CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT | CHANNEL_FRONT_CENTER | CHANNEL_BACK_CENTER;
const int LAYOUT_PENTA = LAYOUT_QUAD | CHANNEL_FRONT_CENTER;
const int LAYOUT_5POINT1 = CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT | CHANNEL_FRONT_CENTER
| CHANNEL_LOW_FREQUENCY | CHANNEL_BACK_LEFT | CHANNEL_BACK_RIGHT;
const int LAYOUT_5POINT1_SIDE = CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT | CHANNEL_FRONT_CENTER
| CHANNEL_LOW_FREQUENCY | CHANNEL_SIDE_LEFT | CHANNEL_SIDE_RIGHT;
const int LAYOUT_5POINT1POINT2 =
LAYOUT_5POINT1 | CHANNEL_TOP_SIDE_LEFT | CHANNEL_TOP_SIDE_RIGHT;
const int LAYOUT_5POINT1POINT4 = LAYOUT_5POINT1 | CHANNEL_TOP_FRONT_LEFT
| CHANNEL_TOP_FRONT_RIGHT | CHANNEL_TOP_BACK_LEFT | CHANNEL_TOP_BACK_RIGHT;
const int LAYOUT_6POINT1 = CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT | CHANNEL_FRONT_CENTER
| CHANNEL_LOW_FREQUENCY | CHANNEL_BACK_LEFT | CHANNEL_BACK_RIGHT | CHANNEL_BACK_CENTER;
const int LAYOUT_7POINT1 = LAYOUT_5POINT1 | CHANNEL_SIDE_LEFT | CHANNEL_SIDE_RIGHT;
const int LAYOUT_7POINT1POINT2 =
LAYOUT_7POINT1 | CHANNEL_TOP_SIDE_LEFT | CHANNEL_TOP_SIDE_RIGHT;
const int LAYOUT_7POINT1POINT4 = LAYOUT_7POINT1 | CHANNEL_TOP_FRONT_LEFT
| CHANNEL_TOP_FRONT_RIGHT | CHANNEL_TOP_BACK_LEFT | CHANNEL_TOP_BACK_RIGHT;
const int LAYOUT_9POINT1POINT4 =
LAYOUT_7POINT1POINT4 | CHANNEL_FRONT_WIDE_LEFT | CHANNEL_FRONT_WIDE_RIGHT;
const int LAYOUT_9POINT1POINT6 =
LAYOUT_9POINT1POINT4 | CHANNEL_TOP_SIDE_LEFT | CHANNEL_TOP_SIDE_RIGHT;
const int LAYOUT_13POINT_360RA = CHANNEL_FRONT_LEFT | CHANNEL_FRONT_RIGHT | CHANNEL_FRONT_CENTER
| CHANNEL_SIDE_LEFT | CHANNEL_SIDE_RIGHT | CHANNEL_TOP_FRONT_LEFT
| CHANNEL_TOP_FRONT_RIGHT | CHANNEL_TOP_FRONT_CENTER | CHANNEL_TOP_BACK_LEFT
| CHANNEL_TOP_BACK_RIGHT | CHANNEL_BOTTOM_FRONT_LEFT | CHANNEL_BOTTOM_FRONT_RIGHT
| CHANNEL_BOTTOM_FRONT_CENTER;
const int LAYOUT_22POINT2 = LAYOUT_7POINT1POINT4 | CHANNEL_FRONT_LEFT_OF_CENTER
| CHANNEL_FRONT_RIGHT_OF_CENTER | CHANNEL_BACK_CENTER | CHANNEL_TOP_CENTER
| CHANNEL_TOP_FRONT_CENTER | CHANNEL_TOP_BACK_CENTER | CHANNEL_TOP_SIDE_LEFT
| CHANNEL_TOP_SIDE_RIGHT | CHANNEL_BOTTOM_FRONT_LEFT | CHANNEL_BOTTOM_FRONT_RIGHT
| CHANNEL_BOTTOM_FRONT_CENTER | CHANNEL_LOW_FREQUENCY_2;
const int LAYOUT_MONO_HAPTIC_A = LAYOUT_MONO | CHANNEL_HAPTIC_A;
const int LAYOUT_STEREO_HAPTIC_A = LAYOUT_STEREO | CHANNEL_HAPTIC_A;
const int LAYOUT_HAPTIC_AB = CHANNEL_HAPTIC_A | CHANNEL_HAPTIC_B;
const int LAYOUT_MONO_HAPTIC_AB = LAYOUT_MONO | LAYOUT_HAPTIC_AB;
const int LAYOUT_STEREO_HAPTIC_AB = LAYOUT_STEREO | LAYOUT_HAPTIC_AB;
const int LAYOUT_FRONT_BACK = CHANNEL_FRONT_CENTER | CHANNEL_BACK_CENTER;
/**
* Expresses the convention when stereo audio samples are stored interleaved
* in an array. This should improve readability by allowing code to use
* symbolic indices instead of hard-coded [0] and [1].
*
* For multi-channel beyond stereo, the platform convention is that channels
* are interleaved in order from least significant channel mask bit to most
* significant channel mask bit, with unused bits skipped. Any exceptions
* to this convention will be noted at the appropriate API.
*/
const int INTERLEAVE_LEFT = 0;
const int INTERLEAVE_RIGHT = 1;
/**
* 'CHANNEL_*' constants are used to build 'LAYOUT_*' masks. Each constant
* must have exactly one bit set. The values do not match
* 'android.media.AudioFormat.CHANNEL_OUT_*' constants from the SDK
* for better efficiency in masks processing.
*/
const int CHANNEL_FRONT_LEFT = 1 << 0;
const int CHANNEL_FRONT_RIGHT = 1 << 1;
const int CHANNEL_FRONT_CENTER = 1 << 2;
const int CHANNEL_LOW_FREQUENCY = 1 << 3;
const int CHANNEL_BACK_LEFT = 1 << 4;
const int CHANNEL_BACK_RIGHT = 1 << 5;
const int CHANNEL_FRONT_LEFT_OF_CENTER = 1 << 6;
const int CHANNEL_FRONT_RIGHT_OF_CENTER = 1 << 7;
const int CHANNEL_BACK_CENTER = 1 << 8;
const int CHANNEL_SIDE_LEFT = 1 << 9;
const int CHANNEL_SIDE_RIGHT = 1 << 10;
const int CHANNEL_TOP_CENTER = 1 << 11;
const int CHANNEL_TOP_FRONT_LEFT = 1 << 12;
const int CHANNEL_TOP_FRONT_CENTER = 1 << 13;
const int CHANNEL_TOP_FRONT_RIGHT = 1 << 14;
const int CHANNEL_TOP_BACK_LEFT = 1 << 15;
const int CHANNEL_TOP_BACK_CENTER = 1 << 16;
const int CHANNEL_TOP_BACK_RIGHT = 1 << 17;
const int CHANNEL_TOP_SIDE_LEFT = 1 << 18;
const int CHANNEL_TOP_SIDE_RIGHT = 1 << 19;
const int CHANNEL_BOTTOM_FRONT_LEFT = 1 << 20;
const int CHANNEL_BOTTOM_FRONT_CENTER = 1 << 21;
const int CHANNEL_BOTTOM_FRONT_RIGHT = 1 << 22;
const int CHANNEL_LOW_FREQUENCY_2 = 1 << 23;
const int CHANNEL_FRONT_WIDE_LEFT = 1 << 24;
const int CHANNEL_FRONT_WIDE_RIGHT = 1 << 25;
/**
* Haptic channels are not part of multichannel standards, however they
* enhance user experience when playing so they are packed together with the
* channels of the program. To avoid collision with positional channels the
* values for haptic channels start at the MSB of an integer (after the sign
* bit) and move down to LSB.
*/
const int CHANNEL_HAPTIC_B = 1 << 29;
const int CHANNEL_HAPTIC_A = 1 << 30;
/**
* 'VOICE_*' constants define layouts for voice audio. The order of the
* channels in the frame is assumed to be from the LSB to MSB for all the
* bits set to '1'.
*/
const int VOICE_UPLINK_MONO = CHANNEL_VOICE_UPLINK;
const int VOICE_DNLINK_MONO = CHANNEL_VOICE_DNLINK;
const int VOICE_CALL_MONO = CHANNEL_VOICE_UPLINK | CHANNEL_VOICE_DNLINK;
/**
* 'CHANNEL_VOICE_*' constants are used to build 'VOICE_*' masks. Each
* constant must have exactly one bit set. Use the same values as
* 'android.media.AudioFormat.CHANNEL_IN_VOICE_*' constants from the SDK.
*/
const int CHANNEL_VOICE_UPLINK = 0x4000;
const int CHANNEL_VOICE_DNLINK = 0x8000;
}

View File

@ -1,34 +0,0 @@
/*
* Copyright (C) 2019 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.AudioConfigBase;
import android.media.audio.common.AudioOffloadInfo;
/**
* Commonly used audio stream configuration parameters.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
parcelable AudioConfig {
AudioConfigBase base;
AudioOffloadInfo offloadInfo;
/** I/O buffer size in frames. */
long frameCount;
}

View File

@ -1,33 +0,0 @@
/*
* 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.AudioChannelLayout;
import android.media.audio.common.AudioFormatDescription;
/**
* Base configuration attributes applicable to any stream of audio.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
parcelable AudioConfigBase {
int sampleRate;
AudioChannelLayout channelMask;
AudioFormatDescription format;
}

View File

@ -1,57 +0,0 @@
/*
* 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;
/**
* Content type specifies "what" is playing. The content type expresses the
* general category of the content: speech, music, movie audio, etc.
* This enum corresponds to AudioAttributes.CONTENT_TYPE_* constants in the SDK.
*
* {@hide}
*/
@Backing(type="int")
@VintfStability
enum AudioContentType {
/**
* Content type value to use when the content type is unknown, or other than
* the ones defined.
*/
UNKNOWN = 0,
/**
* Content type value to use when the content type is speech.
*/
SPEECH = 1,
/**
* Content type value to use when the content type is music.
*/
MUSIC = 2,
/**
* Content type value to use when the content type is a soundtrack,
* typically accompanying a movie or TV program.
*/
MOVIE = 3,
/**
* Content type value to use when the content type is a sound used to
* accompany a user action, such as a beep or sound effect expressing a key
* click, or event, such as the type of a sound for a bonus being received
* in a game. These sounds are mostly synthesized or short Foley sounds.
*/
SONIFICATION = 4,
/**
* Content type value to use when the content type is ultrasound.
*/
ULTRASOUND = 1997,
}

View File

@ -1,33 +0,0 @@
/*
* 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.AudioDeviceAddress;
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;
AudioDeviceAddress address;
}

View File

@ -1,61 +0,0 @@
/*
* 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;
/**
* This structure defines various representations for the audio device
* address.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
union AudioDeviceAddress {
/**
* String uniquely identifying the device among other devices
* of the same type. Can be empty in case there is only one device
* of this type.
*
* Depending on the device type, its id may be assigned by the framework
* (one case used at the time of writing is REMOTE_SUBMIX), or assigned by
* the HAL service (the canonical examples are BUS and MIC devices). In any
* case, both framework and HAL must never attempt to parse the value of the
* 'id' field, regardless of whom has generated it. If the address must be
* parsed, one of the members below must be used instead of 'id'.
*/
@utf8InCpp String id;
/**
* IEEE 802 MAC address. Set for Bluetooth devices. The array must have
* exactly 6 elements.
*/
byte[] mac;
/**
* IPv4 Address. Set for IPv4 devices. The array must have exactly 4
* elements.
*/
byte[] ipv4;
/**
* IPv6 Address. Set for IPv6 devices. The array must have exactly 8
* elements.
*/
int[] ipv6;
/**
* PCI bus Address. Set for USB devices. The array must have exactly 2
* elements, in the following order: the card id, and the device id.
*/
int[] alsa;
}

View File

@ -1,102 +0,0 @@
/*
* 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, where the "vendor" part
* must consist of at least 3 letters or numbers.
*
* 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,
* or a low-end (analog) desk dock.
*/
const @utf8InCpp String CONNECTION_ANALOG = "analog";
/**
* 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";
/**
* 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. The Android device is the USB Host.
*/
const @utf8InCpp String CONNECTION_USB = "usb";
}

View File

@ -1,175 +0,0 @@
/*
* 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.
* Note: AOAv2 audio support has been deprecated in Android 8.0.
*/
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,
/**
* Input from a phone / table dock.
*/
IN_DOCK = 14,
/**
* 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.
* Note: AOAv2 audio support has been deprecated in Android 8.0.
*/
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,
/**
* Output into a speaker of a phone / table dock.
*/
OUT_DOCK = 145,
/**
* Output to a broadcast group.
*/
OUT_BROADCAST = 146,
}

View File

@ -1,40 +0,0 @@
/*
* 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;
/**
* Enumeration of metadata types permitted for use by encapsulation mode audio
* streams (see AudioEncapsulationMode). This type corresponds to
* AudioTrack.ENCAPSULATION_METADATA_TYPE_* constants in the SDK.
*
* {@hide}
*/
@Backing(type="int")
@VintfStability
enum AudioEncapsulationMetadataType {
/** Default value. */
NONE = 0,
/**
* Encapsulation metadata type for framework tuner information.
*/
FRAMEWORK_TUNER = 1,
/**
* Encapsulation metadata type for DVB AD descriptor.
*
* This metadata is formatted per ETSI TS 101 154 Table E.1: AD_descriptor.
*/
DVB_AD_DESCRIPTOR = 2,
}

View File

@ -1,38 +0,0 @@
/*
* 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;
/**
* Encapsulation mode used for sending audio compressed data.
*
* {@hide}
*/
@VintfStability
@Backing(type="byte")
enum AudioEncapsulationMode {
/**
* Used as default value in parcelables to indicate that a value was not
* set. Should never be considered a valid setting, except for backward
* compatibility scenarios.
*/
INVALID = -1,
/** No encapsulation mode for metadata. */
NONE = 0,
/** Elementary stream payload with metadata. */
ELEMENTARY_STREAM = 1,
/** Handle-based payload with metadata. */
HANDLE = 2,
}

View File

@ -1,33 +0,0 @@
/*
* 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;
/**
* Audio encapsulation type is used to describe if the audio data should be sent
* with a particular encapsulation type or not. This enum corresponds to
* AudioProfile.AUDIO_ENCAPSULATION_* constants in the SDK.
*
* {@hide}
*/
@Backing(type="int")
@VintfStability
enum AudioEncapsulationType {
/** No encapsulation type is specified. */
NONE = 0,
/** Encapsulation used the format defined in the standard IEC 61937. */
IEC61937 = 1,
}

View File

@ -1,116 +0,0 @@
/*
* Copyright (C) 2022 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;
/**
* Defines the audio flags that are used in AudioAttributes
*/
@Backing(type="int")
@VintfStability
enum AudioFlag {
NONE = 0x0,
/**
* Flag defining a behavior where the audibility of the sound will be
* ensured by the system. To ensure sound audibility, the system only uses
* built-in speakers or wired headphones and specifically excludes wireless
* audio devices. Note this flag should only be used for sounds subject to
* regulatory behaviors in some countries, such as for camera shutter sound,
* and not for routing behaviors.
*/
AUDIBILITY_ENFORCED = 0x1 << 0,
/**
* Skipping 0x1 << 1. This was previously used for SECURE flag, but because
* the security feature was never implemented using this flag, and the flag
* was never made public, this value may be used for another flag.
*/
/**
* Flag to enable when the stream is associated with SCO usage.
* Internal use only for dealing with legacy STREAM_BLUETOOTH_SCO
*/
SCO = 0x1 << 2,
/**
* Flag defining a behavior where the system ensures that the playback of
* the sound will be compatible with its use as a broadcast for surrounding
* people and/or devices. Ensures audibility with no or minimal
* post-processing applied.
*/
BEACON = 0x1 << 3,
/**
* Flag requesting the use of an output stream supporting hardware A/V
* synchronization.
*/
HW_AV_SYNC = 0x1 << 4,
/**
* Flag requesting capture from the source used for hardware hotword
* detection. To be used with capture preset MediaRecorder.AudioSource
* HOTWORD or MediaRecorder.AudioSource.VOICE_RECOGNITION.
*/
HW_HOTWORD = 0x1 << 5,
/**
* Flag requesting audible playback even under limited interruptions.
*/
BYPASS_INTERRUPTION_POLICY = 0x1 << 6,
/**
* Flag requesting audible playback even when the underlying stream is muted
*/
BYPASS_MUTE = 0x1 << 7,
/**
* Flag requesting a low latency path when creating an AudioTrack.
* When using this flag, the sample rate must match the native sample rate
* of the device. Effects processing is also unavailable.
*/
LOW_LATENCY = 0x1 << 8,
/**
* Flag requesting a deep buffer path when creating an AudioTrack.
*
* A deep buffer path, if available, may consume less power and is
* suitable for media playback where latency is not a concern.
*/
DEEP_BUFFER = 0x1 << 9,
/**
* Flag specifying that the audio shall not be captured by third-party apps
* with a MediaProjection.
*/
NO_MEDIA_PROJECTION = 0x1 << 10,
/**
* Flag indicating force muting haptic channels.
*/
MUTE_HAPTIC = 0x1 << 11,
/**
* Flag specifying that the audio shall not be captured by any apps, not
* even system apps.
*/
NO_SYSTEM_CAPTURE = 0x1 << 12,
/**
* Flag requesting private audio capture.
*/
CAPTURE_PRIVATE = 0x1 << 13,
/**
* Flag indicating the audio content has been processed to provide a virtual
* multichannel audio experience.
*/
CONTENT_SPATIALIZED = 0x1 << 14,
/**
* Flag indicating the audio content is never to be spatialized.
*/
NEVER_SPATIALIZE = 0x1 << 15,
/**
* Flag indicating the audio is part of a call redirection.
* Valid for playback and capture.
*/
CALL_REDIRECTION = 0x1 << 16,
}

View File

@ -1,78 +0,0 @@
/*
* 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.AudioFormatType;
import android.media.audio.common.PcmType;
/**
* An extensible type for specifying audio formats. All formats are largely
* divided into two classes: PCM and non-PCM (bitstreams). Bitstreams can
* be encapsulated into PCM streams.
*
* The type defined in a way to make each format uniquely identifiable, so
* that if the framework and the HAL construct a value for the same type
* (e.g. PCM 16 bit), they will produce identical parcelables which will have
* identical hashes. This makes possible deduplicating type descriptions
* by the framework when they are received from different HAL modules without
* relying on having some centralized registry of enumeration values.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
parcelable AudioFormatDescription {
/**
* The type of the audio format. See the 'AudioFormatType' for the
* list of supported values.
*/
AudioFormatType type = AudioFormatType.DEFAULT;
/**
* The type of the PCM stream or the transport stream for PCM
* encapsulations. See 'PcmType' for the list of supported values.
*/
PcmType pcm = PcmType.DEFAULT;
/**
* Optional encoding specification. Must be left empty when:
*
* - 'type == DEFAULT && pcm == DEFAULT' -- that means "default" type;
* - 'type == PCM' -- that means a regular PCM stream (not an encapsulation
* of an encoded bitstream).
*
* For PCM encapsulations of encoded bitstreams (e.g. an encapsulation
* according to IEC-61937 standard), the value of the 'pcm' field must
* be set accordingly, as an example, PCM_INT_16_BIT must be used for
* IEC-61937. Note that 'type == NON_PCM' in this case.
*
* Encoding names mostly follow IANA standards for media types (MIME), and
* frameworks/av/media/libstagefright/foundation/MediaDefs.cpp with the
* latter having priority. Since there are still many audio types not found
* in any of these lists, the following rules are applied:
*
* - If there is a direct MIME type for the encoding, the MIME type name
* is used as is, e.g. "audio/eac3" for the EAC-3 format.
* - If the encoding is a "subformat" of a MIME-registered format,
* the latter is augmented with a suffix, e.g. "audio/eac3-joc" for the
* JOC extension of EAC-3.
* - If it's a proprietary format, a "vnd." prefix is added, similar to
* IANA rules, e.g. "audio/vnd.dolby.truehd".
* - Otherwise, "x-" prefix is added, e.g. "audio/x-iec61937".
* - All MIME types not found in the IANA formats list have an associated
* comment.
*/
@utf8InCpp String encoding;
}

View File

@ -1,51 +0,0 @@
/*
* 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 format. Only used as part of 'AudioFormatDescription'
* structure.
*
* {@hide}
*/
@VintfStability
@Backing(type="byte")
enum AudioFormatType {
/**
* "Default" type is used when the client does not care about the actual
* format. All fields of 'AudioFormatDescription' must have default / empty
* / null values.
*/
DEFAULT = 0,
/**
* When the 'encoding' field of 'AudioFormatDescription' is not empty, it
* specifies the codec used for bitstream (non-PCM) data. It is also used
* in the case when the bitstream data is encapsulated into a PCM stream,
* see the documentation for 'AudioFormatDescription'.
*/
NON_PCM = DEFAULT,
/**
* PCM type. The 'pcm' field of 'AudioFormatDescription' is used to specify
* the actual sample size and representation.
*/
PCM = 1,
/**
* Value reserved for system use only. HALs must never return this value to
* the system or accept it from the system.
*/
SYS_RESERVED_INVALID = -1,
}

View File

@ -1,48 +0,0 @@
/*
* 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.AudioChannelLayout;
/**
* This structure represents a gain stage. A gain stage is always attached
* to an AudioPort.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
parcelable AudioGain {
/** Bitmask, indexed by AudioGainMode. */
int mode;
/** For AudioGainMode.CHANNELS, specifies controlled channels. */
AudioChannelLayout channelMask;
/** Minimum gain value in millibels. */
int minValue;
/** Maximum gain value in millibels. */
int maxValue;
/** Default gain value in millibels. */
int defaultValue;
/** Gain step in millibels. */
int stepValue;
/** Minimum ramp duration in milliseconds. */
int minRampMs;
/** Maximum ramp duration in milliseconds. */
int maxRampMs;
/** Indicates whether it is allowed to use this stage for volume control. */
boolean useForVolume;
}

View File

@ -1,44 +0,0 @@
/*
* 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.AudioChannelLayout;
/**
* The gain configuration structure is used to get or set the gain values of a
* given AudioPort.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
parcelable AudioGainConfig {
/** Index of the corresponding AudioGain in AudioPort.gains. */
int index;
/** Bitmask, indexed by AudioGainMode. */
int mode;
/** For AudioGainMode.CHANNELS, specifies controlled channels. */
AudioChannelLayout channelMask;
/**
* Gain values in millibels. For each channel ordered from LSb to MSb in
* channel mask. The number of values is 1 in joint mode, otherwise equals
* the number of bits implied by channelMask.
*/
int[] values;
/** Ramp duration in milliseconds. */
int rampDurationMs;
}

View File

@ -1,34 +0,0 @@
/*
* 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;
/**
* Type of gain control exposed by an audio port. The values are
* indexes of bits in a bitmask.
*
* {@hide}
*/
@VintfStability
@Backing(type="byte")
enum AudioGainMode {
/** Gain is the same for all channels. */
JOINT = 0,
/** The gain is set individually for each channel. */
CHANNELS = 1,
/** Ramping is applied. */
RAMP = 2,
}

View File

@ -1,66 +0,0 @@
/*
* 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;
/**
* Specifies options applicable to audio input. These can be functional
* requests or performance requests. These flags apply both to audio ports and
* audio streams. Flags specified for an audio stream are usually used to find
* the best matching audio port for it.
*
* {@hide}
*/
@VintfStability
@Backing(type="int")
enum AudioInputFlags {
/**
* Input is optimized for decreasing audio latency.
*/
FAST = 0,
/**
* Input is for capturing "hotword" audio commands.
*/
HW_HOTWORD = 1,
/**
* Input stream should only have minimal signal processing applied.
*/
RAW = 2,
/**
* Input stream needs to be synchronized with an output stream.
*/
SYNC = 3,
/**
* Input uses MMAP no IRQ mode--direct memory mapping with the hardware.
*/
MMAP_NOIRQ = 4,
/**
* Input is used for receiving VoIP audio.
*/
VOIP_TX = 5,
/**
* Input stream contains AV synchronization markers embedded.
*/
HW_AV_SYNC = 6,
/**
* Input contains an encoded audio stream.
*/
DIRECT = 7,
/**
* Input is for capturing "ultrasound" audio commands.
*/
ULTRASOUND = 8,
}

View File

@ -1,31 +0,0 @@
/*
* 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;
/**
* Stores a bitmask of input or output flags.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
union AudioIoFlags {
/** Bitmask indexed by AudioInputFlags. */
int input;
/** Bitmask indexed by AudioOutputFlags. */
int output;
}

View File

@ -1,41 +0,0 @@
/*
* 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;
/**
* Audio MMAP policy describe how the aaudio MMAP feature is used.
* {@hide}
*/
@Backing(type="int")
@VintfStability
enum AudioMMapPolicy {
/**
* The policy is unspecified.
*/
UNSPECIFIED = 0,
/**
* The MMAP feature is disabled and never used.
*/
NEVER = 1,
/**
* If MMAP feature works then uses it. Otherwise, fall back to something else.
*/
AUTO = 2,
/**
* The MMAP feature must be used. If not available then fail.
*/
ALWAYS = 3,
}

View File

@ -1,37 +0,0 @@
/*
* 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.AudioDevice;
import android.media.audio.common.AudioMMapPolicy;
/**
* Audio MMAP policy info describes how an aaudio MMAP feature can be
* used on a particular device.
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
parcelable AudioMMapPolicyInfo {
/**
* The audio device.
*/
AudioDevice device;
/**
* The aaudio mmap policy for the audio device.
*/
AudioMMapPolicy mmapPolicy = AudioMMapPolicy.UNSPECIFIED;
}

View File

@ -1,35 +0,0 @@
/*
* 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 aaudio MMAP policy type.
* {@hide}
*/
@Backing(type="int")
@VintfStability
enum AudioMMapPolicyType {
/**
* Default aaudio mmap policy. It is used to query whether the
* aaudio MMAP could be used or not.
*/
DEFAULT = 1,
/**
* Exclusive aaudio mmap policy. It is used to query whether the
* aaudio MMAP could be used in exclusive mode or not.
*/
EXCLUSIVE = 2,
}

View File

@ -1,52 +0,0 @@
/*
* 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;
/**
* Major modes for a mobile device. The current mode setting affects audio
* routing.
*
* {@hide}
*/
@Backing(type="int")
@VintfStability
enum AudioMode {
/**
* Used as default value in parcelables to indicate that a value was not
* set. Should never be considered a valid setting, except for backward
* compatibility scenarios.
*/
SYS_RESERVED_INVALID = -2,
/**
* Value reserved for system use only. HALs must never return this value to
* the system or accept it from the system.
*/
SYS_RESERVED_CURRENT = -1,
/** Normal mode (no call in progress). */
NORMAL = 0,
/** Mobile device is receiving an incoming connection request. */
RINGTONE = 1,
/** Calls handled by the telephony stack (PSTN). */
IN_CALL = 2,
/** Calls handled by apps (VoIP). */
IN_COMMUNICATION = 3,
/** Call screening in progress. */
CALL_SCREEN = 4,
/** PSTN Call redirection in progress. */
SYS_RESERVED_CALL_REDIRECT = 5,
/** VoIP Call redirection in progress. */
SYS_RESERVED_COMMUNICATION_REDIRECT = 6,
}

View File

@ -1,56 +0,0 @@
/*
* Copyright (C) 2019 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.AudioConfigBase;
import android.media.audio.common.AudioEncapsulationMode;
import android.media.audio.common.AudioStreamType;
import android.media.audio.common.AudioUsage;
/**
* Additional information about the stream passed to hardware decoders.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
parcelable AudioOffloadInfo {
/** Base audio configuration. */
AudioConfigBase base;
/** Stream type. Intended for use by the system only. */
AudioStreamType streamType = AudioStreamType.INVALID;
/** Bit rate in bits per second. */
int bitRatePerSecond;
/** Duration in microseconds, -1 if unknown. */
long durationUs;
/** True if the stream is tied to a video stream. */
boolean hasVideo;
/** True if streaming, false if local playback. */
boolean isStreaming;
/** Sample bit width. */
int bitWidth = 16;
/** Offload fragment size. */
int offloadBufferSize;
/** See the documentation of AudioUsage. */
AudioUsage usage = AudioUsage.INVALID;
/** See the documentation of AudioEncapsulationMode. */
AudioEncapsulationMode encapsulationMode = AudioEncapsulationMode.INVALID;
/** Content id from tuner HAL (0 if none). */
int contentId;
/** Sync id from tuner HAL (0 if none). */
int syncId;
}

View File

@ -1,108 +0,0 @@
/*
* 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;
/**
* Specifies options applicable to audio output. These can be functional
* requests or performance requests. These flags apply both to audio ports and
* audio streams. Flags specified for an audio stream are usually used to find
* the best matching audio port for it.
*
* {@hide}
*/
@VintfStability
@Backing(type="int")
enum AudioOutputFlags{
/**
* Output must not be altered by the framework, it bypasses software mixers.
*/
DIRECT = 0,
/**
* When used with audio ports, indicates the "main" (primary) port. This
* port is opened by default and receives routing, audio mode and volume
* controls related to voice calls.
*/
PRIMARY = 1,
/**
* Output is optimized for decreasing audio latency.
*/
FAST = 2,
/**
* Output is optimized for having the low power consumption.
*/
DEEP_BUFFER = 3,
/**
* Output is compressed audio format, intended for hardware decoding.
*/
COMPRESS_OFFLOAD = 4,
/**
* Write operations must return as fast as possible instead of
* being blocked until all provided data has been consumed.
*/
NON_BLOCKING = 5,
/**
* Output stream contains AV synchronization markers embedded.
*/
HW_AV_SYNC = 6,
/**
* Used to support ultrasonic communication with beacons.
* Note: "TTS" here means "Transmitted Through Speaker",
* not "Text-to-Speech".
*/
TTS = 7,
/**
* Output stream should only have minimal signal processing applied.
*/
RAW = 8,
/**
* Output stream needs to be synchronized with an input stream.
*/
SYNC = 9,
/**
* Output stream is encoded according to IEC958.
*/
IEC958_NONAUDIO = 10,
/**
* Output must not be altered by the framework and hardware.
*/
DIRECT_PCM = 11,
/**
* Output uses MMAP no IRQ mode--direct memory mapping with the hardware.
*/
MMAP_NOIRQ = 12,
/**
* Output is used for transmitting VoIP audio.
*/
VOIP_RX = 13,
/**
* Output is used for music playback during telephony calls.
*/
INCALL_MUSIC = 14,
/**
* The rendered must ignore any empty blocks between compressed audio
* tracks.
*/
GAPLESS_OFFLOAD = 15,
/**
* Output is used for spatial audio.
*/
SPATIALIZER = 16,
/**
* Output is used for transmitting ultrasound audio.
*/
ULTRASOUND = 17,
}

View File

@ -1,62 +0,0 @@
/*
* 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.AudioGain;
import android.media.audio.common.AudioIoFlags;
import android.media.audio.common.AudioPortExt;
import android.media.audio.common.AudioProfile;
import android.media.audio.common.ExtraAudioDescriptor;
/**
* Audio port structure describes the capabilities of an audio port.
* This is a "blueprint" which contains all the possible configurations
* that are supported by the port.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
parcelable AudioPort {
/**
* Unique identifier of the port within a HAL module.
*/
int id;
/**
* Human-readable name describing the function of the port.
* E.g. "telephony_tx" or "fm_tuner".
*/
@utf8InCpp String name;
/**
* AudioProfiles supported by this port: format, rates, channels.
*/
AudioProfile[] profiles;
/**
* I/O feature flags.
*/
AudioIoFlags flags;
/**
* ExtraAudioDescriptors supported by this port. Used for formats not
* recognized by the platform. The audio capability is described by a
* hardware descriptor.
*/
ExtraAudioDescriptor[] extraAudioDescriptors;
/** Gain controllers. */
AudioGain[] gains;
/** Extra parameters depending on the port role. */
AudioPortExt ext;
}

View File

@ -1,57 +0,0 @@
/*
* 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.AudioChannelLayout;
import android.media.audio.common.AudioFormatDescription;
import android.media.audio.common.AudioGainConfig;
import android.media.audio.common.AudioIoFlags;
import android.media.audio.common.AudioPortExt;
import android.media.audio.common.Int;
/**
* Audio port configuration structure specifies a particular configuration
* of an audio port.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
parcelable AudioPortConfig {
/**
* 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. */
@nullable AudioChannelLayout channelMask;
/** Format. Can be left unspecified. */
@nullable AudioFormatDescription format;
/** Gain to apply. Can be left unspecified. */
@nullable AudioGainConfig gain;
/** I/O feature flags. Can be left unspecified. */
@nullable AudioIoFlags flags;
/** Extra parameters depending on the port role. */
AudioPortExt ext;
}

View File

@ -1,51 +0,0 @@
/*
* 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.AudioDevice;
import android.media.audio.common.AudioFormatDescription;
/**
* Extra parameters which are specified when the audio port is in the device role.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
parcelable AudioPortDeviceExt {
/** Audio device specification. */
AudioDevice device;
/** Bitmask indexed by 'FLAG_INDEX_' constants. */
int flags;
/**
* List of supported encoded formats. Specified for ports that perform
* hardware-accelerated decoding or transcoding, or connected to external
* hardware.
*/
AudioFormatDescription[] encodedFormats;
/**
* A default device port is fallback used when the preference for the device
* to use has not been specified (AudioDeviceType.type == {IN|OUT}_DEFAULT),
* or the specified device does not satisfy routing criteria based on audio
* stream attributes and use cases. The device port for which the ID is
* returned must be associated with a permanently attached device
* (AudioDeviceDescription.connection == ''). There can be no more than one
* default device port in a HAL module in each I/O direction.
*/
const int FLAG_INDEX_DEFAULT_DEVICE = 0;
}

View File

@ -1,42 +0,0 @@
/*
* 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.AudioPortDeviceExt;
import android.media.audio.common.AudioPortMixExt;
/**
* Extra parameters of an AudioPort/AudioPortConfig that depend on
* the actual port role.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
union AudioPortExt {
/** Represents an empty union. Value is ignored. */
boolean unspecified;
/** Information specific to device ports. */
AudioPortDeviceExt device;
/** Information specific to mix ports. */
AudioPortMixExt mix;
/**
* NOT USED. Framework audio session identifier.
* Use android.media.AudioPortExtSys.session on the system side.
*/
int session;
}

View File

@ -1,45 +0,0 @@
/*
* 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.AudioPortMixExtUseCase;
/**
* Extra parameters which are specified when the audio port is in the mix role.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
parcelable AudioPortMixExt {
/** I/O handle of the input/output stream. */
int handle;
/** Parameters specific to the mix use case. */
AudioPortMixExtUseCase usecase;
/**
* Maximum number of input or output streams that can be simultaneously
* opened for this port. '0' means 'unlimited'.
*/
int maxOpenStreamCount;
/**
* Maximum number of input or output streams that can be simultaneously
* active for this port. '0' means 'all opened streams'.
*/
int maxActiveStreamCount;
/** Mute duration while changing device, when used for output. */
int recommendedMuteDurationMs;
}

View File

@ -1,45 +0,0 @@
/*
* 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.AudioSource;
import android.media.audio.common.AudioStreamType;
/**
* Provides additional information depending on the type of the audio port
* when it is used in the mix role.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
union AudioPortMixExtUseCase {
/**
* This is the default case for this union. The value is ignored.
*/
boolean unspecified;
/**
* This case applies when the audio port is a source.
* The value specifies the destination stream type.
*/
AudioStreamType stream;
/**
* This case applies when the audio port is a sink.
* The value specifies the source.
*/
AudioSource source;
}

View File

@ -1,45 +0,0 @@
/*
* 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.AudioChannelLayout;
import android.media.audio.common.AudioEncapsulationType;
import android.media.audio.common.AudioFormatDescription;
/**
* AudioProfile describes a set of configurations supported for a certain
* audio format. A profile can be either "static" which means all the
* configurations are predefined, or "dynamic" which means configurations
* are queried at run time. Dynamic profiles generally used with detachable
* devices, e.g. HDMI or USB devices.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
parcelable AudioProfile {
/** Name is commonly used with static profiles. Can be empty. */
@utf8InCpp String name;
/** If the format is set to 'DEFAULT', this indicates a dynamic profile. */
AudioFormatDescription format;
/** Can be empty if channel masks are "dynamic". */
AudioChannelLayout[] channelMasks;
/** Can be empty if sample rates are "dynamic". */
int[] sampleRates;
/** For encoded audio formats, an encapsulation can be specified. */
AudioEncapsulationType encapsulationType = AudioEncapsulationType.NONE;
}

View File

@ -1,94 +0,0 @@
/*
* 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;
/**
* Defines the audio source. An audio source defines both a default physical
* source of audio signal, and a recording configuration. This enum corresponds
* to MediaRecorder.AudioSource.* constants in the SDK.
*
* {@hide}
*/
@Backing(type="int")
@VintfStability
enum AudioSource {
/**
* Used as default value in parcelables to indicate that a value was not
* set. Should never be considered a valid setting, except for backward
* compatibility scenarios.
*/
SYS_RESERVED_INVALID = -1,
/** Default audio source. */
DEFAULT = 0,
/** Microphone audio source. */
MIC = 1,
/** Voice call uplink (Tx) audio source. */
VOICE_UPLINK = 2,
/** Voice call downlink (Rx) audio source. */
VOICE_DOWNLINK = 3,
/** Voice call uplink + downlink (duplex) audio source. */
VOICE_CALL = 4,
/**
* Microphone audio source tuned for video recording, with the same
* orientation as the camera if available.
*/
CAMCORDER = 5,
/** Microphone audio source tuned for voice recognition. */
VOICE_RECOGNITION = 6,
/**
* Microphone audio source tuned for voice communications such as VoIP. It
* will for instance take advantage of echo cancellation or automatic gain
* control if available.
*/
VOICE_COMMUNICATION = 7,
/**
* Audio source for a submix of audio streams to be presented remotely. An
* application can use this audio source to capture a mix of audio streams
* that should be transmitted to a remote receiver such as a Wifi display.
* While recording is active, these audio streams are redirected to the
* remote submix instead of being played on the device speaker or headset.
*/
REMOTE_SUBMIX = 8,
/**
* Microphone audio source tuned for unprocessed (raw) sound if available,
* behaves like DEFAULT otherwise.
*/
UNPROCESSED = 9,
/**
* Source for capturing audio meant to be processed in real time and played
* back for live performance (e.g karaoke). The capture path will minimize
* latency and coupling with playback path.
*/
VOICE_PERFORMANCE = 10,
/**
* Source for an echo canceller to capture the reference signal to be
* canceled. The echo reference signal will be captured as close as
* possible to the DAC in order to include all post processing applied to
* the playback path.
*/
ECHO_REFERENCE = 1997,
/** Audio source for capturing broadcast FM tuner output. */
FM_TUNER = 1998,
/**
* A low-priority, preemptible audio source for for background software
* hotword detection. Same tuning as VOICE_RECOGNITION.
*/
HOTWORD = 1999,
/** Microphone audio source for ultrasound sound if available,
* behaves like DEFAULT otherwise.
*/
ULTRASOUND = 2000,
}

View File

@ -1,28 +0,0 @@
/*
* 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 audio standard that describe audio playback/capture capabilites.
*
* {@hide}
*/
@Backing(type="int")
@VintfStability
enum AudioStandard {
NONE = 0,
EDID = 1,
}

View File

@ -1,101 +0,0 @@
/*
* Copyright (C) 2019 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;
/**
* Audio stream type describing the intended use case of a stream. Streams
* must be used in the context of volume management only. For playback type
* identification purposes, AudioContentType and AudioUsage must be used,
* similar to how it's done in the SDK.
*
* {@hide}
*/
@VintfStability
@Backing(type="int")
enum AudioStreamType {
/**
* Used as default value in parcelables to indicate that a value was not
* set. Should never be considered a valid setting, except for backward
* compatibility scenarios.
*/
INVALID = -2,
/**
* Indicates that the operation is applied to the "default" stream
* in this context, e.g. MUSIC in normal device state, or RING if the
* phone is ringing.
*
* Value reserved for system use only. HALs must never return this value to
* the system or accept it from the system.
*/
SYS_RESERVED_DEFAULT = -1,
/** Used to identify the volume of audio streams for phone calls. */
VOICE_CALL = 0,
/** Used to identify the volume of audio streams for system sounds. */
SYSTEM = 1,
/**
* Used to identify the volume of audio streams for the phone ring and
* message alerts.
*/
RING = 2,
/** Used to identify the volume of audio streams for music playback. */
MUSIC = 3,
/** Used to identify the volume of audio streams for alarms. */
ALARM = 4,
/** Used to identify the volume of audio streams for notifications. */
NOTIFICATION = 5,
/**
* Used to identify the volume of audio streams for phone calls when
* connected via Bluetooth.
*/
BLUETOOTH_SCO = 6,
/**
* Used to identify the volume of audio streams for enforced system sounds
* in certain countries (e.g camera in Japan).
*/
ENFORCED_AUDIBLE = 7,
/** Used to identify the volume of audio streams for DTMF tones. */
DTMF = 8,
/**
* Used to identify the volume of audio streams exclusively transmitted
* through the speaker (TTS) of the device.
*/
TTS = 9,
/**
* Used to identify the volume of audio streams for accessibility prompts.
*/
ACCESSIBILITY = 10,
/**
* Used to identify the volume of audio streams for virtual assistant.
*/
ASSISTANT = 11,
/**
* Used for dynamic policy output mixes. Only used by the audio policy.
*
* Value reserved for system use only. HALs must never return this value to
* the system or accept it from the system.
*/
SYS_RESERVED_REROUTING = 12,
/**
* Used for audio flinger tracks volume. Only used by the audioflinger.
*
* Value reserved for system use only. HALs must never return this value to
* the system or accept it from the system.
*/
SYS_RESERVED_PATCH = 13,
/** Used for the stream corresponding to the call assistant usage. */
CALL_ASSISTANT = 14,
}

View File

@ -1,141 +0,0 @@
/*
* Copyright (C) 2019 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;
/**
* {@hide}
*/
@VintfStability
@Backing(type="int")
enum AudioUsage {
/**
* Used as default value in parcelables to indicate that a value was not
* set. Should never be considered a valid setting, except for backward
* compatibility scenarios.
*/
INVALID = -1,
/**
* Usage value to use when the usage is unknown.
*/
UNKNOWN = 0,
/**
* Usage value to use when the usage is media, such as music, or movie
* soundtracks.
*/
MEDIA = 1,
/**
* Usage value to use when the usage is voice communications, such as
* telephony or VoIP.
*/
VOICE_COMMUNICATION = 2,
/**
* Usage value to use when the usage is in-call signalling, such as with
* a "busy" beep, or DTMF tones.
*/
VOICE_COMMUNICATION_SIGNALLING = 3,
/**
* Usage value to use when the usage is an alarm (e.g. wake-up alarm).
*/
ALARM = 4,
/**
* Usage value to use when the usage is notification. See other notification
* usages for more specialized uses.
*/
NOTIFICATION = 5,
/**
* Usage value to use when the usage is telephony ringtone.
*/
NOTIFICATION_TELEPHONY_RINGTONE = 6,
/**
* Usage value to use when the usage is a request to enter/end a
* communication, such as a VoIP communication or video-conference.
*
* Value reserved for system use only. HALs must never return this value to
* the system or accept it from the system.
*/
SYS_RESERVED_NOTIFICATION_COMMUNICATION_REQUEST = 7,
/**
* Usage value to use when the usage is notification for an "instant"
* communication such as a chat, or SMS.
*
* Value reserved for system use only. HALs must never return this value to
* the system or accept it from the system.
*/
SYS_RESERVED_NOTIFICATION_COMMUNICATION_INSTANT = 8,
/**
* Usage value to use when the usage is notification for a
* non-immediate type of communication such as e-mail.
*
* Value reserved for system use only. HALs must never return this value to
* the system or accept it from the system.
*/
SYS_RESERVED_NOTIFICATION_COMMUNICATION_DELAYED = 9,
/**
* Usage value to use when the usage is to attract the user's attention,
* such as a reminder or low battery warning.
*/
NOTIFICATION_EVENT = 10,
/**
* Usage value to use when the usage is for accessibility, such as with
* a screen reader.
*/
ASSISTANCE_ACCESSIBILITY = 11,
/**
* Usage value to use when the usage is driving or navigation directions.
*/
ASSISTANCE_NAVIGATION_GUIDANCE = 12,
/**
* Usage value to use when the usage is sonification, such as with user
* interface sounds.
*/
ASSISTANCE_SONIFICATION = 13,
/**
* Usage value to use when the usage is for game audio.
*/
GAME = 14,
/**
* Usage value to use when feeding audio to the platform and replacing
* "traditional" audio source, such as audio capture devices.
*/
VIRTUAL_SOURCE = 15,
/**
* Usage value to use for audio responses to user queries, audio
* instructions or help utterances.
*/
ASSISTANT = 16,
/**
* Usage value to use for assistant voice interaction with remote caller on
* Cell and VoIP calls.
*/
CALL_ASSISTANT = 17,
/**
* Usage value to use when the usage is an emergency.
*/
EMERGENCY = 1000,
/**
* Usage value to use when the usage is a safety sound.
*/
SAFETY = 1001,
/**
* Usage value to use when the usage is a vehicle status.
*/
VEHICLE_STATUS = 1002,
/**
* Usage value to use when the usage is an announcement.
*/
ANNOUNCEMENT = 1003,
}

View File

@ -1,32 +0,0 @@
/*
* 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;
/**
* Commonly used structure for passing unique identifiers (UUID).
* For the definition of UUID, refer to ITU-T X.667 spec.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
parcelable AudioUuid {
int timeLow;
int timeMid;
int timeHiAndVersion;
int clockSeq;
byte[] node; // Length = 6
}

View File

@ -1,29 +0,0 @@
/*
* Copyright (C) 2022 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;
/**
* This is a simple wrapper around a 'boolean', putting it in a parcelable, so it
* can be used as an 'inout' parameter, be made '@nullable', etc.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
parcelable Boolean {
boolean value;
}

View File

@ -1,29 +0,0 @@
/*
* Copyright (C) 2022 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;
/**
* This is a simple wrapper around a 'byte', putting it in a parcelable, so it
* can be used as an 'inout' parameter, be made '@nullable', etc.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
parcelable Byte {
byte value;
}

View File

@ -1,29 +0,0 @@
/*
* Copyright (C) 2022 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;
/**
* This is a simple wrapper around a 'double', putting it in a parcelable, so it
* can be used as an 'inout' parameter, be made '@nullable', etc.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
parcelable Double {
double value;
}

View File

@ -1,34 +0,0 @@
/*
* 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.AudioEncapsulationType;
import android.media.audio.common.AudioStandard;
/**
* The audio descriptor that descibes playback/capture capabilities according to
* a particular standard.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
parcelable ExtraAudioDescriptor {
AudioStandard standard = AudioStandard.NONE;
byte[] audioDescriptor;
AudioEncapsulationType encapsulationType = AudioEncapsulationType.NONE;
}

View File

@ -1,29 +0,0 @@
/*
* Copyright (C) 2022 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;
/**
* This is a simple wrapper around a 'float', putting it in a parcelable, so it
* can be used as an 'inout' parameter, be made '@nullable', etc.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
parcelable Float {
float value;
}

View File

@ -1,29 +0,0 @@
/*
* 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;
/**
* This is a simple wrapper around an 'int', putting it in a parcelable, so it
* can be used as an 'inout' parameter, be made '@nullable', etc.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
parcelable Int {
int value;
}

View File

@ -1,29 +0,0 @@
/*
* Copyright (C) 2022 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;
/**
* This is a simple wrapper around a 'long', putting it in a parcelable, so it
* can be used as an 'inout' parameter, be made '@nullable', etc.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
@VintfStability
parcelable Long {
long value;
}

View File

@ -1,56 +0,0 @@
/*
* 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 encoding used for representing PCM samples. Only used as
* part of 'AudioFormatDescription' structure.
*
* {@hide}
*/
@VintfStability
@Backing(type="byte")
enum PcmType {
/**
* "Default" value used when the type 'AudioFormatDescription' is "default".
*/
DEFAULT = 0,
/**
* Unsigned 8-bit integer.
*/
UINT_8_BIT = DEFAULT,
/**
* Signed 16-bit integer.
*/
INT_16_BIT = 1,
/**
* Signed 32-bit integer.
*/
INT_32_BIT = 2,
/**
* Q8.24 fixed point format.
*/
FIXED_Q_8_24 = 3,
/**
* IEEE 754 32-bit floating point format.
*/
FLOAT_32_BIT = 4,
/**
* Signed 24-bit integer.
*/
INT_24_BIT = 5,
}

View File

@ -1,33 +0,0 @@
/*
* Copyright (C) 2019 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.soundtrigger;
/**
* AudioCapabilities supported by the implemented HAL driver.
* @hide
*/
@VintfStability
@Backing(type="int")
enum AudioCapabilities {
/**
* If set the underlying module supports AEC.
*/
ECHO_CANCELLATION = 1 << 0,
/**
* If set, the underlying module supports noise suppression.
*/
NOISE_SUPPRESSION = 1 << 1,
}

View File

@ -1,37 +0,0 @@
/*
* Copyright (C) 2019 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.soundtrigger;
/**
* A recognition confidence level.
* This type is used to represent either a threshold or an actual detection confidence level.
*
* {@hide}
*/
@JavaDerive(equals = true, toString = true)
@VintfStability
parcelable ConfidenceLevel {
/** user ID. */
int userId;
/**
* Confidence level in percent (0 - 100).
* <ul>
* <li>Min level for recognition configuration
* <li>Detected level for recognition event.
* </ul>
*/
int levelPercent;
}

View File

@ -1,39 +0,0 @@
/*
* Copyright (C) 2019 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.soundtrigger;
/**
* Model specific parameters to be used with parameter set and get APIs.
*
* {@hide}
*/
@VintfStability
@Backing(type="int")
enum ModelParameter {
/**
* Placeholder for invalid model parameter used for returning error or
* passing an invalid value.
*/
INVALID = -1,
/**
* Controls the sensitivity threshold adjustment factor for a given model.
* Negative value corresponds to less sensitive model (high threshold) and
* a positive value corresponds to a more sensitive model (low threshold).
* Default value is 0.
*/
THRESHOLD_FACTOR = 0,
}

View File

@ -1,30 +0,0 @@
/*
* Copyright (C) 2019 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.soundtrigger;
/**
* Value range for a model parameter.
*
* {@hide}
*/
@JavaDerive(equals = true, toString = true)
@VintfStability
parcelable ModelParameterRange {
/** Minimum (inclusive) */
int minInclusive;
/** Maximum (inclusive) */
int maxInclusive;
}

View File

@ -1,36 +0,0 @@
/*
* Copyright (C) 2019 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.soundtrigger;
/**
* Key phrase descriptor.
*
* {@hide}
*/
@JavaDerive(equals = true, toString = true)
@VintfStability
parcelable Phrase {
/** Unique keyphrase ID assigned at enrollment time. */
int id;
/** Recognition modes supported by this key phrase (bitfield of RecognitionMode enum). */
int recognitionModes;
/** List of users IDs associated with this key phrase. */
int[] users;
/** Locale - Java Locale style (e.g. en_US). */
String locale;
/** Phrase text. */
String text;
}

View File

@ -1,33 +0,0 @@
/*
* Copyright (C) 2019 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.soundtrigger;
import android.media.soundtrigger.PhraseRecognitionExtra;
import android.media.soundtrigger.RecognitionEvent;
/**
* An event that gets sent to indicate a phrase recognition (or aborting of the recognition
process).
* {@hide}
*/
@JavaDerive(equals = true, toString = true)
@VintfStability
parcelable PhraseRecognitionEvent {
/** Common recognition event. */
RecognitionEvent common;
/** List of descriptors for each recognized key phrase */
PhraseRecognitionExtra[] phraseExtras;
}

View File

@ -1,35 +0,0 @@
/*
* Copyright (C) 2019 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.soundtrigger;
import android.media.soundtrigger.ConfidenceLevel;
/**
* Specialized recognition event for key phrase detection.
* {@hide}
*/
@JavaDerive(equals = true, toString = true)
@VintfStability
parcelable PhraseRecognitionExtra {
/** Keyphrase ID */
int id;
/** Bitfield, indexed by RecognitionMode. */
int recognitionModes;
/** Confidence level for mode RECOGNITION_MODE_VOICE_TRIGGER. Value is between 0-100. */
int confidenceLevel;
/** Number of user confidence levels */
ConfidenceLevel[] levels;
}

View File

@ -1,34 +0,0 @@
/*
* Copyright (C) 2019 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.soundtrigger;
import android.media.soundtrigger.SoundModel;
import android.media.soundtrigger.Phrase;
/**
* Specialized sound model for key phrase detection.
* Proprietary representation of key phrases in binary data must match
* information indicated by phrases field.
* {@hide}
*/
@JavaDerive(equals = true, toString = true)
@VintfStability
parcelable PhraseSoundModel {
/** Common part of sound model descriptor */
SoundModel common;
/** List of descriptors for key phrases supported by this sound model */
Phrase[] phrases;
}

View File

@ -1,70 +0,0 @@
/*
* Copyright (C) 2019 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.soundtrigger;
/**
* Capabilities of a sound trigger module.
* {@hide}
*/
@JavaDerive(equals = true, toString = true)
@VintfStability
parcelable Properties {
/** Implementor name */
String implementor;
/** Implementation description */
String description;
/** Implementation version */
int version;
/**
* Unique implementation ID. The UUID must change with each version of
the engine implementation */
String uuid;
/**
* String naming the architecture used for running the supported models.
* (eg. a platform running models on a DSP could implement this string to convey the DSP
* architecture used)
* This property is supported for soundtrigger HAL v2.3 and above.
* If running a previous version, the string will be empty.
*/
String supportedModelArch;
/** Maximum number of concurrent sound models loaded */
int maxSoundModels;
/** Maximum number of key phrases */
int maxKeyPhrases;
/** Maximum number of concurrent users detected */
int maxUsers;
/** All supported modes. Bitfield, indexed by RecognitionMode. */
int recognitionModes;
/** Supports seamless transition from detection to capture */
boolean captureTransition;
/** Maximum buffering capacity in ms if captureTransition is true */
int maxBufferMs;
/** Supports capture by other use cases while detection is active */
boolean concurrentCapture;
/** Returns the trigger capture in event */
boolean triggerInEvent;
/**
* Rated power consumption when detection is active with TDB
* silence/sound/speech ratio */
int powerConsumptionMw;
/**
* Bit field encoding of the AudioCapabilities
* supported by the firmware.
* This property is supported for soundtrigger HAL v2.3 and above.
* If running a previous version, this value will be 0.
*/
int audioCapabilities;
}

View File

@ -1,41 +0,0 @@
/*
* Copyright (C) 2019 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.soundtrigger;
import android.media.soundtrigger.PhraseRecognitionExtra;
/**
* Configuration for tuning behavior of an active recognition process.
* {@hide}
*/
@JavaDerive(equals = true, toString = true)
@VintfStability
parcelable RecognitionConfig {
/* Capture and buffer audio for this recognition instance. */
boolean captureRequested;
/* Configuration for each key phrase. */
PhraseRecognitionExtra[] phraseRecognitionExtras;
/**
* Bit field encoding of the AudioCapabilities
* supported by the firmware.
*/
int audioCapabilities;
/** Capture configuration data. Content is implementation-defined. */
byte[] data;
}

View File

@ -1,60 +0,0 @@
/*
* Copyright (C) 2019 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.soundtrigger;
import android.media.audio.common.AudioConfig;
import android.media.soundtrigger.RecognitionStatus;
import android.media.soundtrigger.SoundModelType;
/**
* An event that gets sent to indicate a recognition (or aborting of the recognition process).
* {@hide}
*/
@JavaDerive(equals = true, toString = true)
@VintfStability
parcelable RecognitionEvent {
/** Recognition status. */
RecognitionStatus status = RecognitionStatus.INVALID;
/** Event type, same as sound model type. */
SoundModelType type = SoundModelType.INVALID;
/** Is it possible to capture audio from this utterance buffered by the implementation. */
boolean captureAvailable;
/**
* Delay in ms between end of model detection and start of audio available for capture.
* A negative value is possible (e.g. if key phrase is also available for Capture.
*/
int captureDelayMs;
/** Duration in ms of audio captured before the start of the trigger. 0 if none. */
int capturePreambleMs;
/** If true, the 'data' field below contains the capture of the trigger sound. */
boolean triggerInData;
/**
* Audio format of either the trigger in event data or to use for capture of the rest of the
* utterance. May be null when no audio is available for this event type.
*/
@nullable AudioConfig audioConfig;
/** Additional data. */
byte[] data;
/**
* If true, recognition is still active after this event.
* For compatibility with earlier versions of this data type, when the status field is set to
* RecognitionStatus.FORCED, the value of this field should be treated as 'true', regardless of
* the actual value.
* When the status is RecognitionStatus.ABORTED or RecognitionStatus.FAILURE, this must be set
* to false.
*/
boolean recognitionStillActive;
}

View File

@ -1,33 +0,0 @@
/*
* Copyright (C) 2019 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.soundtrigger;
/**
* Recognition mode.
* {@hide}
*/
@VintfStability
@Backing(type="int")
enum RecognitionMode {
/** Simple voice trigger. */
VOICE_TRIGGER = 0x1,
/** Trigger only if one user in model identified. */
USER_IDENTIFICATION = 0x2,
/** Trigger only if one user in model authenticated. */
USER_AUTHENTICATION = 0x4,
/** Generic sound trigger. */
GENERIC_TRIGGER = 0x8,
}

View File

@ -1,41 +0,0 @@
/*
* Copyright (C) 2019 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.soundtrigger;
/**
* A status for indicating the type of a recognition event.
* {@hide}
*/
@VintfStability
@Backing(type="int")
enum RecognitionStatus {
/**
* Used as default value in parcelables to indicate that a value was not set.
* Should never be considered a valid setting, except for backward compatibility scenarios.
*/
INVALID = -1,
/** Recognition success. */
SUCCESS = 0,
/** Recognition aborted (e.g. capture preempted by another use-case. */
ABORTED = 1,
/** Recognition failure. */
FAILURE = 2,
/**
* Recognition event was triggered by a forceRecognitionEvent request, not by the DSP.
* Note that forced detections *do not* stop the active recognition, unlike the other types.
*/
FORCED = 3
}

View File

@ -1,41 +0,0 @@
/*
* Copyright (C) 2019 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.soundtrigger;
import android.media.soundtrigger.SoundModelType;
import android.os.ParcelFileDescriptor;
/**
* Base sound model descriptor. This struct can be extended for various specific types by way of
* aggregation.
* {@hide}
*/
@JavaDerive(equals = true, toString = true)
@VintfStability
parcelable SoundModel {
/** Model type. */
SoundModelType type = SoundModelType.INVALID;
/** Unique sound model ID. */
String uuid;
/**
* Unique vendor ID. Identifies the engine the sound model
* was build for */
String vendorUuid;
/** Opaque data transparent to Android framework. May be null if dataSize is 0. */
@nullable ParcelFileDescriptor data;
/** Size of the above data, in bytes. */
int dataSize;
}

View File

@ -1,34 +0,0 @@
/*
* Copyright (C) 2019 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.soundtrigger;
/**
* Sound model type.
* {@hide}
*/
@VintfStability
@Backing(type="int")
enum SoundModelType {
/**
* Used as default value in parcelables to indicate that a value was not set.
* Should never be considered a valid setting, except for backward compatibility scenarios.
*/
INVALID = -1,
/** Key phrase sound models */
KEYPHRASE = 0,
/** All models other than keyphrase */
GENERIC = 1,
}

View File

@ -1,44 +0,0 @@
/*
* Copyright (C) 2019 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.soundtrigger;
/**
* {@hide}
*/
@VintfStability
@Backing(type="int")
enum Status {
/**
* Used as default value in parcelables to indicate that a value was not set.
* Should never be considered a valid setting, except for backward compatibility scenarios.
*/
INVALID = -1,
/** Success. */
SUCCESS = 0,
/** Failure due to resource contention. This is typically a temporary condition. */
RESOURCE_CONTENTION = 1,
/** Operation is not supported in this implementation. This is a permanent condition. */
OPERATION_NOT_SUPPORTED = 2,
/** Temporary lack of permission. */
TEMPORARY_PERMISSION_DENIED = 3,
/** The object on which this method is called is dead and all of its state is lost. */
DEAD_OBJECT = 4,
/**
* Unexpected internal error has occurred. Usually this will result in the service rebooting
* shortly after. The client should treat the state of the server as undefined.
*/
INTERNAL_ERROR = 5,
}

View File

@ -1 +0,0 @@
985ad49c876a50c60c726dc87f60cb598fd087ad

View File

@ -1,134 +0,0 @@
/*
* 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
union AudioChannelLayout {
int none = 0;
int invalid = 0;
int indexMask;
int layoutMask;
int voiceMask;
const int INDEX_MASK_1 = 1;
const int INDEX_MASK_2 = 3;
const int INDEX_MASK_3 = 7;
const int INDEX_MASK_4 = 15;
const int INDEX_MASK_5 = 31;
const int INDEX_MASK_6 = 63;
const int INDEX_MASK_7 = 127;
const int INDEX_MASK_8 = 255;
const int INDEX_MASK_9 = 511;
const int INDEX_MASK_10 = 1023;
const int INDEX_MASK_11 = 2047;
const int INDEX_MASK_12 = 4095;
const int INDEX_MASK_13 = 8191;
const int INDEX_MASK_14 = 16383;
const int INDEX_MASK_15 = 32767;
const int INDEX_MASK_16 = 65535;
const int INDEX_MASK_17 = 131071;
const int INDEX_MASK_18 = 262143;
const int INDEX_MASK_19 = 524287;
const int INDEX_MASK_20 = 1048575;
const int INDEX_MASK_21 = 2097151;
const int INDEX_MASK_22 = 4194303;
const int INDEX_MASK_23 = 8388607;
const int INDEX_MASK_24 = 16777215;
const int LAYOUT_MONO = 1;
const int LAYOUT_STEREO = 3;
const int LAYOUT_2POINT1 = 11;
const int LAYOUT_TRI = 7;
const int LAYOUT_TRI_BACK = 259;
const int LAYOUT_3POINT1 = 15;
const int LAYOUT_2POINT0POINT2 = 786435;
const int LAYOUT_2POINT1POINT2 = 786443;
const int LAYOUT_3POINT0POINT2 = 786439;
const int LAYOUT_3POINT1POINT2 = 786447;
const int LAYOUT_QUAD = 51;
const int LAYOUT_QUAD_SIDE = 1539;
const int LAYOUT_SURROUND = 263;
const int LAYOUT_PENTA = 55;
const int LAYOUT_5POINT1 = 63;
const int LAYOUT_5POINT1_SIDE = 1551;
const int LAYOUT_5POINT1POINT2 = 786495;
const int LAYOUT_5POINT1POINT4 = 184383;
const int LAYOUT_6POINT1 = 319;
const int LAYOUT_7POINT1 = 1599;
const int LAYOUT_7POINT1POINT2 = 788031;
const int LAYOUT_7POINT1POINT4 = 185919;
const int LAYOUT_9POINT1POINT4 = 50517567;
const int LAYOUT_9POINT1POINT6 = 51303999;
const int LAYOUT_13POINT_360RA = 7534087;
const int LAYOUT_22POINT2 = 16777215;
const int LAYOUT_MONO_HAPTIC_A = 1073741825;
const int LAYOUT_STEREO_HAPTIC_A = 1073741827;
const int LAYOUT_HAPTIC_AB = 1610612736;
const int LAYOUT_MONO_HAPTIC_AB = 1610612737;
const int LAYOUT_STEREO_HAPTIC_AB = 1610612739;
const int LAYOUT_FRONT_BACK = 260;
const int INTERLEAVE_LEFT = 0;
const int INTERLEAVE_RIGHT = 1;
const int CHANNEL_FRONT_LEFT = 1;
const int CHANNEL_FRONT_RIGHT = 2;
const int CHANNEL_FRONT_CENTER = 4;
const int CHANNEL_LOW_FREQUENCY = 8;
const int CHANNEL_BACK_LEFT = 16;
const int CHANNEL_BACK_RIGHT = 32;
const int CHANNEL_FRONT_LEFT_OF_CENTER = 64;
const int CHANNEL_FRONT_RIGHT_OF_CENTER = 128;
const int CHANNEL_BACK_CENTER = 256;
const int CHANNEL_SIDE_LEFT = 512;
const int CHANNEL_SIDE_RIGHT = 1024;
const int CHANNEL_TOP_CENTER = 2048;
const int CHANNEL_TOP_FRONT_LEFT = 4096;
const int CHANNEL_TOP_FRONT_CENTER = 8192;
const int CHANNEL_TOP_FRONT_RIGHT = 16384;
const int CHANNEL_TOP_BACK_LEFT = 32768;
const int CHANNEL_TOP_BACK_CENTER = 65536;
const int CHANNEL_TOP_BACK_RIGHT = 131072;
const int CHANNEL_TOP_SIDE_LEFT = 262144;
const int CHANNEL_TOP_SIDE_RIGHT = 524288;
const int CHANNEL_BOTTOM_FRONT_LEFT = 1048576;
const int CHANNEL_BOTTOM_FRONT_CENTER = 2097152;
const int CHANNEL_BOTTOM_FRONT_RIGHT = 4194304;
const int CHANNEL_LOW_FREQUENCY_2 = 8388608;
const int CHANNEL_FRONT_WIDE_LEFT = 16777216;
const int CHANNEL_FRONT_WIDE_RIGHT = 33554432;
const int CHANNEL_HAPTIC_B = 536870912;
const int CHANNEL_HAPTIC_A = 1073741824;
const int VOICE_UPLINK_MONO = 16384;
const int VOICE_DNLINK_MONO = 32768;
const int VOICE_CALL_MONO = 49152;
const int CHANNEL_VOICE_UPLINK = 16384;
const int CHANNEL_VOICE_DNLINK = 32768;
}

View File

@ -1,41 +0,0 @@
/*
* Copyright (C) 2019 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 AudioConfig {
android.media.audio.common.AudioConfigBase base;
android.media.audio.common.AudioOffloadInfo offloadInfo;
long frameCount;
}

View File

@ -1,41 +0,0 @@
/*
* 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 AudioConfigBase {
int sampleRate;
android.media.audio.common.AudioChannelLayout channelMask;
android.media.audio.common.AudioFormatDescription format;
}

View File

@ -1,44 +0,0 @@
/*
* 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 */
@Backing(type="int") @VintfStability
enum AudioContentType {
UNKNOWN = 0,
SPEECH = 1,
MUSIC = 2,
MOVIE = 3,
SONIFICATION = 4,
ULTRASOUND = 1997,
}

View File

@ -1,40 +0,0 @@
/*
* 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;
android.media.audio.common.AudioDeviceAddress address;
}

View File

@ -1,43 +0,0 @@
/*
* 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
union AudioDeviceAddress {
@utf8InCpp String id;
byte[] mac;
byte[] ipv4;
int[] ipv6;
int[] alsa;
}

View File

@ -1,52 +0,0 @@
/*
* 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_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_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";
}

View File

@ -1,71 +0,0 @@
/*
* 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,
IN_DOCK = 14,
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,
OUT_DOCK = 145,
OUT_BROADCAST = 146,
}

View File

@ -1,41 +0,0 @@
/*
* 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 */
@Backing(type="int") @VintfStability
enum AudioEncapsulationMetadataType {
NONE = 0,
FRAMEWORK_TUNER = 1,
DVB_AD_DESCRIPTOR = 2,
}

View File

@ -1,42 +0,0 @@
/*
* 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 */
@Backing(type="byte") @VintfStability
enum AudioEncapsulationMode {
INVALID = -1,
NONE = 0,
ELEMENTARY_STREAM = 1,
HANDLE = 2,
}

View File

@ -1,40 +0,0 @@
/*
* 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 AudioEncapsulationType {
NONE = 0,
IEC61937 = 1,
}

View File

@ -1,41 +0,0 @@
/*
* 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 AudioFormatDescription {
android.media.audio.common.AudioFormatType type = android.media.audio.common.AudioFormatType.DEFAULT;
android.media.audio.common.PcmType pcm = android.media.audio.common.PcmType.DEFAULT;
@utf8InCpp String encoding;
}

View File

@ -1,42 +0,0 @@
/*
* 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="byte") @VintfStability
enum AudioFormatType {
DEFAULT = 0,
NON_PCM = 0,
PCM = 1,
SYS_RESERVED_INVALID = -1,
}

View File

@ -1,47 +0,0 @@
/*
* 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 AudioGain {
int mode;
android.media.audio.common.AudioChannelLayout channelMask;
int minValue;
int maxValue;
int defaultValue;
int stepValue;
int minRampMs;
int maxRampMs;
boolean useForVolume;
}

View File

@ -1,43 +0,0 @@
/*
* 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 AudioGainConfig {
int index;
int mode;
android.media.audio.common.AudioChannelLayout channelMask;
int[] values;
int rampDurationMs;
}

View File

@ -1,41 +0,0 @@
/*
* 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="byte") @VintfStability
enum AudioGainMode {
JOINT = 0,
CHANNELS = 1,
RAMP = 2,
}

View File

@ -1,47 +0,0 @@
/*
* 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 AudioInputFlags {
FAST = 0,
HW_HOTWORD = 1,
RAW = 2,
SYNC = 3,
MMAP_NOIRQ = 4,
VOIP_TX = 5,
HW_AV_SYNC = 6,
DIRECT = 7,
ULTRASOUND = 8,
}

View File

@ -1,40 +0,0 @@
/*
* 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
union AudioIoFlags {
int input;
int output;
}

View File

@ -1,42 +0,0 @@
/*
* 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 AudioMMapPolicy {
UNSPECIFIED = 0,
NEVER = 1,
AUTO = 2,
ALWAYS = 3,
}

View File

@ -1,40 +0,0 @@
/*
* 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 AudioMMapPolicyInfo {
android.media.audio.common.AudioDevice device;
android.media.audio.common.AudioMMapPolicy mmapPolicy = android.media.audio.common.AudioMMapPolicy.UNSPECIFIED;
}

View File

@ -1,40 +0,0 @@
/*
* 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 AudioMMapPolicyType {
DEFAULT = 1,
EXCLUSIVE = 2,
}

View File

@ -1,47 +0,0 @@
/*
* 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 */
@Backing(type="int") @VintfStability
enum AudioMode {
SYS_RESERVED_INVALID = -2,
SYS_RESERVED_CURRENT = -1,
NORMAL = 0,
RINGTONE = 1,
IN_CALL = 2,
IN_COMMUNICATION = 3,
CALL_SCREEN = 4,
SYS_RESERVED_CALL_REDIRECT = 5,
SYS_RESERVED_COMMUNICATION_REDIRECT = 6,
}

View File

@ -1,50 +0,0 @@
/*
* Copyright (C) 2019 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 AudioOffloadInfo {
android.media.audio.common.AudioConfigBase base;
android.media.audio.common.AudioStreamType streamType = android.media.audio.common.AudioStreamType.INVALID;
int bitRatePerSecond;
long durationUs;
boolean hasVideo;
boolean isStreaming;
int bitWidth = 16;
int offloadBufferSize;
android.media.audio.common.AudioUsage usage = android.media.audio.common.AudioUsage.INVALID;
android.media.audio.common.AudioEncapsulationMode encapsulationMode = android.media.audio.common.AudioEncapsulationMode.INVALID;
int contentId;
int syncId;
}

View File

@ -1,56 +0,0 @@
/*
* 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 AudioOutputFlags {
DIRECT = 0,
PRIMARY = 1,
FAST = 2,
DEEP_BUFFER = 3,
COMPRESS_OFFLOAD = 4,
NON_BLOCKING = 5,
HW_AV_SYNC = 6,
TTS = 7,
RAW = 8,
SYNC = 9,
IEC958_NONAUDIO = 10,
DIRECT_PCM = 11,
MMAP_NOIRQ = 12,
VOIP_RX = 13,
INCALL_MUSIC = 14,
GAPLESS_OFFLOAD = 15,
SPATIALIZER = 16,
ULTRASOUND = 17,
}

View File

@ -1,45 +0,0 @@
/*
* 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 AudioPort {
int id;
@utf8InCpp String name;
android.media.audio.common.AudioProfile[] profiles;
android.media.audio.common.AudioIoFlags flags;
android.media.audio.common.ExtraAudioDescriptor[] extraAudioDescriptors;
android.media.audio.common.AudioGain[] gains;
android.media.audio.common.AudioPortExt ext;
}

View File

@ -1,46 +0,0 @@
/*
* 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 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;
@nullable android.media.audio.common.AudioGainConfig gain;
@nullable android.media.audio.common.AudioIoFlags flags;
android.media.audio.common.AudioPortExt ext;
}

View File

@ -1,42 +0,0 @@
/*
* 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 AudioPortDeviceExt {
android.media.audio.common.AudioDevice device;
int flags;
android.media.audio.common.AudioFormatDescription[] encodedFormats;
const int FLAG_INDEX_DEFAULT_DEVICE = 0;
}

View File

@ -1,42 +0,0 @@
/*
* 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
union AudioPortExt {
boolean unspecified;
android.media.audio.common.AudioPortDeviceExt device;
android.media.audio.common.AudioPortMixExt mix;
int session;
}

View File

@ -1,43 +0,0 @@
/*
* 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 AudioPortMixExt {
int handle;
android.media.audio.common.AudioPortMixExtUseCase usecase;
int maxOpenStreamCount;
int maxActiveStreamCount;
int recommendedMuteDurationMs;
}

View File

@ -1,41 +0,0 @@
/*
* 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
union AudioPortMixExtUseCase {
boolean unspecified;
android.media.audio.common.AudioStreamType stream;
android.media.audio.common.AudioSource source;
}

View File

@ -1,43 +0,0 @@
/*
* 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 AudioProfile {
@utf8InCpp String name;
android.media.audio.common.AudioFormatDescription format;
android.media.audio.common.AudioChannelLayout[] channelMasks;
int[] sampleRates;
android.media.audio.common.AudioEncapsulationType encapsulationType = android.media.audio.common.AudioEncapsulationType.NONE;
}

View File

@ -1,54 +0,0 @@
/*
* 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 */
@Backing(type="int") @VintfStability
enum AudioSource {
SYS_RESERVED_INVALID = -1,
DEFAULT = 0,
MIC = 1,
VOICE_UPLINK = 2,
VOICE_DOWNLINK = 3,
VOICE_CALL = 4,
CAMCORDER = 5,
VOICE_RECOGNITION = 6,
VOICE_COMMUNICATION = 7,
REMOTE_SUBMIX = 8,
UNPROCESSED = 9,
VOICE_PERFORMANCE = 10,
ECHO_REFERENCE = 1997,
FM_TUNER = 1998,
HOTWORD = 1999,
ULTRASOUND = 2000,
}

View File

@ -1,40 +0,0 @@
/*
* 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 AudioStandard {
NONE = 0,
EDID = 1,
}

View File

@ -1,55 +0,0 @@
/*
* Copyright (C) 2019 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 AudioStreamType {
INVALID = -2,
SYS_RESERVED_DEFAULT = -1,
VOICE_CALL = 0,
SYSTEM = 1,
RING = 2,
MUSIC = 3,
ALARM = 4,
NOTIFICATION = 5,
BLUETOOTH_SCO = 6,
ENFORCED_AUDIBLE = 7,
DTMF = 8,
TTS = 9,
ACCESSIBILITY = 10,
ASSISTANT = 11,
SYS_RESERVED_REROUTING = 12,
SYS_RESERVED_PATCH = 13,
CALL_ASSISTANT = 14,
}

View File

@ -1,61 +0,0 @@
/*
* Copyright (C) 2019 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 AudioUsage {
INVALID = -1,
UNKNOWN = 0,
MEDIA = 1,
VOICE_COMMUNICATION = 2,
VOICE_COMMUNICATION_SIGNALLING = 3,
ALARM = 4,
NOTIFICATION = 5,
NOTIFICATION_TELEPHONY_RINGTONE = 6,
SYS_RESERVED_NOTIFICATION_COMMUNICATION_REQUEST = 7,
SYS_RESERVED_NOTIFICATION_COMMUNICATION_INSTANT = 8,
SYS_RESERVED_NOTIFICATION_COMMUNICATION_DELAYED = 9,
NOTIFICATION_EVENT = 10,
ASSISTANCE_ACCESSIBILITY = 11,
ASSISTANCE_NAVIGATION_GUIDANCE = 12,
ASSISTANCE_SONIFICATION = 13,
GAME = 14,
VIRTUAL_SOURCE = 15,
ASSISTANT = 16,
CALL_ASSISTANT = 17,
EMERGENCY = 1000,
SAFETY = 1001,
VEHICLE_STATUS = 1002,
ANNOUNCEMENT = 1003,
}

View File

@ -1,43 +0,0 @@
/*
* 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 AudioUuid {
int timeLow;
int timeMid;
int timeHiAndVersion;
int clockSeq;
byte[] node;
}

Some files were not shown because too many files have changed in this diff Show More