2 * Copyright (c) 2011-2015 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 #ifndef __VCD_RECORDER_H__
19 #define __VCD_RECORDER_H__
28 VCD_RECORDER_STATE_READY, /**< Recorder is ready to start */
29 VCD_RECORDER_STATE_RECORDING, /**< In the middle of recording */
30 } vcd_recorder_state_e;
33 typedef int (*vcd_recoder_audio_cb)(const void* data, const unsigned int length);
35 typedef void (*vcd_recorder_interrupt_cb)();
38 int vcd_recorder_create(vcd_recoder_audio_cb audio_cb, vcd_recorder_interrupt_cb interrupt_cb);
40 int vcd_recorder_destroy();
42 int vcd_recorder_set(const char* audio_type, vce_audio_type_e type, int rate, int channel);
44 int vcd_recorder_get(char** audio_type);
46 int vcd_recorder_set_audio_streaming_mode(vcd_audio_streaming_mode_e mode);
48 int vcd_recorder_start_streaming();
50 int vcd_recorder_send_streaming(const void* buffer, const unsigned int length);
52 int vcd_recorder_stop_streaming();
54 int vcd_recorder_change_system_volume();
56 int vcd_recorder_recover_system_volume();
58 int vcd_recorder_start();
60 int vcd_recorder_read();
62 int vcd_recorder_stop();
64 int vcd_recorder_get_state();
66 int vcd_recorder_set_pcm_path(const char *path);
72 #endif /* __VCD_RECORDER_H__ */