Add testcase for multimedia HAL APIs
[platform/core/multimedia/mm-hal-interface.git] / testcase / camera / camera_hal_interface.h
1 /*
2  * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved.
3  *
4  * Contact: Jeongmo Yang <jm80.yang@samsung.com>
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18
19 #include <tizen-camera.h>
20
21
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25
26 typedef struct _camera_hal_interface camera_hal_interface;
27
28 int camera_hal_interface_init(camera_hal_interface **h);
29 int camera_hal_interface_deinit(camera_hal_interface *h);
30 int camera_hal_interface_get_device_list(camera_hal_interface *h, camera_device_list_t *device_list);
31 int camera_hal_interface_open_device(camera_hal_interface *h, int device_index);
32 int camera_hal_interface_close_device(camera_hal_interface *h);
33 int camera_hal_interface_add_message_callback(camera_hal_interface *h, camera_message_cb callback, void *user_data, uint32_t *cb_id);
34 int camera_hal_interface_remove_message_callback(camera_hal_interface *h, uint32_t cb_id);
35 int camera_hal_interface_set_preview_stream_format(camera_hal_interface *h, camera_format_t *format);
36 int camera_hal_interface_get_preview_stream_format(camera_hal_interface *h, camera_format_t *format);
37 int camera_hal_interface_start_preview(camera_hal_interface *h, camera_preview_frame_cb callback, void *user_data);
38 int camera_hal_interface_release_preview_buffer(camera_hal_interface *h, int buffer_index);
39 int camera_hal_interface_stop_preview(camera_hal_interface *h);
40 int camera_hal_interface_start_auto_focus(camera_hal_interface *h);
41 int camera_hal_interface_stop_auto_focus(camera_hal_interface *h);
42 int camera_hal_interface_start_capture(camera_hal_interface *h, camera_capture_cb callback, void *user_data);
43 int camera_hal_interface_stop_capture(camera_hal_interface *h);
44 int camera_hal_interface_set_video_stream_format(camera_hal_interface *h, camera_format_t *format);
45 int camera_hal_interface_get_video_stream_format(camera_hal_interface *h, camera_format_t *format);
46 int camera_hal_interface_start_record(camera_hal_interface *h, camera_video_frame_cb callback, void *user_data);
47 int camera_hal_interface_release_video_buffer(camera_hal_interface *h, int buffer_index);
48 int camera_hal_interface_stop_record(camera_hal_interface *h);
49 int camera_hal_interface_set_command(camera_hal_interface *h, int64_t command, void *value);
50 int camera_hal_interface_get_command(camera_hal_interface *h, int64_t command, void *value);
51 int camera_hal_interface_set_batch_command(camera_hal_interface *h, camera_batch_command_control_t *batch_command, int64_t *error_command);
52
53 #ifdef __cplusplus
54 }
55 #endif
56