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