Add audio-in set/get volume
[platform/core/api/audio-io.git] / include / cpp_audio_io.h
1 /*
2  * Copyright (c) 2015 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 #ifndef __TIZEN_MEDIA_CPP_AUDIO_IO_H__
18 #define __TIZEN_MEDIA_CPP_AUDIO_IO_H__
19
20 #include "audio_io.h"
21
22
23 #ifdef __cplusplus
24
25
26 extern "C" {
27 #endif
28
29 int cpp_audio_in_create(int sample_rate, audio_channel_e channel, audio_sample_type_e type, audio_in_h *input);
30 int cpp_audio_in_destroy(audio_in_h input);
31 int cpp_audio_in_set_sound_stream_info(audio_in_h input, sound_stream_info_h stream_info);
32 int cpp_audio_in_prepare(audio_in_h input);
33 int cpp_audio_in_unprepare(audio_in_h input);
34 int cpp_audio_in_pause(audio_in_h input);
35 int cpp_audio_in_resume(audio_in_h input);
36 int cpp_audio_in_flush(audio_in_h input);
37 int cpp_audio_in_read(audio_in_h input, void *buffer, unsigned int length);
38 int cpp_audio_in_get_buffer_size(audio_in_h input, int *size);
39 int cpp_audio_in_get_sample_rate(audio_in_h input, int *sample_rate);
40 int cpp_audio_in_get_channel(audio_in_h input, audio_channel_e *channel);
41 int cpp_audio_in_get_sample_type(audio_in_h input, audio_sample_type_e *type);
42 int cpp_audio_in_set_stream_cb(audio_in_h input, audio_in_stream_cb callback, void* user_data);
43 int cpp_audio_in_unset_stream_cb(audio_in_h input);
44 int cpp_audio_in_peek(audio_in_h input, const void **buffer, unsigned int *length);
45 int cpp_audio_in_drop(audio_in_h input);
46 int cpp_audio_in_set_state_changed_cb(audio_in_h input, audio_in_state_changed_cb callback, void* user_data);
47 int cpp_audio_in_unset_state_changed_cb(audio_in_h input);
48 int cpp_audio_in_get_volume(audio_in_h input, double *volume);
49 int cpp_audio_in_set_volume(audio_in_h input, double volume);
50
51 int cpp_audio_out_create_new(int sample_rate, audio_channel_e channel, audio_sample_type_e type, audio_out_h *output);
52 int cpp_audio_out_destroy(audio_out_h output);
53 int cpp_audio_out_set_sound_stream_info(audio_out_h output, sound_stream_info_h stream_info);
54 int cpp_audio_out_prepare(audio_out_h output);
55 int cpp_audio_out_unprepare(audio_out_h output);
56 int cpp_audio_out_pause(audio_out_h output);
57 int cpp_audio_out_resume(audio_out_h output);
58 int cpp_audio_out_drain(audio_out_h output);
59 int cpp_audio_out_flush(audio_out_h output);
60 int cpp_audio_out_write(audio_out_h output, void *buffer, unsigned int length);
61 int cpp_audio_out_get_buffer_size(audio_out_h output, int *size);
62 int cpp_audio_out_get_sample_rate(audio_out_h output, int *sample_rate);
63 int cpp_audio_out_get_channel(audio_out_h output, audio_channel_e *channel);
64 int cpp_audio_out_get_sample_type(audio_out_h output, audio_sample_type_e *type);
65 int cpp_audio_out_get_sound_type(audio_out_h output, sound_type_e *type);
66 int cpp_audio_out_set_stream_cb(audio_out_h output, audio_out_stream_cb callback, void* user_data);
67 int cpp_audio_out_unset_stream_cb(audio_out_h output);
68 int cpp_audio_out_set_state_changed_cb(audio_out_h output, audio_in_state_changed_cb callback, void* user_data);
69 int cpp_audio_out_unset_state_changed_cb(audio_out_h output);
70
71 #ifdef __cplusplus
72 }
73 #endif
74
75 #endif /* __TIZEN_MEDIA_CPP_AUDIO_IO_H__ */