[tizencamerasrc] Support control for focus level 21/258321/1 accepted/tizen/unified/20210602.122530 submit/tizen/20210531.033817
authorJeongmo Yang <jm80.yang@samsung.com>
Thu, 13 May 2021 11:05:37 +0000 (20:05 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Thu, 13 May 2021 11:07:23 +0000 (20:07 +0900)
- Minor change
 : Fix type of parameter for hal_camera_get_command()

[Version] 1.16.2-28
[Issue Type] New feature

Change-Id: I9ba78b59966e3a19bdf26f2ee87a072254321c64
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
packaging/gst-plugins-tizen.spec
tizencamerasrc/src/gsttizencamerasrccontrol.c

index d547880..fb749ee 100644 (file)
@@ -5,7 +5,7 @@
 Name:       gst-plugins-tizen
 Version:    1.16.2
 Summary:    GStreamer tizen plugins (common)
-Release:    27
+Release:    28
 Group:      Multimedia/Framework
 Url:        http://gstreamer.freedesktop.org/
 License:    LGPL-2.1+
index ad1d1d6..61a9b94 100644 (file)
@@ -191,13 +191,13 @@ gboolean gst_tizencamerasrc_control_get_exposure(GstTizenCameraSrc *camerasrc, g
     }
     break;
   case GST_CAMERA_CONTROL_ISO:
-    ret = hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_ISO, (void **)value1);
+    ret = hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_ISO, (void **)&value1);
     break;
   case GST_CAMERA_CONTROL_PROGRAM_MODE:
-    ret = hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_SCENE_MODE, (void **)value1);
+    ret = hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_SCENE_MODE, (void **)&value1);
     break;
   case GST_CAMERA_CONTROL_EXPOSURE_MODE:
-    ret = hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_EXPOSURE_MODE, (void **)value1);
+    ret = hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_EXPOSURE_MODE, (void **)&value1);
     break;
   case GST_CAMERA_CONTROL_EXPOSURE_VALUE:
     g_return_val_if_fail(value2, FALSE);
@@ -327,7 +327,7 @@ gboolean gst_tizencamerasrc_control_get_strobe(GstTizenCameraSrc *camerasrc, gin
 
   switch (type) {
   case GST_CAMERA_CONTROL_STROBE_MODE:
-    ret = hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_FLASH_MODE, (void **)value);
+    ret = hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_FLASH_MODE, (void **)&value);
     break;
   case GST_CAMERA_CONTROL_STROBE_BRIGHTNESS:
     ret = hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_FLASH_BRIGHTNESS, (void **)&value);
@@ -395,7 +395,7 @@ gboolean gst_tizencamerasrc_control_get_detect(GstTizenCameraSrc *camerasrc, gin
   /* TODO : detection number, focus select, select number, detect status */
   switch (type) {
   case GST_CAMERA_CONTROL_FACE_DETECT_MODE:
-    ret = hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_FACE_DETECTION, (void **)value);
+    ret = hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_FACE_DETECTION, (void **)&value);
     break;
   case GST_CAMERA_CONTROL_FACE_DETECT_NUMBER:
     break;
@@ -456,10 +456,10 @@ gboolean gst_tizencamerasrc_control_get_zoom(GstTizenCameraSrc *camerasrc, gint
 
   switch (type) {
   case GST_CAMERA_CONTROL_DIGITAL_ZOOM:
-    ret = hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_DIGITAL_ZOOM, (void **)value);
+    ret = hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_DIGITAL_ZOOM, (void **)&value);
     break;
   case GST_CAMERA_CONTROL_OPTICAL_ZOOM:
-    ret = hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_OPTICAL_ZOOM, (void **)value);
+    ret = hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_OPTICAL_ZOOM, (void **)&value);
     break;
   default:
     gst_tizencamerasrc_debug("Not supported type.");
@@ -509,8 +509,8 @@ gboolean gst_tizencamerasrc_control_get_focus(GstTizenCameraSrc *camerasrc, gint
 
   gst_tizencamerasrc_debug("get focus");
 
-  ret = hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_FOCUS_MODE, (void **)focus_mode);
-  ret |= hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_FOCUS_RANGE, (void **)focus_range);
+  ret = hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_FOCUS_MODE, (void **)&focus_mode);
+  ret |= hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_FOCUS_RANGE, (void **)&focus_range);
   if (ret != CAMERA_ERROR_NONE) {
     gst_tizencamerasrc_debug("Failed to get AF mode.");
     return FALSE;
@@ -556,18 +556,37 @@ gboolean gst_tizencamerasrc_control_stop_auto_focus(GstTizenCameraSrc *camerasrc
 
 gboolean gst_tizencamerasrc_control_set_focus_level(GstTizenCameraSrc *camerasrc, gint focus_level)
 {
-  /* TODO : */
+  int ret = CAMERA_ERROR_NONE;
 
-  gst_tizencamerasrc_debug("Not support");
-  return FALSE;
+  g_return_val_if_fail(camerasrc, FALSE);
+
+  gst_tizencamerasrc_debug("set focus level[%d]", focus_level);
+
+  ret = hal_camera_set_command(camerasrc->hal_handle, CAMERA_COMMAND_FOCUS_LEVEL, (void *)&focus_level);
+  if (ret != CAMERA_ERROR_NONE) {
+    GST_ERROR_OBJECT(camerasrc, "set focus level failed[0x%x]", ret);
+    return FALSE;
+  }
+
+  return TRUE;
 }
 
 gboolean gst_tizencamerasrc_control_get_focus_level(GstTizenCameraSrc *camerasrc, gint *focus_level)
 {
-  /* TODO : */
+  int ret = CAMERA_ERROR_NONE;
 
-  gst_tizencamerasrc_debug("Not support");
-  return FALSE;
+  g_return_val_if_fail(camerasrc, FALSE);
+  g_return_val_if_fail(focus_level, FALSE);
+
+  ret = hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_FOCUS_LEVEL, (void **)&focus_level);
+  if (ret != CAMERA_ERROR_NONE) {
+    GST_ERROR_OBJECT(camerasrc, "set focus level failed[0x%x]", ret);
+    return FALSE;
+  }
+
+  gst_tizencamerasrc_debug("get focus level[%d]", *focus_level);
+
+  return TRUE;
 }
 
 gboolean gst_tizencamerasrc_control_set_auto_focus_area(GstTizenCameraSrc *camerasrc, GstCameraControlRectType rect)
@@ -646,7 +665,7 @@ gboolean gst_tizencamerasrc_control_get_wdr(GstTizenCameraSrc *camerasrc, gint *
 
   gst_tizencamerasrc_debug("get wdr");
 
-  ret = hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_WDR, (void **)value);
+  ret = hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_WDR, (void **)&value);
   if (ret != CAMERA_ERROR_NONE) {
     gst_tizencamerasrc_debug("Failed to get wdr. err code[%x]", ret);
     return FALSE;
@@ -680,7 +699,7 @@ gboolean gst_tizencamerasrc_control_get_ahs(GstTizenCameraSrc *camerasrc, gint *
 
   gst_tizencamerasrc_debug("get ahs");
 
-  ret = hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_ANTI_SHAKE, (void **)value);
+  ret = hal_camera_get_command(camerasrc->hal_handle, CAMERA_COMMAND_ANTI_SHAKE, (void **)&value);
   if (ret != CAMERA_ERROR_NONE) {
     gst_tizencamerasrc_debug("Failed to get ahs. err code[%x]", ret);
     return FALSE;