Fix errors which are created by solving merge conflict
[platform/core/uifw/voice-control.git] / server / dependency_audio_manager.h
1 /**
2  * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17
18 #ifndef __DEPENDENCY_AUDIO_MANAGER_H__
19 #define __DEPENDENCY_AUDIO_MANAGER_H__
20
21 #include <tzplatform_config.h>
22 #include <sound_manager.h>
23 #include <vce.h>
24 #include <voice_control_manager.h>
25
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29
30 /**************************************************************************************
31  *** Definitions for dependencies
32  *************************************************************************************/
33 #define VCD_DEPENDENCY_MODULE_DIRECTORY_PATH tzplatform_mkpath(tzplatform_getid("TZ_SYS_RO_SHARE"), "voice/vc/1.0/dependency-audio-manager")
34 #ifdef TV_PRODUCT
35 #define VCD_DEPENDENCY_DEFAULT_FILENAME "libaudio-manager-vd.so"
36 #else
37 #define VCD_DEPENDENCY_DEFAULT_FILENAME "libvc-audio-manager.so"
38 #endif
39 #define VCD_DEPENDENCY_MODULE_NAME "db/voice/vc/dependency_module_name"
40
41
42 typedef int (*dependency_audio_manager_feed_audio_data)(const void* data, const unsigned int length);
43
44
45 #define VCD_DEPENDENCY_FUNC_INITIALIZE "vcd_dependency_initialize"
46 typedef int (*vcd_dependency_initialize)(sound_stream_info_h stream_info_h, dependency_audio_manager_feed_audio_data callback);
47 #define VCD_DEPENDENCY_FUNC_DEINITIALIZE "vcd_dependency_deinitialize"
48 typedef int (*vcd_dependency_deinitialize)(void);
49 #define VCD_DEPENDENCY_FUNC_SET_AUDIO_INFO "vcd_dependency_set_audio_info"
50 typedef int (*vcd_dependency_set_audio_info)(sound_stream_info_h stream_info_h, const char* audio_source_type, vce_audio_type_e type, int rate, int channel);
51 #define VCD_DEPENDENCY_FUNC_GET_AUDIO_SOURCE_TYPE "vcd_dependency_get_audio_source_type"
52 typedef int (*vcd_dependency_get_audio_source_type)(char** audio_source_type);
53 #define VCD_DEPENDENCY_FUNC_SET_STREAMING_MODE "vcd_dependency_set_streaming_mode"
54 typedef int (*vcd_dependency_set_streaming_mode)(vc_audio_streaming_mode_e mode);
55 #define VCD_DEPENDENCY_FUNC_START_RECORDING "vcd_dependency_start_recording"
56 typedef int (*vcd_dependency_start_recording)(void);
57 #define VCD_DEPENDENCY_FUNC_STOP_RECORDING "vcd_dependency_stop_recording"
58 typedef int (*vcd_dependency_stop_recording)(void);
59
60
61 typedef struct {
62         vcd_dependency_initialize                               initialize;
63         vcd_dependency_deinitialize                             deinitialize;
64         vcd_dependency_set_audio_info                   set_audio_info;
65         vcd_dependency_get_audio_source_type    get_audio_source_type;
66         vcd_dependency_set_streaming_mode               set_streaming_mode;
67         vcd_dependency_start_recording                  start_recording;
68         vcd_dependency_stop_recording                   stop_recording;
69 } vcd_dependency_module_interface;
70
71
72 int dependency_audio_manager_initialize(sound_stream_info_h stream_info_h, dependency_audio_manager_feed_audio_data callback);
73 int dependency_audio_manager_deinitialize(void);
74 int dependency_audio_manager_set_audio_info(sound_stream_info_h stream_info_h, const char* audio_source_type, vce_audio_type_e type, int rate, int channel);
75 int dependency_audio_manager_get_audio_source_type(char** audio_source_type);
76 int dependency_audio_manager_set_streaming_mode(vc_audio_streaming_mode_e mode);
77 int dependency_audio_manager_start_recording(void);
78 int dependency_audio_manager_stop_recording(void);
79
80
81 #ifdef __cplusplus
82 }
83 #endif
84
85 #endif /* __DEPENDENCY_AUDIO_MANAGER_H__ */