audio_route.h revision a8070c02abafdfdd6a125710b1002c096ca3aa39
1afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project/*
2afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * Copyright (C) 2013 The Android Open Source Project
3afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project *
4afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
5afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * you may not use this file except in compliance with the License.
6afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * You may obtain a copy of the License at
7afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project *
8afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
9afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project *
10afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software
11afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
12afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * See the License for the specific language governing permissions and
14afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project * limitations under the License.
15afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project */
16afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project
17afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project#ifndef AUDIO_ROUTE_H
18afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project#define AUDIO_ROUTE_H
19afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project
20afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project#if defined(__cplusplus)
21afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Projectextern "C" {
22afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project#endif
23afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project
24afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project/* Initialize and free the audio routes */
25afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Projectstruct audio_route *audio_route_init(unsigned int card, const char *xml_path);
26afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Projectvoid audio_route_free(struct audio_route *ar);
27afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project
28afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project/* Apply an audio route path by name */
2959091c08f4d0ad8f42013f58ce9bd23ac3306336Jake Hambyint audio_route_apply_path(struct audio_route *ar, const char *name);
30afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project
31afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project/* Apply and update mixer with audio route path by name */
32afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Projectint audio_route_apply_and_update_path(struct audio_route *ar, const char *name);
33afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project
34afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project/* Reset an audio route path by name */
35afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Projectint audio_route_reset_path(struct audio_route *ar, const char *name);
36afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project
37afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project/* Reset and update mixer with audio route path by name */
38afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Projectint audio_route_reset_and_update_path(struct audio_route *ar, const char *name);
39afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project
40afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project/* Reset the audio routes back to the initial state */
41afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Projectvoid audio_route_reset(struct audio_route *ar);
42afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project
43afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project/* Update the mixer with any changed values */
44afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Projectint audio_route_update_mixer(struct audio_route *ar);
45afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project
46afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project#if defined(__cplusplus)
47afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project}  /* extern "C" */
48afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project#endif
49afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project
50afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project#endif
51afc4ab2ffbb8327ddce9907961295a32cbf49d0fThe Android Open Source Project