From d2522b0baa0e3db7b17de26505cd9ad3d1dd42ab Mon Sep 17 00:00:00 2001 From: Jeongmo Yang Date: Thu, 26 Apr 2018 18:05:33 +0900 Subject: [PATCH] [tizencamerasrc] Update build settings - Remove camera_hal_interface.* sources from tizencamerasrc - Change build requirement - Remove unused dependency [Version] 1.0.0-57 [Profile] Common [Issue Type] Update [Dependency module] mm-hal-interface Change-Id: I36b4492b96e0342a4d581803ccba91fe8b07063a Signed-off-by: Jeongmo Yang --- configure.ac | 6 +- packaging/gst-plugins-tizen.spec | 5 +- tizencamerasrc/src/Makefile.am | 7 +- tizencamerasrc/src/camera_hal_interface.c | 570 ---------------------- tizencamerasrc/src/include/camera_hal_interface.h | 54 -- 5 files changed, 8 insertions(+), 634 deletions(-) delete mode 100644 tizencamerasrc/src/camera_hal_interface.c delete mode 100644 tizencamerasrc/src/include/camera_hal_interface.h diff --git a/configure.ac b/configure.ac index 17703ba..0c91739 100644 --- a/configure.ac +++ b/configure.ac @@ -451,9 +451,9 @@ AC_ARG_ENABLE(tizencamerasrc, AC_HELP_STRING([--enable-tizencamerasrc], [using t [GST_TIZEN_USE_TIZENCAMERASRC=yes]) AM_CONDITIONAL([GST_TIZEN_USE_TIZENCAMERASRC], [test "x$GST_TIZEN_USE_TIZENCAMERASRC" = "xyes"]) if test "x$GST_TIZEN_USE_TIZENCAMERASRC" = "xyes"; then -PKG_CHECK_MODULES(DLOG, dlog) -AC_SUBST(DLOG_CFLAGS) -AC_SUBST(DLOG_LIBS) +PKG_CHECK_MODULES(CAMERA_HAL_INTERFACE, camera-hal-interface) +AC_SUBST(CAMERA_HAL_INTERFACE_CFLAGS) +AC_SUBST(CAMERA_HAL_INTERFACE_LIBS) fi AC_OUTPUT( diff --git a/packaging/gst-plugins-tizen.spec b/packaging/gst-plugins-tizen.spec index 79480ef..cbad4bb 100644 --- a/packaging/gst-plugins-tizen.spec +++ b/packaging/gst-plugins-tizen.spec @@ -9,7 +9,7 @@ Name: gst-plugins-tizen Version: 1.0.0 Summary: GStreamer tizen plugins (common) -Release: 56 +Release: 57 Group: Multimedia/Framework Url: http://gstreamer.freedesktop.org/ License: LGPL-2.1+ @@ -44,8 +44,7 @@ BuildRequires: pkgconfig(wayland-tbm-client) BuildRequires: pkgconfig(tizen-extension-client) %endif # for tizencamerasrc -#BuildRequires: pkgconfig(dlog) -#BuildRequires: mm-hal-interface +#BuildRequires: pkgconfig(camera-hal-interface) %description GStreamer tizen plugins (common) diff --git a/tizencamerasrc/src/Makefile.am b/tizencamerasrc/src/Makefile.am index 4396a7d..b9642f8 100644 --- a/tizencamerasrc/src/Makefile.am +++ b/tizencamerasrc/src/Makefile.am @@ -5,25 +5,24 @@ plugin_LTLIBRARIES = libgsttizencamerasrc.la # sources used to compile this plug-in libgsttizencamerasrc_la_SOURCES = gsttizencamerasrc.c \ gsttizencamerasrccontrol.c \ - gsttizencamerasrccolorbalance.c \ - camera_hal_interface.c + gsttizencamerasrccolorbalance.c libgsttizencamerasrc_la_CFLAGS = -I$(srcdir)/include \ + $(CAMERA_HAL_INTERFACE_CFLAGS) \ $(GST_CFLAGS) \ $(GST_BASE_CFLAGS) \ $(GST_VIDEO_FLAGS) \ $(MMCOMMON_CFLAGS) \ $(MMUTIL_JPEG_CFLAGS) \ - $(DLOG_CFLAGS) \ $(TBM_CFLAGS) libgsttizencamerasrc_la_LIBADD = -ldl -lpthread -lrt -lm \ + $(CAMERA_HAL_INTERFACE_LIBS) \ $(GST_LIBS) \ $(GST_BASE_LIBS) \ $(GST_VIDEO_LIBS) \ $(MMCOMMON_LIBS) \ $(MMUTIL_JPEG_LIBS) \ - $(DLOG_LIBS) \ $(TBM_LIBS) libgsttizencamerasrc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) diff --git a/tizencamerasrc/src/camera_hal_interface.c b/tizencamerasrc/src/camera_hal_interface.c deleted file mode 100644 index bc77b6e..0000000 --- a/tizencamerasrc/src/camera_hal_interface.c +++ /dev/null @@ -1,570 +0,0 @@ -/* - * camera_hal_interface.c - * - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * Contact: Jeongmo Yang - * - * This library is free software; you can redistribute it and/or modify it under - * the terms of the GNU Lesser General Public License as published by the - * Free Software Foundation; either version 2.1 of the License, or (at your option) - * any later version. - * - * This library is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public - * License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library; if not, write to the Free Software Foundation, Inc., 51 - * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include -#include "camera_hal_interface.h" - -#ifdef LOG_TAG -#undef LOG_TAG -#endif /* LOG_TAG */ -#define LOG_TAG "CAMERA_HAL_INTF" - -#define LIB_TIZEN_CAMERA "libtizen-camera.so" - -struct _camera_hal_interface { - void *dl_handle; - void *hal_handle; - camera_interface_t intf; -}; - -int camera_hal_interface_init(camera_hal_interface **h) -{ - int ret = CAMERA_ERROR_NONE; - camera_hal_interface *tmp_h = NULL; - - if (h == NULL) { - LOGE("invalid parameter for camera_hal_interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - tmp_h = g_new0(camera_hal_interface, 1); - if (tmp_h == NULL) { - LOGE("failed to allocate hal interface"); - return CAMERA_ERROR_OUT_OF_MEMORY; - } - - tmp_h->dl_handle = dlopen(LIB_TIZEN_CAMERA, RTLD_NOW); - if (tmp_h->dl_handle) { - tmp_h->intf.init = dlsym(tmp_h->dl_handle, "camera_init"); - tmp_h->intf.deinit = dlsym(tmp_h->dl_handle, "camera_deinit"); - tmp_h->intf.get_device_info_list = dlsym(tmp_h->dl_handle, "camera_get_device_info_list"); - tmp_h->intf.open_device = dlsym(tmp_h->dl_handle, "camera_open_device"); - tmp_h->intf.close_device = dlsym(tmp_h->dl_handle, "camera_close_device"); - tmp_h->intf.add_message_callback = dlsym(tmp_h->dl_handle, "camera_add_message_callback"); - tmp_h->intf.remove_message_callback = dlsym(tmp_h->dl_handle, "camera_remove_message_callback"); - tmp_h->intf.set_preview_stream_format = dlsym(tmp_h->dl_handle, "camera_set_preview_stream_format"); - tmp_h->intf.get_preview_stream_format = dlsym(tmp_h->dl_handle, "camera_get_preview_stream_format"); - tmp_h->intf.start_preview = dlsym(tmp_h->dl_handle, "camera_start_preview"); - tmp_h->intf.release_preview_buffer = dlsym(tmp_h->dl_handle, "camera_release_preview_buffer"); - tmp_h->intf.stop_preview = dlsym(tmp_h->dl_handle, "camera_stop_preview"); - tmp_h->intf.start_auto_focus = dlsym(tmp_h->dl_handle, "camera_start_auto_focus"); - tmp_h->intf.stop_auto_focus = dlsym(tmp_h->dl_handle, "camera_stop_auto_focus"); - tmp_h->intf.start_capture = dlsym(tmp_h->dl_handle, "camera_start_capture"); - tmp_h->intf.stop_capture = dlsym(tmp_h->dl_handle, "camera_stop_capture"); - tmp_h->intf.set_video_stream_format = dlsym(tmp_h->dl_handle, "camera_set_video_stream_format"); - tmp_h->intf.get_video_stream_format = dlsym(tmp_h->dl_handle, "camera_get_video_stream_format"); - tmp_h->intf.start_record = dlsym(tmp_h->dl_handle, "camera_start_record"); - tmp_h->intf.release_video_buffer = dlsym(tmp_h->dl_handle, "camera_release_video_buffer"); - tmp_h->intf.stop_record = dlsym(tmp_h->dl_handle, "camera_stop_record"); - tmp_h->intf.set_command = dlsym(tmp_h->dl_handle, "camera_set_command"); - tmp_h->intf.get_command = dlsym(tmp_h->dl_handle, "camera_get_command"); - tmp_h->intf.set_batch_command = dlsym(tmp_h->dl_handle, "camera_set_batch_command"); - - if (tmp_h->intf.init == NULL || tmp_h->intf.deinit == NULL) { - LOGE("could not get mandatory function. %p %1p", tmp_h->intf.init, tmp_h->intf.deinit); - ret = CAMERA_ERROR_INTERNAL; - goto _CAMERA_HAL_INTERFACE_GET_FAILED; - } - - if (tmp_h->intf.init) { - ret = tmp_h->intf.init(&tmp_h->hal_handle); - if (ret != CAMERA_ERROR_NONE) { - LOGE("camera_init failed 0x%x", ret); - goto _CAMERA_HAL_INTERFACE_GET_FAILED; - } - } else { - LOGE("no camera_init function"); - ret = CAMERA_ERROR_INTERNAL; - goto _CAMERA_HAL_INTERFACE_GET_FAILED; - } - } else { - LOGE("dlopen failed [%s]", LIB_TIZEN_CAMERA); - ret = CAMERA_ERROR_INTERNAL; - goto _CAMERA_HAL_INTERFACE_GET_FAILED; - } - - *h = tmp_h; - - return ret; - -_CAMERA_HAL_INTERFACE_GET_FAILED: - if (tmp_h) { - if (tmp_h->dl_handle) - dlclose(tmp_h->dl_handle); - - g_free(tmp_h); - } - - return ret; -} - -int camera_hal_interface_deinit(camera_hal_interface *h) -{ - int ret = CAMERA_ERROR_NONE; - - if (h == NULL) { - LOGE("NULL interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - if (h->dl_handle) { - ret = h->intf.deinit(h->hal_handle); - if (ret != CAMERA_ERROR_NONE) { - LOGE("camera_deinit failed 0x%x", ret); - return ret; - } - - h->hal_handle = NULL; - - dlclose(h->dl_handle); - h->dl_handle = NULL; - } - - g_free(h); - - return CAMERA_ERROR_NONE; -} - -int camera_hal_interface_get_device_info_list(camera_hal_interface *h, camera_device_info_list_t *device_info_list) -{ - int ret = CAMERA_ERROR_NONE; - - if (h == NULL) { - LOGE("NULL interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - if (h->intf.get_device_info_list) { - ret = h->intf.get_device_info_list(device_info_list); - } else { - LOGE("camera_get_device_info_list not implemented"); - ret = CAMERA_ERROR_NOT_IMPLEMENTED; - } - - return ret; -} - -int camera_hal_interface_open_device(camera_hal_interface *h, int device_index) -{ - int ret = CAMERA_ERROR_NONE; - - if (h == NULL) { - LOGE("NULL interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - if (h->intf.open_device) { - ret = h->intf.open_device(h->hal_handle, device_index); - } else { - LOGE("camera_open_device not implemented"); - ret = CAMERA_ERROR_NOT_IMPLEMENTED; - } - - return ret; -} - -int camera_hal_interface_close_device(camera_hal_interface *h) -{ - int ret = CAMERA_ERROR_NONE; - - if (h == NULL) { - LOGE("NULL interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - if (h->intf.close_device) { - ret = h->intf.close_device(h->hal_handle); - } else { - LOGE("camera_close_device not implemented"); - ret = CAMERA_ERROR_NOT_IMPLEMENTED; - } - - return ret; -} - -int camera_hal_interface_add_message_callback(camera_hal_interface *h, camera_message_cb callback, void *user_data, uint32_t *cb_id) -{ - int ret = CAMERA_ERROR_NONE; - - if (h == NULL) { - LOGE("NULL interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - if (h->intf.add_message_callback) { - ret = h->intf.add_message_callback(h->hal_handle, callback, user_data, cb_id); - } else { - LOGE("camera_add_message_callback not implemented"); - ret = CAMERA_ERROR_NOT_IMPLEMENTED; - } - - return ret; -} - -int camera_hal_interface_remove_message_callback(camera_hal_interface *h, uint32_t cb_id) -{ - int ret = CAMERA_ERROR_NONE; - - if (h == NULL) { - LOGE("NULL interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - if (h->intf.remove_message_callback) { - ret = h->intf.remove_message_callback(h->hal_handle, cb_id); - } else { - LOGE("camera_remove_message_callback not implemented"); - ret = CAMERA_ERROR_NOT_IMPLEMENTED; - } - - return ret; -} - -int camera_hal_interface_set_preview_stream_format(camera_hal_interface *h, camera_format_t *format) -{ - int ret = CAMERA_ERROR_NONE; - - if (h == NULL) { - LOGE("NULL interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - if (h->intf.set_preview_stream_format) { - ret = h->intf.set_preview_stream_format(h->hal_handle, format); - } else { - LOGE("camera_set_preview_stream_format not implemented"); - ret = CAMERA_ERROR_NOT_IMPLEMENTED; - } - - return ret; -} - -int camera_hal_interface_get_preview_stream_format(camera_hal_interface *h, camera_format_t *format) -{ - int ret = CAMERA_ERROR_NONE; - - if (h == NULL) { - LOGE("NULL interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - if (h->intf.get_preview_stream_format) { - ret = h->intf.get_preview_stream_format(h->hal_handle, format); - } else { - LOGE("camera_get_preview_stream_format not implemented"); - ret = CAMERA_ERROR_NOT_IMPLEMENTED; - } - - return ret; -} - -int camera_hal_interface_start_preview(camera_hal_interface *h, camera_preview_frame_cb callback, void *user_data) -{ - int ret = CAMERA_ERROR_NONE; - - if (h == NULL) { - LOGE("NULL interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - if (h->intf.start_preview) { - ret = h->intf.start_preview(h->hal_handle, callback, user_data); - } else { - LOGE("camera_start_preview not implemented"); - ret = CAMERA_ERROR_NOT_IMPLEMENTED; - } - - return ret; -} - -int camera_hal_interface_release_preview_buffer(camera_hal_interface *h, int buffer_index) -{ - int ret = CAMERA_ERROR_NONE; - - if (h == NULL) { - LOGE("NULL interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - if (h->intf.release_preview_buffer) { - ret = h->intf.release_preview_buffer(h->hal_handle, buffer_index); - } else { - LOGE("camera_release_preview_buffer not implemented"); - ret = CAMERA_ERROR_NOT_IMPLEMENTED; - } - - return ret; -} - -int camera_hal_interface_stop_preview(camera_hal_interface *h) -{ - int ret = CAMERA_ERROR_NONE; - - if (h == NULL) { - LOGE("NULL interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - if (h->intf.stop_preview) { - ret = h->intf.stop_preview(h->hal_handle); - } else { - LOGE("camera_stop_preview not implemented"); - ret = CAMERA_ERROR_NOT_IMPLEMENTED; - } - - return ret; -} - -int camera_hal_interface_start_auto_focus(camera_hal_interface *h) -{ - int ret = CAMERA_ERROR_NONE; - - if (h == NULL) { - LOGE("NULL interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - if (h->intf.start_auto_focus) { - ret = h->intf.start_auto_focus(h->hal_handle); - } else { - LOGE("camera_start_auto_focus not implemented"); - ret = CAMERA_ERROR_NOT_IMPLEMENTED; - } - - return ret; -} - -int camera_hal_interface_stop_auto_focus(camera_hal_interface *h) -{ - int ret = CAMERA_ERROR_NONE; - - if (h == NULL) { - LOGE("NULL interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - if (h->intf.stop_auto_focus) { - ret = h->intf.stop_auto_focus(h->hal_handle); - } else { - LOGE("camera_stop_auto_focus not implemented"); - ret = CAMERA_ERROR_NOT_IMPLEMENTED; - } - - return ret; -} - -int camera_hal_interface_start_capture(camera_hal_interface *h, camera_capture_cb callback, void *user_data) -{ - int ret = CAMERA_ERROR_NONE; - - if (h == NULL) { - LOGE("NULL interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - if (h->intf.start_capture) { - ret = h->intf.start_capture(h->hal_handle, callback, user_data); - } else { - LOGE("camera_start_capture not implemented"); - ret = CAMERA_ERROR_NOT_IMPLEMENTED; - } - - return ret; -} - -int camera_hal_interface_stop_capture(camera_hal_interface *h) -{ - int ret = CAMERA_ERROR_NONE; - - if (h == NULL) { - LOGE("NULL interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - if (h->intf.stop_capture) { - ret = h->intf.stop_capture(h->hal_handle); - } else { - LOGE("camera_stop_capture not implemented"); - ret = CAMERA_ERROR_NOT_IMPLEMENTED; - } - - return ret; -} - -int camera_hal_interface_set_video_stream_format(camera_hal_interface *h, camera_format_t *format) -{ - int ret = CAMERA_ERROR_NONE; - - if (h == NULL) { - LOGE("NULL interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - if (h->intf.set_video_stream_format) { - ret = h->intf.set_video_stream_format(h->hal_handle, format); - } else { - LOGE("camera_set_video_stream_format not implemented"); - ret = CAMERA_ERROR_NOT_IMPLEMENTED; - } - - return ret; -} - -int camera_hal_interface_get_video_stream_format(camera_hal_interface *h, camera_format_t *format) -{ - int ret = CAMERA_ERROR_NONE; - - if (h == NULL) { - LOGE("NULL interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - if (h->intf.get_video_stream_format) { - ret = h->intf.get_video_stream_format(h->hal_handle, format); - } else { - LOGE("camera_get_video_stream_format not implemented"); - ret = CAMERA_ERROR_NOT_IMPLEMENTED; - } - - return ret; -} - -int camera_hal_interface_start_record(camera_hal_interface *h, camera_video_frame_cb callback, void *user_data) -{ - int ret = CAMERA_ERROR_NONE; - - if (h == NULL) { - LOGE("NULL interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - if (h->intf.start_record) { - ret = h->intf.start_record(h->hal_handle, callback, user_data); - } else { - LOGE("camera_start_record not implemented"); - ret = CAMERA_ERROR_NOT_IMPLEMENTED; - } - - return ret; -} - -int camera_hal_interface_release_video_buffer(camera_hal_interface *h, int buffer_index) -{ - int ret = CAMERA_ERROR_NONE; - - if (h == NULL) { - LOGE("NULL interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - if (h->intf.release_video_buffer) { - ret = h->intf.release_video_buffer(h->hal_handle, buffer_index); - } else { - LOGE("camera_release_video_buffer not implemented"); - ret = CAMERA_ERROR_NOT_IMPLEMENTED; - } - - return ret; -} - -int camera_hal_interface_stop_record(camera_hal_interface *h) -{ - int ret = CAMERA_ERROR_NONE; - - if (h == NULL) { - LOGE("NULL interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - if (h->intf.stop_record) { - ret = h->intf.stop_record(h->hal_handle); - } else { - LOGE("camera_stop_record not implemented"); - ret = CAMERA_ERROR_NOT_IMPLEMENTED; - } - - return ret; -} - -int camera_hal_interface_set_command(camera_hal_interface *h, int64_t command, void *value) -{ - int ret = CAMERA_ERROR_NONE; - - if (h == NULL) { - LOGE("NULL interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - if (h->intf.set_command) { - ret = h->intf.set_command(h->hal_handle, command, value); - } else { - LOGE("camera_set_command not implemented"); - ret = CAMERA_ERROR_NOT_IMPLEMENTED; - } - - return ret; -} - -int camera_hal_interface_get_command(camera_hal_interface *h, int64_t command, void *value) -{ - int ret = CAMERA_ERROR_NONE; - - if (h == NULL) { - LOGE("NULL interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - if (h->intf.get_command) { - ret = h->intf.get_command(h->hal_handle, command, value); - } else { - LOGE("camera_get_command not implemented"); - ret = CAMERA_ERROR_NOT_IMPLEMENTED; - } - - return ret; -} - -int camera_hal_interface_set_batch_command(camera_hal_interface *h, camera_batch_command_control_t *batch_command, int64_t *error_command) -{ - int ret = CAMERA_ERROR_NONE; - - if (h == NULL) { - LOGE("NULL interface"); - return CAMERA_ERROR_INVALID_PARAMETER; - } - - if (h->intf.set_batch_command) { - ret = h->intf.set_batch_command(h->hal_handle, batch_command, error_command); - } else { - LOGE("camera_set_batch_command not implemented"); - ret = CAMERA_ERROR_NOT_IMPLEMENTED; - } - - return ret; -} diff --git a/tizencamerasrc/src/include/camera_hal_interface.h b/tizencamerasrc/src/include/camera_hal_interface.h deleted file mode 100644 index 084cc27..0000000 --- a/tizencamerasrc/src/include/camera_hal_interface.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * camera_hal_interface.h - * - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved. - * - * Contact: Jeongmo Yang - * - * This library is free software; you can redistribute it and/or modify it under - * the terms of the GNU Lesser General Public License as published by the - * Free Software Foundation; either version 2.1 of the License, or (at your option) - * any later version. - * - * This library is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public - * License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library; if not, write to the Free Software Foundation, Inc., 51 - * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - - -#include - - - -typedef struct _camera_hal_interface camera_hal_interface; - -int camera_hal_interface_init(camera_hal_interface **h); -int camera_hal_interface_deinit(camera_hal_interface *h); -int camera_hal_interface_get_device_info_list(camera_hal_interface *h, camera_device_info_list_t *device_info_list); -int camera_hal_interface_open_device(camera_hal_interface *h, int device_index); -int camera_hal_interface_close_device(camera_hal_interface *h); -int camera_hal_interface_add_message_callback(camera_hal_interface *h, camera_message_cb callback, void *user_data, uint32_t *cb_id); -int camera_hal_interface_remove_message_callback(camera_hal_interface *h, uint32_t cb_id); -int camera_hal_interface_set_preview_stream_format(camera_hal_interface *h, camera_format_t *format); -int camera_hal_interface_get_preview_stream_format(camera_hal_interface *h, camera_format_t *format); -int camera_hal_interface_start_preview(camera_hal_interface *h, camera_preview_frame_cb callback, void *user_data); -int camera_hal_interface_release_preview_buffer(camera_hal_interface *h, int buffer_index); -int camera_hal_interface_stop_preview(camera_hal_interface *h); -int camera_hal_interface_start_auto_focus(camera_hal_interface *h); -int camera_hal_interface_stop_auto_focus(camera_hal_interface *h); -int camera_hal_interface_start_capture(camera_hal_interface *h, camera_capture_cb callback, void *user_data); -int camera_hal_interface_stop_capture(camera_hal_interface *h); -int camera_hal_interface_set_video_stream_format(camera_hal_interface *h, camera_format_t *format); -int camera_hal_interface_get_video_stream_format(camera_hal_interface *h, camera_format_t *format); -int camera_hal_interface_start_record(camera_hal_interface *h, camera_video_frame_cb callback, void *user_data); -int camera_hal_interface_release_video_buffer(camera_hal_interface *h, int buffer_index); -int camera_hal_interface_stop_record(camera_hal_interface *h); -int camera_hal_interface_set_command(camera_hal_interface *h, int64_t command, void *value); -int camera_hal_interface_get_command(camera_hal_interface *h, int64_t command, void *value); -int camera_hal_interface_set_batch_command(camera_hal_interface *h, camera_batch_command_control_t *batch_command, int64_t *error_command); -- 2.7.4