summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJeongmo Yang <jm80.yang@samsung.com>2021-06-16 21:54:28 +0900
committerJeongmo Yang <jm80.yang@samsung.com>2021-06-17 14:35:41 +0900
commit4dab1570de00a1acd1405f88598a048040f157f0 (patch)
tree8f9cf481bcce11e8c04614ec7f65f346be8118fb /include
parent86555e4b0cddb9c6ffc412e742f6eaa1c103fc2c (diff)
downloadcamera-4dab1570de00a1acd1405f88598a048040f157f0.tar.gz
camera-4dab1570de00a1acd1405f88598a048040f157f0.tar.bz2
camera-4dab1570de00a1acd1405f88598a048040f157f0.zip
Add new internal APIs for extra preview stream format
[Version] 0.4.58 [Issue Type] New feature Change-Id: I9c5297d86aa230500ab8a445e09f88c821a3bfa2 Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
Diffstat (limited to 'include')
-rw-r--r--include/camera_internal.h47
-rw-r--r--include/camera_private.h3
2 files changed, 50 insertions, 0 deletions
diff --git a/include/camera_internal.h b/include/camera_internal.h
index 27e2b37..ef092a1 100644
--- a/include/camera_internal.h
+++ b/include/camera_internal.h
@@ -97,6 +97,7 @@ typedef struct _camera_device_s {
camera_device_e index;
char name[DEVICE_NAME_MAX_LENGTH];
char id[DEVICE_ID_MAX_LENGTH];
+ int extra_stream_num;
} camera_device_s;
typedef struct _camera_device_list_s {
@@ -379,6 +380,52 @@ int camera_unset_extra_preview_cb(camera_h camera);
/**
* @internal
+ * @brief Sets the extra preview stream format.
+ * @since_tizen 6.5
+ * @param[in] camera The handle to the camera
+ * @param[in] stream_id The id of extra preview stream
+ * @param[in] pixel_format The pixel format of extra preview stream
+ * @param[in] width The width of extra preview stream
+ * @param[in] height The height of extra preview stream
+ * @param[in] fps The fps of extra preview stream
+ * @return @c 0 on success, otherwise a negative error value
+ * @retval #CAMERA_ERROR_NONE Successful
+ * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
+ * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
+ * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
+ * @see camera_start_preview()
+ * @see camera_set_extra_preview_cb()
+ * @see camera_unset_extra_preview_cb()
+ * @see camera_get_extra_preview_stream_format()
+ */
+int camera_set_extra_preview_stream_format(camera_h camera, int stream_id, camera_pixel_format_e pixel_format, int width, int height, int fps);
+
+/**
+ * @internal
+ * @brief Gets the extra preview stream format.
+ * @since_tizen 6.5
+ * @param[in] camera The handle to the camera
+ * @param[in] stream_id The id of extra preview stream
+ * @param[out] pixel_format The pixel format of extra preview stream
+ * @param[out] width The width of extra preview stream
+ * @param[out] height The height of extra preview stream
+ * @param[out] fps The fps of extra preview stream
+ * @return @c 0 on success, otherwise a negative error value
+ * @retval #CAMERA_ERROR_NONE Successful
+ * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
+ * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
+ * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
+ * @see camera_start_preview()
+ * @see camera_set_extra_preview_cb()
+ * @see camera_unset_extra_preview_cb()
+ * @see camera_set_extra_preview_stream_format()
+ */
+int camera_get_extra_preview_stream_format(camera_h camera, int stream_id, camera_pixel_format_e *pixel_format, int *width, int *height, int *fps);
+
+/**
+ * @internal
* @brief Sets the manual focus level.
* @since_tizen 6.5
* @remarks The auto focusing will be stopped when camera_attr_set_focus_level() is called.
diff --git a/include/camera_private.h b/include/camera_private.h
index 00ec3e9..2e90bd0 100644
--- a/include/camera_private.h
+++ b/include/camera_private.h
@@ -170,6 +170,7 @@ typedef struct _camera_cb_info_s {
gchar get_string[MUSE_CAMERA_GET_STRING_NUM][MUSE_CAMERA_MSG_MAX_LENGTH];
gdouble get_geotag[3];
gint get_display_roi_area[4];
+ gint get_extra_preview_stream_format[4];
/* media bridge */
media_bridge_h bridge;
@@ -249,6 +250,8 @@ void _camera_msg_send_param1(int api, camera_cb_info_s *cb_info,
void _camera_msg_send_param2_int(int api, camera_cb_info_s *cb_info,
int *ret, camera_msg_param *param0, camera_msg_param *param1, int timeout);
void _camera_msg_return_buffer(int ret_fd, camera_cb_info_s *cb_info);
+int _camera_client_wait_for_cb_return(muse_camera_api_e api, camera_cb_info_s *cb_info, int time_out);
+void _camera_update_api_waiting(camera_cb_info_s *cb_info, int api, int value);
int _camera_get_log_level(void);
typedef bool (*camera_supported_cb_param1)(int param, void *user_data);