Loading media/Android.bp +37 −1 Original line number Diff line number Diff line Loading @@ -20,7 +20,9 @@ aidl_interface { "aidl/android/media/audio/common/AudioFormat.aidl", "aidl/android/media/audio/common/AudioOffloadInfo.aidl", "aidl/android/media/audio/common/AudioStreamType.aidl", "aidl/android/media/audio/common/AudioUsage.aidl", ], imports: [ "android.media.audio.common.types", ], } Loading Loading @@ -67,3 +69,37 @@ 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/AudioContentType.aidl", "aidl/android/media/audio/common/AudioSource.aidl", "aidl/android/media/audio/common/AudioUsage.aidl", ], stability: "vintf", backend: { cpp: { min_sdk_version: "29", apex_available: [ "//apex_available:platform", "com.android.media", ], }, java: { }, ndk: { vndk: { enabled: true, }, }, }, } media/aidl/android/media/audio/common/AudioContentType.aidl 0 → 100644 +53 −0 Original line number Diff line number Diff line /* * 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, } media/aidl/android/media/audio/common/AudioSource.aidl 0 → 100644 +90 −0 Original line number Diff line number Diff line /* * 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, } media/aidl/android/media/audio/common/AudioUsage.aidl +105 −4 Original line number Diff line number Diff line Loading @@ -14,27 +14,128 @@ * limitations under the License. */ // This file has been semi-automatically generated using hidl2aidl from its counterpart in // hardware/interfaces/audio/common/5.0/types.hal 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, } No newline at end of file media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioContentType.aidl 0 → 100644 +43 −0 Original line number Diff line number Diff line /* * 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, } Loading
media/Android.bp +37 −1 Original line number Diff line number Diff line Loading @@ -20,7 +20,9 @@ aidl_interface { "aidl/android/media/audio/common/AudioFormat.aidl", "aidl/android/media/audio/common/AudioOffloadInfo.aidl", "aidl/android/media/audio/common/AudioStreamType.aidl", "aidl/android/media/audio/common/AudioUsage.aidl", ], imports: [ "android.media.audio.common.types", ], } Loading Loading @@ -67,3 +69,37 @@ 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/AudioContentType.aidl", "aidl/android/media/audio/common/AudioSource.aidl", "aidl/android/media/audio/common/AudioUsage.aidl", ], stability: "vintf", backend: { cpp: { min_sdk_version: "29", apex_available: [ "//apex_available:platform", "com.android.media", ], }, java: { }, ndk: { vndk: { enabled: true, }, }, }, }
media/aidl/android/media/audio/common/AudioContentType.aidl 0 → 100644 +53 −0 Original line number Diff line number Diff line /* * 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, }
media/aidl/android/media/audio/common/AudioSource.aidl 0 → 100644 +90 −0 Original line number Diff line number Diff line /* * 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, }
media/aidl/android/media/audio/common/AudioUsage.aidl +105 −4 Original line number Diff line number Diff line Loading @@ -14,27 +14,128 @@ * limitations under the License. */ // This file has been semi-automatically generated using hidl2aidl from its counterpart in // hardware/interfaces/audio/common/5.0/types.hal 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, } No newline at end of file
media/aidl_api/android.media.audio.common.types/current/android/media/audio/common/AudioContentType.aidl 0 → 100644 +43 −0 Original line number Diff line number Diff line /* * 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, }