Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 04a84760 authored by Josh Wu's avatar Josh Wu
Browse files

Add necessary parcelables of metadata

This change partial upstream necessary
a.m.audio.common.types for aosp/1936041.

Bug: 203490261
Test: m android.hardware.audio.common
Change-Id: Ice160b3eb642245daaa47394b156fd1ebafab82b
Merged-In: I3331d7e3d76db50f5b3c4db57891a20e4f935ad8
parent de62afa9
Loading
Loading
Loading
Loading
+37 −1
Original line number Diff line number Diff line
@@ -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",
    ],
}

@@ -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,
            },
        },
    },
}
+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,
}
+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,
}
+105 −4
Original line number Diff line number Diff line
@@ -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
+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