Rebase code with tizen 2.3 with following additional changes
[platform/core/multimedia/libmm-sound.git] / include / mm_sound_utils.h
1 /*
2  * libmm-sound
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Seungbae Shin <seungbae.shin@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  */
21
22 /**
23  * @file                mm_sound_utils.h
24  * @brief               Internal utility library for sound module.
25  * @date
26  * @version             Release
27  *
28  * Internal utility library for sound module.
29  */
30
31 #ifndef __MM_SOUND_UTILS_H__
32 #define __MM_SOUND_UTILS_H__
33
34 #include <mm_types.h>
35 #include <mm_error.h>
36
37 #include "../include/mm_sound.h"
38
39 #ifdef __cplusplus
40         extern "C" {
41 #endif
42
43 int _mm_sound_get_valid_route_list(mm_sound_route **route_list);
44 bool _mm_sound_is_route_valid(mm_sound_route route);
45 void _mm_sound_get_devices_from_route(mm_sound_route route, mm_sound_device_in *device_in, mm_sound_device_out *device_out);
46 bool _mm_sound_check_hibernation (const char *path);
47 int _mm_sound_volume_add_callback(volume_type_t type, void *func, void* user_data);
48 int _mm_sound_volume_remove_callback(volume_type_t type, void *func);
49 int _mm_sound_volume_get_value_by_type(volume_type_t type, unsigned int *value);
50 int _mm_sound_volume_set_value_by_type(volume_type_t type, unsigned int value);
51 int _mm_sound_muteall_add_callback(void *func);
52 int _mm_sound_muteall_remove_callback(void *func);
53 int _mm_sound_volume_set_balance(float balance);
54 int _mm_sound_volume_get_balance(float *balance);
55 int _mm_sound_set_muteall(int muteall);
56 int _mm_sound_get_muteall(int *muteall);
57 int _mm_sound_set_stereo_to_mono(int ismono);
58 int _mm_sound_get_stereo_to_mono(int *ismono);
59 int _mm_sound_get_earjack_type (int *type);
60 int _mm_sound_get_dock_type (int *type);
61 mm_sound_device_in _mm_sound_get_device_in_from_path (int path);
62 mm_sound_device_out _mm_sound_get_device_out_from_path (int path);
63
64 bool _mm_sound_is_recording (void);
65 bool _mm_sound_is_mute_policy (void);
66
67 #ifdef __cplusplus
68 }
69 #endif
70
71 #endif /* __MM_SOUND_UTILS_H__ */
72