tizencamerasrc: Add new properties for device bus and port 72/284272/1 accepted/tizen/unified/20221116.120917 accepted/tizen/unified/20221116.164432
authorJeongmo Yang <jm80.yang@samsung.com>
Mon, 14 Nov 2022 23:48:13 +0000 (08:48 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Mon, 14 Nov 2022 23:48:13 +0000 (08:48 +0900)
- "device-bus", "device-port"

[Version] 1.20.0-14
[Issue Type] New feature

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

index 4d96b07..fe8a63b 100644 (file)
@@ -5,7 +5,7 @@
 Name:       gst-plugins-tizen
 Version:    1.20.0
 Summary:    GStreamer tizen plugins (common)
-Release:    13
+Release:    14
 Group:      Multimedia/Framework
 Url:        http://gstreamer.freedesktop.org/
 License:    LGPL-2.1+
index e2501fc..b927011 100644 (file)
@@ -124,6 +124,8 @@ enum {
   /* device */
   ARG_CAMERA_ID,
   ARG_DEVICE_NAME,
+  ARG_DEVICE_BUS,
+  ARG_DEVICE_PORT,
   ARG_HAL_NAME,
 
   /* preview */
@@ -1795,6 +1797,16 @@ static void gst_tizencamerasrc_set_property(GObject *object, guint prop_id,
     camerasrc->device_name = g_value_dup_string(value);
     GST_INFO_OBJECT(camerasrc, "Set device name: %s", camerasrc->device_name);
     break;
+  case ARG_DEVICE_BUS:
+    camerasrc->device_bus = g_value_get_int(value);
+    GST_INFO_OBJECT(camerasrc, "Set device bus: %d", camerasrc->device_bus);
+    ret = hal_camera_set_command(camerasrc->hal_handle, CAMERA_COMMAND_DEVICE_BUS, (void *)&camerasrc->device_bus);
+    break;
+  case ARG_DEVICE_PORT:
+    camerasrc->device_port = g_value_get_int(value);
+    GST_INFO_OBJECT(camerasrc, "Set device port: %d", camerasrc->device_port);
+    ret = hal_camera_set_command(camerasrc->hal_handle, CAMERA_COMMAND_DEVICE_PORT, (void *)&camerasrc->device_port);
+    break;
   case ARG_HAL_NAME:
     g_free(camerasrc->hal_name);
     camerasrc->hal_name = g_value_dup_string(value);
@@ -1936,6 +1948,12 @@ static void gst_tizencamerasrc_get_property(GObject *object, guint prop_id,
   case ARG_DEVICE_NAME:
     g_value_set_string(value, camerasrc->device_name);
     break;
+  case ARG_DEVICE_BUS:
+    g_value_set_int(value, camerasrc->device_bus);
+    break;
+  case ARG_DEVICE_PORT:
+    g_value_set_int(value, camerasrc->device_port);
+    break;
   case ARG_HAL_NAME:
     g_value_set_string(value, camerasrc->hal_name);
     break;
@@ -2892,6 +2910,18 @@ static void gst_tizencamerasrc_class_init(GstTizenCameraSrcClass *klass)
       NULL,
       G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
+  g_object_class_install_property(gobject_class, ARG_DEVICE_BUS,
+    g_param_spec_int("device-bus", "The device bus number",
+      "The device bus number",
+      0, G_MAXINT, 0,
+      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property(gobject_class, ARG_DEVICE_PORT,
+    g_param_spec_int("device-port", "The device port number",
+      "The device port number",
+      0, G_MAXINT, 0,
+      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
   g_object_class_install_property(gobject_class, ARG_HAL_NAME,
     g_param_spec_string("hal-name", "HAL name",
       "Name of the HAL library, \"libtizen-camera.so\" will be used as a default",
index d30bbc3..3e992fe 100644 (file)
@@ -99,6 +99,8 @@ struct _GstTizenCameraSrc
   camera_device_info_list_s *device_info;
   gint camera_id;                         /**< ID of camera device */
   gchar *device_name;                     /**< Device name. "camera_id" will be ignored if this is set */
+  gint device_bus;                        /**< Device bus number */
+  gint device_port;                       /**< Device port number */
 
   /* Video info */
   GstVideoInfo video_info;