/* * Copyright (C) 2017 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. */ syntax = "proto2"; option java_multiple_files = true; package android.media; import "frameworks/base/core/proto/android/privacy.proto"; /** * An android.media.AudioAttributes object. */ message AudioAttributesProto { option (android.msg_privacy).dest = DEST_AUTOMATIC; optional Usage usage = 1; optional ContentType content_type = 2; // Bit representation of set flags. optional int32 flags = 3; repeated string tags = 4 [ (android.privacy).dest = DEST_EXPLICIT ]; } enum ContentType { // Content type value to use when the content type is unknown, or other than // the ones defined. CONTENT_TYPE_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; } enum Usage { // Usage value to use when the usage is unknown. USAGE_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. Other notification // usages are for more specialized uses. NOTIFICATION = 5; // Usage value to use when the usage is telephony ringtone. NOTIFICATION_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. NOTIFICATION_COMMUNICATION_REQUEST = 7; // Usage value to use when the usage is notification for an "instant" // communication such as a chat, or SMS. NOTIFICATION_COMMUNICATION_INSTANT = 8; // Usage value to use when the usage is notification for a non-immediate // type of communication such as e-mail. 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; }