aboutsummaryrefslogtreecommitdiff
path: root/car-lib/src/android/car/media/ICarAudio.aidl
blob: 353c1680a0fa7d3731bef162d28823f1b29dd961 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*
 * Copyright (C) 2015 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.car.media;

import android.car.media.CarAudioPatchHandle;

/**
 * Binder interface for {@link android.car.media.CarAudioManager}.
 * Check {@link android.car.media.CarAudioManager} APIs for expected behavior of each call.
 *
 * @hide
 */
interface ICarAudio {
    void setGroupVolume(int groupId, int index, int flags);
    int getGroupMaxVolume(int groupId);
    int getGroupMinVolume(int groupId);
    int getGroupVolume(int groupId);

    void setFadeTowardFront(float value);
    void setBalanceTowardRight(float value);

    String[] getExternalSources();
    CarAudioPatchHandle createAudioPatch(in String sourceAddress, int usage, int gainInMillibels);
    void releaseAudioPatch(in CarAudioPatchHandle patch);

    int getVolumeGroupCount();
    int getVolumeGroupIdForUsage(int usage);
    int[] getUsagesForVolumeGroupId(int groupId);

    /**
     * IBinder is ICarVolumeCallback but passed as IBinder due to aidl hidden.
     */
    void registerVolumeCallback(in IBinder binder);
    void unregisterVolumeCallback(in IBinder binder);
}