4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Seungbae Shin <seungbae.shin@samsung.com>
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
12 * http://www.apache.org/licenses/LICENSE-2.0
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.
22 #ifndef __MM_SOUND_CLIENT_H__
23 #define __MM_SOUND_CLIENT_H__
25 #include "mm_sound_private.h"
26 #include "mm_sound_device.h"
28 //#define MEMTYPE_TRANS_PER_MAX (1024 * 1024) /* 1MB */
30 int MMSoundClientInit(void);
31 int MMSoundClientCallbackFini(void);
32 int MMSoundClientPlayTone(int number, int volume_config, double volume, int time, int *handle, bool enable_session);
33 int MMSoundClientPlaySound(MMSoundPlayParam *param, int tone, int keytone, int *handle);
34 int MMSoundClientStopSound(int handle);
35 int _mm_sound_client_is_route_available(mm_sound_route route, bool *is_available);
36 int _mm_sound_client_foreach_available_route_cb(mm_sound_available_route_cb, void *user_data);
37 int _mm_sound_client_set_active_route(mm_sound_route route, bool need_broadcast);
38 int _mm_sound_client_get_active_device(mm_sound_device_in *device_in, mm_sound_device_out *device_out);
39 int _mm_sound_client_add_active_device_changed_callback(const char *name, mm_sound_active_device_changed_cb func, void* user_data);
40 int _mm_sound_client_remove_active_device_changed_callback(const char *name);
41 int _mm_sound_client_add_available_route_changed_callback(mm_sound_available_route_changed_cb func, void* user_data);
42 int _mm_sound_client_remove_available_route_changed_callback(void);
43 int _mm_sound_client_add_volume_changed_callback(mm_sound_volume_changed_cb func, void* user_data);
44 int _mm_sound_client_remove_volume_changed_callback(void);
45 int _mm_sound_client_set_sound_path_for_active_device(mm_sound_device_out device_out, mm_sound_device_in device_in);
46 int _mm_sound_client_get_current_connected_device_list(int device_flgas, mm_sound_device_list_t **device_list);
47 int _mm_sound_client_add_device_connected_callback(int device_flags, mm_sound_device_connected_cb func, void* user_data);
48 int _mm_sound_client_remove_device_connected_callback(void);
49 int _mm_sound_client_add_device_info_changed_callback(int device_flags, mm_sound_device_info_changed_cb func, void* user_data);
50 int _mm_sound_client_remove_device_info_changed_callback(void);
53 int MMSoundClientIsBtA2dpOn (bool *connected, char** bt_name);
55 int _mm_sound_client_set_active_route_auto(void);
56 int _mm_sound_client_get_audio_path(mm_sound_device_in *device_in, mm_sound_device_out *device_out);
58 #endif /* __MM_SOUND_CLIENT_H__ */