2 * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved.
4 * Contact: Jeongmo Yang <jm80.yang@samsung.com>
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
10 * http://www.apache.org/licenses/LICENSE-2.0
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.
19 #include <tizen-camera.h>
26 typedef struct _camera_hal_interface camera_hal_interface;
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);