1 /*
2  * Copyright 2023 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package android.media.audio.common;
18 
19 /**
20  * Audio playback spatialization settings.
21  *
22  * {@hide}
23  */
24 @JavaDerive(equals=true, toString=true)
25 @VintfStability
26 parcelable Spatialization {
27     /**
28      * The spatialization level supported by the spatializer stage effect implementation.
29      * Used by methods of the ISpatializer interface.
30      * {@hide}
31      */
32     @Backing(type="byte")
33     enum Level {
34         /** Spatialization is disabled. */
35         NONE = 0,
36         /** The spatializer accepts audio with positional multichannel masks (e.g 5.1). */
37         MULTICHANNEL = 1,
38         /**
39          * The spatializer accepts audio made of a channel bed of positional multichannels
40          * (e.g 5.1) and audio objects positioned independently via meta data.
41          */
42         BED_PLUS_OBJECTS = 2,
43     }
44 
45     /**
46      * The spatialization mode supported by the spatializer stage effect implementation.
47      * Used by methods of the ISpatializer interface.
48      * {@hide}
49      */
50     @Backing(type="byte")
51     enum Mode {
52         /** The spatializer supports binaural mode (over headphones type devices). */
53         BINAURAL = 0,
54         /** The spatializer supports transaural mode (over speaker type devices). */
55         TRANSAURAL = 1,
56     }
57 }
58