tizencamerasrc: Add new interface for extra preview bitrate 37/263437/1 accepted/tizen/unified/20210906.123753 submit/tizen/20210903.031152
authorJeongmo Yang <jm80.yang@samsung.com>
Thu, 2 Sep 2021 07:23:45 +0000 (16:23 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Thu, 2 Sep 2021 07:23:45 +0000 (16:23 +0900)
[Version] 1.16.2-38
[Issue Type] New feature

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

index f957063..c487c73 100644 (file)
@@ -5,7 +5,7 @@
 Name:       gst-plugins-tizen
 Version:    1.16.2
 Summary:    GStreamer tizen plugins (common)
-Release:    37
+Release:    38
 Group:      Multimedia/Framework
 Url:        http://gstreamer.freedesktop.org/
 License:    LGPL-2.1+
index 8273e5c..fa8a790 100644 (file)
@@ -849,3 +849,41 @@ gboolean gst_tizencamerasrc_control_get_extra_preview_stream_format(GstTizenCame
 
   return TRUE;
 }
+
+
+gboolean gst_tizencamerasrc_control_set_extra_preview_bitrate(GstTizenCameraSrc *camerasrc, int stream_id, int bitrate)
+{
+  int ret = CAMERA_ERROR_NONE;
+
+  if (!camerasrc) {
+    gst_tizencamerasrc_debug("NULL handle");
+    return FALSE;
+  }
+
+  ret = hal_camera_set_extra_preview_bitrate(camerasrc->hal_handle, stream_id, bitrate);
+  if (ret != CAMERA_ERROR_NONE) {
+    GST_ERROR("set extra preview[s:%d] bitrate[%d] failed[0x%x]", stream_id, bitrate, ret);
+    return FALSE;
+  }
+
+  return TRUE;
+}
+
+
+gboolean gst_tizencamerasrc_control_get_extra_preview_bitrate(GstTizenCameraSrc *camerasrc, int stream_id, int *bitrate)
+{
+  int ret = CAMERA_ERROR_NONE;
+
+  if (!camerasrc || !bitrate) {
+    gst_tizencamerasrc_debug("NULL param[%p,%p]", camerasrc, bitrate);
+    return FALSE;
+  }
+
+  ret = hal_camera_get_extra_preview_bitrate(camerasrc->hal_handle, stream_id, bitrate);
+  if (ret != CAMERA_ERROR_NONE) {
+    GST_ERROR("get extra preview[s:%d] bitrate failed[0x%x]", stream_id, ret);
+    return FALSE;
+  }
+
+  return TRUE;
+}
index aaaba21..53c67d6 100644 (file)
@@ -82,6 +82,8 @@ void        gst_tizencamerasrc_control_set_record_command (GstTizenCameraSrc *ca
 gboolean    gst_tizencamerasrc_control_set_user_buffer_fd (GstTizenCameraSrc *camera_src, int *fds, int number);
 gboolean    gst_tizencamerasrc_control_set_extra_preview_stream_format(GstTizenCameraSrc *camera_src, int stream_id, GstCameraControlImageFormat img_fmt, int width, int height, int fps);
 gboolean    gst_tizencamerasrc_control_get_extra_preview_stream_format(GstTizenCameraSrc *camera_src, int stream_id, GstCameraControlImageFormat *img_fmt, int *width, int *height, int *fps);
+gboolean    gst_tizencamerasrc_control_set_extra_preview_bitrate(GstTizenCameraSrc *camera_src, int stream_id, int bitrate);
+gboolean    gst_tizencamerasrc_control_get_extra_preview_bitrate(GstTizenCameraSrc *camera_src, int stream_id, int *bitrate);
 
 #define GST_IMPLEMENT_TIZENCAMERASRC_CONTROL_METHODS(Type, interface_as_function) \
  \
@@ -361,6 +363,22 @@ interface_as_function ## _control_get_extra_preview_stream_format(GstCameraContr
   return gst_tizencamerasrc_control_get_extra_preview_stream_format(this, stream_id, img_fmt, width, height, fps); \
 } \
  \
+static gboolean \
+interface_as_function ## _control_set_extra_preview_bitrate(GstCameraControl *control, \
+                                                            int stream_id, int bitrate) \
+{ \
+  Type *this = (Type *)control; \
+  return gst_tizencamerasrc_control_set_extra_preview_bitrate(this, stream_id, bitrate); \
+} \
+ \
+static gboolean \
+interface_as_function ## _control_get_extra_preview_bitrate(GstCameraControl *control, \
+                                                            int stream_id, int *bitrate) \
+{ \
+  Type *this = (Type *)control; \
+  return gst_tizencamerasrc_control_get_extra_preview_bitrate(this, stream_id, bitrate); \
+} \
+ \
 void \
 interface_as_function ## _control_interface_init(GstCameraControlInterface *iface) \
 { \
@@ -401,6 +419,8 @@ interface_as_function ## _control_interface_init(GstCameraControlInterface *ifac
   iface->set_user_buffer_fd = interface_as_function ## _control_set_user_buffer_fd; \
   iface->set_extra_preview_stream_format = interface_as_function ## _control_set_extra_preview_stream_format; \
   iface->get_extra_preview_stream_format = interface_as_function ## _control_get_extra_preview_stream_format; \
+  iface->set_extra_preview_bitrate = interface_as_function ## _control_set_extra_preview_bitrate; \
+  iface->get_extra_preview_bitrate = interface_as_function ## _control_get_extra_preview_bitrate; \
  \
 }