diff options
author | Jeongmo Yang <jm80.yang@samsung.com> | 2021-06-16 21:54:28 +0900 |
---|---|---|
committer | Jeongmo Yang <jm80.yang@samsung.com> | 2021-06-17 14:35:41 +0900 |
commit | 4dab1570de00a1acd1405f88598a048040f157f0 (patch) | |
tree | 8f9cf481bcce11e8c04614ec7f65f346be8118fb /include | |
parent | 86555e4b0cddb9c6ffc412e742f6eaa1c103fc2c (diff) | |
download | camera-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.h | 47 | ||||
-rw-r--r-- | include/camera_private.h | 3 |
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); |