2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #ifndef __TIZEN_MULTIMEDIA_CAMERA_H__
18 #define __TIZEN_MULTIMEDIA_CAMERA_H__
21 #include <media_packet.h>
29 * @brief This file contains the Camera API, related structures and enumerations.
30 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
34 * @addtogroup CAPI_MEDIA_CAMERA_MODULE
38 #define CAMERA_ERROR_CLASS TIZEN_ERROR_CAMERA | 0x00
41 * @brief Enumeration for the error codes of Camera.
42 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
45 CAMERA_ERROR_NONE = TIZEN_ERROR_NONE, /**< Successful */
46 CAMERA_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid parameter */
47 CAMERA_ERROR_INVALID_STATE = CAMERA_ERROR_CLASS | 0x02, /**< Invalid state */
48 CAMERA_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY, /**< Out of memory */
49 CAMERA_ERROR_DEVICE = CAMERA_ERROR_CLASS | 0x04, /**< Device error */
50 CAMERA_ERROR_INVALID_OPERATION = TIZEN_ERROR_INVALID_OPERATION, /**< Internal error */
51 CAMERA_ERROR_SOUND_POLICY = CAMERA_ERROR_CLASS | 0x06, /**< Blocked by Audio Session Manager (Deprecated since 3.0) */
52 CAMERA_ERROR_SECURITY_RESTRICTED = CAMERA_ERROR_CLASS | 0x07, /**< Restricted by security system policy */
53 CAMERA_ERROR_DEVICE_BUSY = CAMERA_ERROR_CLASS | 0x08, /**< The device is using another application or working on some operation */
54 CAMERA_ERROR_DEVICE_NOT_FOUND = CAMERA_ERROR_CLASS | 0x09, /**< No camera device */
55 CAMERA_ERROR_SOUND_POLICY_BY_CALL = CAMERA_ERROR_CLASS | 0x0a, /**< Blocked by Audio Session Manager - CALL (Deprecated since 3.0) */
56 CAMERA_ERROR_SOUND_POLICY_BY_ALARM = CAMERA_ERROR_CLASS | 0x0b, /**< Blocked by Audio Session Manager - ALARM (Deprecated since 3.0) */
57 CAMERA_ERROR_ESD = CAMERA_ERROR_CLASS | 0x0c, /**< ESD situation */
58 CAMERA_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED, /**< The access to the resources can not be granted*/
59 CAMERA_ERROR_NOT_SUPPORTED = TIZEN_ERROR_NOT_SUPPORTED, /**< The feature is not supported */
60 CAMERA_ERROR_RESOURCE_CONFLICT = CAMERA_ERROR_CLASS | 0x0d, /**< Blocked by resource conflict (Since 3.0) */
61 CAMERA_ERROR_SERVICE_DISCONNECTED = CAMERA_ERROR_CLASS | 0x0e, /**< Socket connection lost (Since 3.0) */
65 * @brief Enumeration for the camera state.
66 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
69 CAMERA_STATE_NONE, /**< Before creating */
70 CAMERA_STATE_CREATED, /**< Created, but not initialized yet */
71 CAMERA_STATE_PREVIEW, /**< Preview */
72 CAMERA_STATE_CAPTURING, /**< While capturing */
73 CAMERA_STATE_CAPTURED /**< After capturing */
77 * @brief Enumeration for the camera device state.
81 CAMERA_DEVICE_STATE_NULL, /**< Not opened */
82 CAMERA_DEVICE_STATE_OPENED, /**< Opened */
83 CAMERA_DEVICE_STATE_WORKING /**< Now previewing or capturing or is being used for video recording */
84 } camera_device_state_e;
87 * @brief Enumeration for the camera device.
88 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
91 CAMERA_DEVICE_CAMERA0 = 0, /**< Primary camera */
92 CAMERA_DEVICE_CAMERA1 /**< Secondary camera */
96 * @brief Enumeration for the camera pixel format.
97 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
100 CAMERA_PIXEL_FORMAT_INVALID = -1, /**< Invalid pixel format */
101 CAMERA_PIXEL_FORMAT_NV12, /**< NV12 pixel format */
102 CAMERA_PIXEL_FORMAT_NV12T, /**< NV12 Tiled pixel format */
103 CAMERA_PIXEL_FORMAT_NV16, /**< NV16 pixel format */
104 CAMERA_PIXEL_FORMAT_NV21, /**< NV21 pixel format */
105 CAMERA_PIXEL_FORMAT_YUYV, /**< YUYV(YUY2) pixel format */
106 CAMERA_PIXEL_FORMAT_UYVY, /**< UYVY pixel format */
107 CAMERA_PIXEL_FORMAT_422P, /**< YUV422(Y:U:V) planar pixel format */
108 CAMERA_PIXEL_FORMAT_I420, /**< I420 pixel format */
109 CAMERA_PIXEL_FORMAT_YV12, /**< YV12 pixel format */
110 CAMERA_PIXEL_FORMAT_RGB565, /**< RGB565 pixel format */
111 CAMERA_PIXEL_FORMAT_RGB888, /**< RGB888 pixel format */
112 CAMERA_PIXEL_FORMAT_RGBA, /**< RGBA pixel format */
113 CAMERA_PIXEL_FORMAT_ARGB, /**< ARGB pixel format */
114 CAMERA_PIXEL_FORMAT_JPEG, /**< Encoded pixel format */
115 CAMERA_PIXEL_FORMAT_H264 = 15, /**< Encoded pixel format : H264 (Since 3.0) */
116 } camera_pixel_format_e;
119 * @brief Enumeration for the camera display type.
120 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
123 CAMERA_DISPLAY_TYPE_OVERLAY = 0, /**< Overlay surface display */
124 CAMERA_DISPLAY_TYPE_EVAS, /**< Evas object surface display */
125 CAMERA_DISPLAY_TYPE_NONE /**< This disposes off buffers */
126 } camera_display_type_e;
129 * @brief Enumeration for the camera policy.
130 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
133 CAMERA_POLICY_NONE = 0, /**< None */
134 CAMERA_POLICY_SOUND, /**< Sound policy (Deprecated since 3.0) */
135 CAMERA_POLICY_SOUND_BY_CALL, /**< Sound policy by CALL (Deprecated since 3.0) */
136 CAMERA_POLICY_SOUND_BY_ALARM, /**< Sound policy by ALARM (Deprecated since 3.0) */
137 CAMERA_POLICY_SECURITY, /**< Security policy */
138 CAMERA_POLICY_RESOURCE_CONFLICT /**< Resource conflict (Since 3.0) */
142 * @brief Enumeration for the camera rotation type.
143 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
146 CAMERA_ROTATION_NONE, /**< No rotation */
147 CAMERA_ROTATION_90, /**< 90 degree rotation */
148 CAMERA_ROTATION_180, /**< 180 degree rotation */
149 CAMERA_ROTATION_270, /**< 270 degree rotation */
154 * @brief Enumeration for the camera flip type.
155 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
158 CAMERA_FLIP_NONE, /**< No Flip */
159 CAMERA_FLIP_HORIZONTAL, /**< Horizontal flip */
160 CAMERA_FLIP_VERTICAL, /**< Vertical flip */
161 CAMERA_FLIP_BOTH /** Horizontal and vertical flip */
165 * @brief Enumeration for the camera focus state.
166 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
169 CAMERA_FOCUS_STATE_RELEASED = 0, /**< Focus released */
170 CAMERA_FOCUS_STATE_ONGOING, /**< Focus in progress */
171 CAMERA_FOCUS_STATE_FOCUSED, /**< Focus succeeded */
172 CAMERA_FOCUS_STATE_FAILED, /**< Focus failed */
173 } camera_focus_state_e;
176 * @brief Enumeration for the facing direction of camera module
180 CAMERA_FACING_DIRECTION_REAR = 0, /**< Rear */
181 CAMERA_FACING_DIRECTION_FRONT, /**< Front */
182 } camera_facing_direction_e;
185 * @brief Enumeration for the current flash state.
189 CAMERA_FLASH_STATE_NOT_USED = 0, /**< Flash is not used now through camera API */
190 CAMERA_FLASH_STATE_USED, /**< Flash is used now through camera API */
191 } camera_flash_state_e;
194 * @brief The structure type of the image data.
195 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
198 unsigned char *data; /**< The image buffer */
199 unsigned int size; /**< The size of the buffer */
200 int width; /**< The width of the image */
201 int height; /**< The height of the image */
202 camera_pixel_format_e format; /**< The format of the image pixel */
203 unsigned char *exif; /**< The exif raw data */
204 unsigned int exif_size; /**< The size of the exif data */
205 } camera_image_data_s;
208 * @brief The structure type for face detection.
209 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
212 int id; /**< The ID of each face */
213 int score; /**< The confidence level for the detection of the face */
214 int x; /**< The x coordinates of the face */
215 int y; /**< The y coordinates of the face */
216 int width; /**< The width of the face */
217 int height; /**< The height of the face */
218 } camera_detected_face_s;
221 * @brief The structure type to preview stream data.
222 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
225 camera_pixel_format_e format; /**< The format of the frame pixel */
226 int width; /**< The width of the frame */
227 int height; /**< The height of the frame */
228 int num_of_planes; /**< The number of planes */
229 unsigned int timestamp; /**< The timestamp of the frame */
232 unsigned char *yuv; /**< The yuv data pointer */
233 unsigned int size; /**< The size of data */
234 } single_plane; /**< single plane frame data */
237 unsigned char *y; /**< The y data pointer */
238 unsigned char *uv; /**< The uv data pointer */
239 unsigned int y_size; /**< The size of y data */
240 unsigned int uv_size; /**< The size of uv data */
241 } double_plane; /**< double plane frame data */
244 unsigned char *y; /**< The y data pointer */
245 unsigned char *u; /**< The u data pointer */
246 unsigned char *v; /**< The v data pointer */
247 unsigned int y_size; /**< The size of y data */
248 unsigned int u_size; /**< The size of u data */
249 unsigned int v_size; /**< The size of v data */
250 } triple_plane; /**< triple plane frame data */
253 unsigned char *data; /**< The encoded data pointer */
254 unsigned int size; /**< The size of encoded data */
257 } camera_preview_data_s;
260 * @brief The Camera handle.
261 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
262 * @see recorder_create_videorecorder()
264 typedef struct camera_cli_s *camera_h;
267 * @brief The Camera display handle.
268 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
270 typedef void *camera_display_h;
275 * @brief Gets a display handle.
276 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
278 #define GET_DISPLAY(x) (void*)(x)
287 * @addtogroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
292 * @brief Enumeration for the camera display mode.
293 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
296 CAMERA_DISPLAY_MODE_LETTER_BOX = 0, /**< Letter box */
297 CAMERA_DISPLAY_MODE_ORIGIN_SIZE, /**< Origin size */
298 CAMERA_DISPLAY_MODE_FULL, /**< Full screen */
299 CAMERA_DISPLAY_MODE_CROPPED_FULL, /**< Cropped full screen */
300 CAMERA_DISPLAY_MODE_ORIGIN_OR_LETTER_BOX, /**< Original size or letter box (Since 3.0) */
301 CAMERA_DISPLAY_MODE_CUSTOM_ROI, /**< Custom ROI (Since 3.0) */
302 } camera_display_mode_e;
309 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
314 * @brief Enumeration for the color tone, which provides the impression of looking through a tinted glass.
315 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
318 CAMERA_ATTR_EFFECT_NONE = 0, /**< None */
319 CAMERA_ATTR_EFFECT_MONO, /**< Mono */
320 CAMERA_ATTR_EFFECT_SEPIA, /**< Sepia */
321 CAMERA_ATTR_EFFECT_NEGATIVE, /**< Negative */
322 CAMERA_ATTR_EFFECT_BLUE, /**< Blue */
323 CAMERA_ATTR_EFFECT_GREEN, /**< Green */
324 CAMERA_ATTR_EFFECT_AQUA, /**< Aqua */
325 CAMERA_ATTR_EFFECT_VIOLET, /**< Violet */
326 CAMERA_ATTR_EFFECT_ORANGE, /**< Orange */
327 CAMERA_ATTR_EFFECT_GRAY, /**< Gray */
328 CAMERA_ATTR_EFFECT_RED, /**< Red */
329 CAMERA_ATTR_EFFECT_ANTIQUE, /**< Antique */
330 CAMERA_ATTR_EFFECT_WARM, /**< Warm */
331 CAMERA_ATTR_EFFECT_PINK, /**< Pink */
332 CAMERA_ATTR_EFFECT_YELLOW, /**< Yellow */
333 CAMERA_ATTR_EFFECT_PURPLE, /**< Purple */
334 CAMERA_ATTR_EFFECT_EMBOSS, /**< Emboss */
335 CAMERA_ATTR_EFFECT_OUTLINE, /**< Outline */
336 CAMERA_ATTR_EFFECT_SOLARIZATION, /**< Solarization */
337 CAMERA_ATTR_EFFECT_SKETCH, /**< Sketch */
338 CAMERA_ATTR_EFFECT_WASHED, /**< Washed */
339 CAMERA_ATTR_EFFECT_VINTAGE_WARM, /**< Vintage warm */
340 CAMERA_ATTR_EFFECT_VINTAGE_COLD, /**< Vintage cold */
341 CAMERA_ATTR_EFFECT_POSTERIZATION, /**< Posterization */
342 CAMERA_ATTR_EFFECT_CARTOON, /**< Cartoon */
343 CAMERA_ATTR_EFFECT_SELECTIVE_RED, /**< Selective color - Red */
344 CAMERA_ATTR_EFFECT_SELECTIVE_GREEN, /**< Selective color - Green */
345 CAMERA_ATTR_EFFECT_SELECTIVE_BLUE, /**< Selective color - Blue */
346 CAMERA_ATTR_EFFECT_SELECTIVE_YELLOW, /**< Selective color - Yellow */
347 CAMERA_ATTR_EFFECT_SELECTIVE_RED_YELLOW, /**< Selective color - Red and Yellow */
348 CAMERA_ATTR_EFFECT_OTHER_GRAPHICS, /**< Other Graphic effects */
349 } camera_attr_effect_mode_e;
352 * @brief Enumeration for the white balance levels of the camera.
353 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
356 CAMERA_ATTR_WHITE_BALANCE_NONE = 0, /**< None */
357 CAMERA_ATTR_WHITE_BALANCE_AUTOMATIC, /**< Automatic */
358 CAMERA_ATTR_WHITE_BALANCE_DAYLIGHT, /**< Daylight */
359 CAMERA_ATTR_WHITE_BALANCE_CLOUDY, /**< Cloudy */
360 CAMERA_ATTR_WHITE_BALANCE_FLUORESCENT, /**< Fluorescent */
361 CAMERA_ATTR_WHITE_BALANCE_INCANDESCENT, /**< Incandescent */
362 CAMERA_ATTR_WHITE_BALANCE_SHADE, /**< Shade */
363 CAMERA_ATTR_WHITE_BALANCE_HORIZON, /**< Horizon */
364 CAMERA_ATTR_WHITE_BALANCE_FLASH, /**< Flash */
365 CAMERA_ATTR_WHITE_BALANCE_CUSTOM, /**< Custom */
366 } camera_attr_whitebalance_e;
369 * @brief Enumeration for the scene mode.
370 * @details The mode of operation can be in daylight, night, or back-light.
371 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
374 CAMERA_ATTR_SCENE_MODE_NORMAL = 0, /**< Normal */
375 CAMERA_ATTR_SCENE_MODE_PORTRAIT, /**< Portrait */
376 CAMERA_ATTR_SCENE_MODE_LANDSCAPE, /**< Landscape */
377 CAMERA_ATTR_SCENE_MODE_SPORTS, /**< Sports */
378 CAMERA_ATTR_SCENE_MODE_PARTY_N_INDOOR, /**< Party & indoor */
379 CAMERA_ATTR_SCENE_MODE_BEACH_N_INDOOR, /**< Beach & indoor */
380 CAMERA_ATTR_SCENE_MODE_SUNSET, /**< Sunset */
381 CAMERA_ATTR_SCENE_MODE_DUSK_N_DAWN, /**< Dusk & dawn */
382 CAMERA_ATTR_SCENE_MODE_FALL_COLOR, /**< Fall */
383 CAMERA_ATTR_SCENE_MODE_NIGHT_SCENE, /**< Night scene */
384 CAMERA_ATTR_SCENE_MODE_FIREWORK, /**< Firework */
385 CAMERA_ATTR_SCENE_MODE_TEXT, /**< Text */
386 CAMERA_ATTR_SCENE_MODE_SHOW_WINDOW, /**< Show window */
387 CAMERA_ATTR_SCENE_MODE_CANDLE_LIGHT, /**< Candle light */
388 CAMERA_ATTR_SCENE_MODE_BACKLIGHT, /**< Backlight */
389 CAMERA_ATTR_SCENE_MODE_AQUA, /**< Aqua */
390 } camera_attr_scene_mode_e;
393 * @brief Enumeration for the auto focus mode.
394 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
397 CAMERA_ATTR_AF_NONE = 0, /**< auto-focus is not set */
398 CAMERA_ATTR_AF_NORMAL, /**< auto-focus in the normal mode */
399 CAMERA_ATTR_AF_MACRO, /**< auto-focus in the macro mode(close distance) */
400 CAMERA_ATTR_AF_FULL, /**< auto-focus in the full mode(all range scan, limited by device spec) */
401 } camera_attr_af_mode_e;
404 * @brief Enumeration for the ISO levels of the camera.
405 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
408 CAMERA_ATTR_ISO_AUTO = 0, /**< ISO auto mode */
409 CAMERA_ATTR_ISO_50, /**< ISO 50 */
410 CAMERA_ATTR_ISO_100, /**< ISO 100 */
411 CAMERA_ATTR_ISO_200, /**< ISO 200 */
412 CAMERA_ATTR_ISO_400, /**< ISO 400 */
413 CAMERA_ATTR_ISO_800, /**< ISO 800 */
414 CAMERA_ATTR_ISO_1600, /**< ISO 1600 */
415 CAMERA_ATTR_ISO_3200, /**< ISO 3200 */
419 * @brief Enumeration for the camera exposure modes.
420 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
423 CAMERA_ATTR_EXPOSURE_MODE_OFF = 0, /**< Off */
424 CAMERA_ATTR_EXPOSURE_MODE_ALL, /**< All mode */
425 CAMERA_ATTR_EXPOSURE_MODE_CENTER, /**< Center mode */
426 CAMERA_ATTR_EXPOSURE_MODE_SPOT, /**< Spot mode */
427 CAMERA_ATTR_EXPOSURE_MODE_CUSTOM, /**< Custom mode */
428 } camera_attr_exposure_mode_e;
431 * @brief Enumeration for the orientation values of tag.
432 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
435 CAMERA_ATTR_TAG_ORIENTATION_TOP_LEFT = 1, /**< Row #0 is at the top, Column #0 is to the left */
436 CAMERA_ATTR_TAG_ORIENTATION_TOP_RIGHT = 2, /**< Row #0 is at the top, Column #0 is to the right (flipped) */
437 CAMERA_ATTR_TAG_ORIENTATION_BOTTOM_RIGHT = 3, /**< Row #0 is at the bottom, Column #0 is to the right */
438 CAMERA_ATTR_TAG_ORIENTATION_BOTTOM_LEFT = 4, /**< Row #0 is at the bottom, Column #0 is to the left (flipped) */
439 CAMERA_ATTR_TAG_ORIENTATION_LEFT_TOP = 5, /**< Row #0 is to the left, Column #0 is at the top (flipped) */
440 CAMERA_ATTR_TAG_ORIENTATION_RIGHT_TOP = 6, /**< Row #0 is to the right, Column #0 is at the top */
441 CAMERA_ATTR_TAG_ORIENTATION_RIGHT_BOTTOM = 7, /**< Row #0 is to the right, Column #0 is at the bottom (flipped) */
442 CAMERA_ATTR_TAG_ORIENTATION_LEFT_BOTTOM = 8, /**< Row #0 is to the left, Column #0 is at the bottom */
443 } camera_attr_tag_orientation_e;
446 * @brief Enumeration for the flash mode.
447 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
450 CAMERA_ATTR_FLASH_MODE_OFF = 0, /**< Always off */
451 CAMERA_ATTR_FLASH_MODE_ON, /**< Always splashes */
452 CAMERA_ATTR_FLASH_MODE_AUTO, /**< Depending on intensity of light, strobe starts to flash */
453 CAMERA_ATTR_FLASH_MODE_REDEYE_REDUCTION, /**< Red eye reduction. Multiple flash before capturing */
454 CAMERA_ATTR_FLASH_MODE_SLOW_SYNC, /**< Slow sync curtain synchronization */
455 CAMERA_ATTR_FLASH_MODE_FRONT_CURTAIN, /**< Front curtain synchronization */
456 CAMERA_ATTR_FLASH_MODE_REAR_CURTAIN, /**< Rear curtain synchronization */
457 CAMERA_ATTR_FLASH_MODE_PERMANENT, /**< Keep turned on until turning off */
458 } camera_attr_flash_mode_e;
461 * @brief Enumeration to preview FPS.
462 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
465 CAMERA_ATTR_FPS_AUTO = 0, /**< AUTO FPS */
466 CAMERA_ATTR_FPS_7 = 7, /**< 7 FPS */
467 CAMERA_ATTR_FPS_8 = 8, /**< 8 FPS */
468 CAMERA_ATTR_FPS_15 = 15, /**< 15 FPS */
469 CAMERA_ATTR_FPS_20 = 20, /**< 20 FPS */
470 CAMERA_ATTR_FPS_24 = 24, /**< 24 FPS */
471 CAMERA_ATTR_FPS_25 = 25, /**< 25 FPS */
472 CAMERA_ATTR_FPS_30 = 30, /**< 30 FPS */
473 CAMERA_ATTR_FPS_60 = 60, /**< 60 FPS */
474 CAMERA_ATTR_FPS_90 = 90, /**< 90 FPS */
475 CAMERA_ATTR_FPS_120 = 120 /**< 120 FPS */
479 * @brief Enumeration for the theater mode.
480 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
483 CAMERA_ATTR_THEATER_MODE_DISABLE = 0, /**< Disable theater mode - External display shows same image as device display */
484 CAMERA_ATTR_THEATER_MODE_ENABLE = 2, /**< Enable theater mode - Preview image is displayed on external display with full screen mode, but preview image is not shown on device display */
485 CAMERA_ATTR_THEATER_MODE_CLONE = 1 /**< Clone mode - Preview image is displayed on external display with full screen mode. Also preview image is shown by the UI on device display */
486 } camera_attr_theater_mode_e;
489 * @brief Enumeration for HDR capture mode.
490 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
493 CAMERA_ATTR_HDR_MODE_DISABLE = 0, /**< Disable HDR capture */
494 CAMERA_ATTR_HDR_MODE_ENABLE, /**< Enable HDR capture */
495 CAMERA_ATTR_HDR_MODE_KEEP_ORIGINAL /**< Enable HDR capture and keep original image data */
496 } camera_attr_hdr_mode_e;
499 * @brief Enumeration for PTZ(Pan Tilt Zoom) type.
503 CAMERA_ATTR_PTZ_TYPE_MECHANICAL = 0, /**< Move the camera device physically */
504 CAMERA_ATTR_PTZ_TYPE_ELECTRONIC /**< Zoom digitally and move into portion of the image */
505 } camera_attr_ptz_type_e;
508 * @brief Enumeration for PTZ(Pan Tilt Zoom) movement type.
512 CAMERA_ATTR_PTZ_MOVE_ABSOLUTE = 0, /**< Move to a specific coordinate position */
513 CAMERA_ATTR_PTZ_MOVE_RELATIVE /**< Move a specific distance from the current position */
514 } camera_attr_ptz_move_type_e;
522 * @addtogroup CAPI_MEDIA_CAMERA_MODULE
527 * @brief Called when the camera state is changed.
528 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
529 * @param[in] previous The previous state of the camera
530 * @param[in] current The current state of the camera
531 * @param[in] by_policy If @c true the state is changed by policy, otherwise @c false
532 * @param[in] user_data The user data passed from the callback registration function
533 * @pre camera_start_preview(), camera_start_capture() or camera_stop_preview()
534 * will invoke this callback if you register this callback using camera_set_state_changed_cb().
535 * @see camera_set_state_changed_cb()
537 typedef void (*camera_state_changed_cb)(camera_state_e previous, camera_state_e current, bool by_policy, void *user_data);
540 * @brief Called when the camera device state is changed.
542 * @param[in] device The hardware camera type
543 * @param[in] state The state of the camera device
544 * @param[in] user_data The user data passed from the callback registration function
545 * @see camera_add_device_state_changed_cb()
547 typedef void (*camera_device_state_changed_cb)(camera_device_e device, camera_device_state_e state, void *user_data);
550 * @brief Called when the camera is interrupted by policy.
551 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
552 * @param[in] policy The policy that interrupted the camera
553 * @param[in] previous The previous state of the camera
554 * @param[in] current The current state of the camera
555 * @param[in] user_data The user data passed from the callback registration function
556 * @see camera_set_interrupted_cb()
558 typedef void (*camera_interrupted_cb)(camera_policy_e policy, camera_state_e previous, camera_state_e current, void *user_data);
561 * @brief Called when the camera focus state is changed.
562 * @details When the camera auto focus completes or a change to the focus state occurs,
563 * this callback is invoked. \n \n
564 * Changes of focus state are as follows: \n
565 * #CAMERA_FOCUS_STATE_RELEASED -> start focusing -> #CAMERA_FOCUS_STATE_ONGOING -> working ->
566 * #CAMERA_FOCUS_STATE_FOCUSED or #CAMERA_FOCUS_STATE_FAILED.
567 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
569 * @param[in] state The current state of the auto-focus
570 * @param[in] user_data The user data passed from the callback registration function
571 * @pre camera_start_focusing() will invoke this callback if you register it using camera_set_focus_changed_cb().
572 * @see camera_set_focus_changed_cb()
573 * @see camera_unset_focus_changed_cb()
574 * @see camera_start_focusing()
575 * @see camera_cancel_focusing()
577 typedef void (*camera_focus_changed_cb)(camera_focus_state_e state, void *user_data);
580 * @brief Called to register for notifications about delivering a copy of the new preview frame when every preview frame is displayed.
581 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
583 * @remarks This function is issued in the context of internal framework so the UI update code should not be directly invoked.\n
584 * If the camera is used as a recorder then this callback function won't be called.
586 * @param[in] frame The reference pointer to preview stream data
587 * @param[in] user_data The user data passed from the callback registration function
588 * @pre camera_start_preview() will invoke this callback function if you register this callback using camera_set_preview_cb().
589 * @see camera_start_preview()
590 * @see camera_set_preview_cb()
591 * @see camera_unset_preview_cb()
593 typedef void (*camera_preview_cb)(camera_preview_data_s *frame, void *user_data);
596 * @brief Called to register for notifications about delivering media packet when every preview frame is displayed.
597 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
599 * @remarks This function is issued in the context of internal framework so the UI update code should not be directly invoked.\n
600 * If the camera is used as a recorder then this callback function won't be called.\n
601 * and the packet should be released by media_packet_destroy() after use.
603 * @param[in] pkt Reference pointer to media packet
604 * @param[in] user_data The user data passed from the callback registration function
605 * @pre camera_start_preview() will invoke this callback function if you register this callback using camera_set_media_packet_preview_cb().
606 * @see camera_start_preview()
607 * @see camera_set_media_packet_preview_cb()
608 * @see camera_unset_media_packet_preview_cb()
610 typedef void (*camera_media_packet_preview_cb)(media_packet_h pkt, void *user_data);
613 * @brief Called to get information about image data taken by the camera once per frame while capturing.
614 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
616 * @remarks This function is issued in the context of internal framework so the UI update code should not be directly invoked.
617 * You must not call camera_start_preview() within this callback.
619 * @param[in] image The image data of the captured picture
620 * @param[in] postview The image data of the postview
621 * @param[in] thumbnail The image data of the thumbnail (it should be @c NULL if the available thumbnail data does not exist)
622 * @param[in] user_data The user data passed from the callback registration function
623 * @pre camera_start_capture() or camera_start_continuous_capture() will invoke this callback function if it is registered using camera_start_capture() or camera_start_continuous_capture().
624 * @see camera_start_capture()
625 * @see camera_start_continuous_capture()
626 * @see camera_capture_completed_cb()
628 typedef void (*camera_capturing_cb)(camera_image_data_s *image, camera_image_data_s *postview, camera_image_data_s *thumbnail, void *user_data);
631 * @brief Called when the camera capturing completes.
632 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
634 * @remarks The callback is called after camera_capturing_cb() is completed.\n
635 * If you want to show the user a preview after capturing is finished, \n
636 * an application can use camera_start_preview() after calling this callback.
637 * @param[in] user_data The user data passed from the callback registration function
638 * @pre This callback function is invoked if it is registered using camera_start_capture() or camera_start_continuous_capture().
639 * @see camera_start_capture()
640 * @see camera_start_continuous_capture()
641 * @see camera_capturing_cb()
643 typedef void (*camera_capture_completed_cb)(void *user_data);
646 * @brief Called when an error occurs.
647 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
649 * @remarks This callback informs about a critical error situation.\n
650 * When this callback is invoked, the user should release the resource and terminate the application.\n
651 * In case of errors, one of these codes occur:\n
652 * #CAMERA_ERROR_DEVICE,\n
653 * #CAMERA_ERROR_INVALID_OPERATION,\n
654 * #CAMERA_ERROR_OUT_OF_MEMORY.
655 * @param[in] error The error code
656 * @param[in] current_state The current state of the camera
657 * @param[in] user_data The user data passed from the callback registration function
658 * @pre This callback function is invoked if it is registered using camera_set_error_cb().
659 * @see camera_set_error_cb()
660 * @see camera_unset_error_cb()
662 typedef void (*camera_error_cb)(camera_error_e error, camera_state_e current_state, void *user_data);
665 * @brief Called when a face is detected in the preview frame.
666 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
667 * @param[in] faces The detected face array
668 * @param[in] count The length of the array
669 * @param[in] user_data The user data passed from the callback registration function
670 * @see camera_start_face_detection()
672 typedef void (*camera_face_detected_cb)(camera_detected_face_s *faces, int count, void *user_data);
679 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
684 * @brief Called once for each supported preview resolution.
685 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
686 * @param[in] width The preview image width
687 * @param[in] height The preview image height
688 * @param[in] user_data The user data passed from the foreach function
689 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
690 * @pre camera_foreach_supported_preview_resolution() will invoke this callback.
691 * @see camera_foreach_supported_preview_resolution()
693 typedef bool (*camera_supported_preview_resolution_cb)(int width, int height, void *user_data);
696 * @brief Called once for each supported capture resolution.
697 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
698 * @param[in] width The capture resolution width
699 * @param[in] height The capture resolution height
700 * @param[in] user_data The user data passed from the foreach function
701 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
702 * @pre camera_foreach_supported_capture_resolution() will invoke this callback.
703 * @see camera_foreach_supported_capture_resolution()
705 typedef bool (*camera_supported_capture_resolution_cb)(int width, int height, void *user_data);
708 * @brief Called once for the pixel format of each supported capture format.
709 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
710 * @param[in] format The supported pixel format
711 * @param[in] user_data The user data passed from the foreach function
712 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
713 * @pre camera_foreach_supported_capture_format() will invoke this callback.
714 * @see camera_foreach_supported_capture_format()
716 typedef bool (*camera_supported_capture_format_cb)(camera_pixel_format_e format, void *user_data);
719 * @brief Called once for the pixel format of each supported preview format.
720 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
721 * @param[in] format The supported preview data format
722 * @param[in] user_data The user data passed from the foreach function
723 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
724 * @pre camera_foreach_supported_preview_format() will invoke this callback.
725 * @see camera_foreach_supported_preview_format()
727 typedef bool (*camera_supported_preview_format_cb)(camera_pixel_format_e format, void *user_data);
734 * @addtogroup CAPI_MEDIA_CAMERA_MODULE
739 * @brief Creates a new camera handle for controlling a camera.
741 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
743 * @privilege %http://tizen.org/privilege/camera
744 * @remarks Multiple handles on a context at the same time are allowed to be created. However,
745 * camera cannot guarantee proper operation because of limited resources, such as
746 * camera device, audio device, and display device.\n.
747 * A @a camera must be released using camera_destroy().
748 * @param[in] device The hardware camera to access
749 * @param[out] camera A newly returned handle to the camera
750 * @return @c 0 on success, otherwise a negative error value
751 * @retval #CAMERA_ERROR_NONE Successful
752 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
753 * @retval #CAMERA_ERROR_OUT_OF_MEMORY Out of memory
754 * @retval #CAMERA_ERROR_SOUND_POLICY Sound policy error
755 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
756 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
757 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
758 * @post If it succeeds, the camera state will be #CAMERA_STATE_CREATED.
760 * @see camera_destroy()
762 int camera_create(camera_device_e device, camera_h *camera);
765 * @brief Changes the camera device.
769 * @privilege %http://tizen.org/privilege/camera
770 * @remarks This function can be used to change camera device simply without camera_destroy() and camera_create().\n
771 * If display reuse hint is set by camera_set_display_reuse_hint() before stopping the preview,\n
772 * display handle will be reused and last frame on display can be kept even though camera device is changed.
773 * @param[in] camera The handle to the camera
774 * @param[in] device The hardware camera to access
775 * @return @c 0 on success, otherwise a negative error value
776 * @retval #CAMERA_ERROR_NONE Successful
777 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
778 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
779 * @retval #CAMERA_ERROR_OUT_OF_MEMORY Out of memory
780 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
781 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
782 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
783 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
784 * @post If it succeeds, the camera attributes and settings will be reset.
786 * @see camera_set_display_reuse_hint()
787 * @see camera_get_display_reuse_hint()
789 int camera_change_device(camera_h camera, camera_device_e device);
792 * @brief Destroys the camera handle and releases all its resources.
794 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
796 * @privilege %http://tizen.org/privilege/camera
797 * @param[in] camera The handle to the camera
798 * @return @c 0 on success, otherwise a negative error value
799 * @retval #CAMERA_ERROR_NONE Successful
800 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
801 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
802 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
803 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
804 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
805 * @see camera_create()
807 int camera_destroy(camera_h camera);
810 * @brief Starts capturing and drawing preview frames on the screen.
812 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
814 * @privilege %http://tizen.org/privilege/camera
815 * @param[in] camera The handle to the camera
816 * @return @c 0 on success, otherwise a negative error value
817 * @retval #CAMERA_ERROR_NONE Successful
818 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
819 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
820 * @retval #CAMERA_ERROR_SOUND_POLICY Sound policy error
821 * @retval #CAMERA_ERROR_RESOURCE_CONFLICT Resource conflict error
822 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
823 * @retval #CAMERA_ERROR_DEVICE_BUSY The device is being used in another application or is performing other operations
824 * @retval #CAMERA_ERROR_DEVICE_NOT_FOUND No camera device
825 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
826 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
827 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
828 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_CAPTURED.\n
829 * You must set the display handle. \n
830 * If needed, modify preview FPS(camera_attr_set_preview_fps()),
831 * preview resolution(camera_set_preview_resolution()), or preview format(camera_set_preview_format()).
832 * @post If it succeeds, the camera state will be #CAMERA_STATE_PREVIEW.\n
833 * camera_preview_cb() will be called when preview image data becomes available.
835 * @see camera_stop_preview()
836 * @see camera_set_display()
837 * @see camera_set_preview_cb()
838 * @see camera_set_media_packet_preview_cb()
839 * @see camera_foreach_supported_preview_resolution()
840 * @see camera_set_preview_resolution()
841 * @see camera_get_preview_resolution()
842 * @see camera_foreach_supported_preview_format()
843 * @see camera_set_preview_format()
844 * @see camera_get_preview_format()
845 * @see camera_attr_foreach_supported_fps()
846 * @see camera_attr_set_preview_fps()
847 * @see camera_attr_get_preview_fps()
849 int camera_start_preview(camera_h camera);
852 * @brief Stops capturing and drawing preview frames.
853 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
855 * @privilege %http://tizen.org/privilege/camera
856 * @param[in] camera The handle to the camera
857 * @return @c 0 on success, otherwise a negative error value
858 * @retval #CAMERA_ERROR_NONE Successful
859 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
860 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
861 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
862 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
863 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
864 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
865 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
866 * @post The camera state will be #CAMERA_STATE_CREATED.
867 * @see camera_start_preview()
868 * @see camera_unset_preview_cb()
869 * @see camera_unset_media_packet_preview_cb()
871 int camera_stop_preview(camera_h camera);
874 * @brief Starts capturing of still images.
876 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
878 * @privilege %http://tizen.org/privilege/camera
879 * @remarks This function causes the transition of the camera state from #CAMERA_STATE_CAPTURING to #CAMERA_STATE_CAPTURED automatically\n
880 * and the corresponding callback function camera_capturing_cb() and camera_capture_completed_cb() will be invoked\n
881 * The captured image will be delivered through camera_capturing_cb().\n
882 * camera_capture_completed_cb() callback notifies about completion of camera_capturing_cb(). \n
883 * The camera's preview should be restarted by calling camera_start_preview().
884 * @param[in] camera The handle to the camera
885 * @param[in] capturing_cb The callback for capturing data
886 * @param[in] completed_cb The callback for notification of completion
887 * @param[in] user_data The user data
888 * @return @c 0 on success, otherwise a negative error value
889 * @retval #CAMERA_ERROR_NONE Successful
890 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
891 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
892 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
893 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
894 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
895 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
896 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW. \n
897 * If needed, modify capture resolution(camera_set_capture_resolution()),
898 * capture format(camera_set_capture_format()), or image quality(camera_attr_set_image_quality()).
899 * @post If it succeeds the camera state will be #CAMERA_STATE_CAPTURED.
901 * @see camera_start_preview()
902 * @see camera_start_continuous_capture();
903 * @see camera_foreach_supported_capture_resolution()
904 * @see camera_set_capture_resolution()
905 * @see camera_get_capture_resolution()
906 * @see camera_foreach_supported_capture_format()
907 * @see camera_set_capture_format()
908 * @see camera_get_capture_format()
909 * @see camera_attr_set_image_quality()
910 * @see camera_attr_get_image_quality()
912 int camera_start_capture(camera_h camera, camera_capturing_cb capturing_cb, camera_capture_completed_cb completed_cb, void *user_data);
915 * @brief Starts continuously capturing still images.
917 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
919 * @privilege %http://tizen.org/privilege/camera
920 * @remarks If this is not supported zero shutter lag occurs. The capture resolution could be changed to the preview resolution.\n
921 * This function causes the transition of the camera state from #CAMERA_STATE_CAPTURING to #CAMERA_STATE_CAPTURED automatically\n
922 * and the corresponding callback function camera_capturing_cb() and camera_capture_completed_cb() will be invoked\n
923 * Each Captured image will be delivered through camera_capturing_cb().\n
924 * The camera_capture_completed_cb() callback notifies about the completion of an entire capture.\n
925 * The camera's preview should be restarted by calling camera_start_preview().\n.
926 * @param[in] camera The handle to the camera
927 * @param[in] count The number of still images
928 * @param[in] interval The interval of the capture (millisecond)
929 * @param[in] capturing_cb The callback for capturing data
930 * @param[in] completed_cb The callback for notification of completion
931 * @param[in] user_data The user data
932 * @return @c 0 on success, otherwise a negative error value
933 * @retval #CAMERA_ERROR_NONE Successful
934 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
935 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
936 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
937 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
938 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
939 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
940 * @post If it succeeds the camera state will be #CAMERA_STATE_CAPTURED.
942 * @see camera_start_preview()
943 * @see camera_start_capture();
944 * @see camera_stop_continuous_capture()
945 * @see camera_is_supported_zero_shutter_lag()
947 int camera_start_continuous_capture(camera_h camera, int count, int interval, camera_capturing_cb capturing_cb, camera_capture_completed_cb completed_cb, void *user_data);
950 * @brief Aborts continuous capturing.
952 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
954 * @privilege %http://tizen.org/privilege/camera
955 * @remarks The camera state will be changed to #CAMERA_STATE_CAPTURED.
956 * @param[in] camera The handle to the camera
957 * @return @c 0 on success, otherwise a negative error value
958 * @retval #CAMERA_ERROR_NONE Successful
959 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
960 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
961 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
962 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
963 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
964 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
965 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
967 * @see camera_start_continuous_capture()
969 int camera_stop_continuous_capture(camera_h camera);
972 * @brief Gets the state of the camera.
974 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
975 * @param[in] camera The handle to the camera
976 * @param[out] state The current state of the camera
977 * @return @c 0 on success, otherwise a negative error value
978 * @retval #CAMERA_ERROR_NONE Successful
979 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
980 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
981 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
982 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
983 * @see camera_create()
984 * @see camera_start_preview()
985 * @see camera_stop_preview()
986 * @see camera_start_capture()
988 int camera_get_state(camera_h camera, camera_state_e *state);
991 * @brief Starts camera auto-focusing, asynchronously.
993 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
995 * @privilege %http://tizen.org/privilege/camera
996 * @remarks If continuous status is @c true, the camera continuously tries to focus.
997 * @param[in] camera The handle to the camera
998 * @param[in] continuous The status of continuous focusing
999 * @return @c 0 on success, otherwise a negative error value
1000 * @retval #CAMERA_ERROR_NONE Successful
1001 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1002 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1003 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
1004 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1005 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1006 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1007 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
1008 * @post The camera focus state will be #CAMERA_FOCUS_STATE_ONGOING.
1010 * @see camera_cancel_focusing()
1011 * @see camera_set_focus_changed_cb()
1012 * @see camera_focus_changed_cb()
1013 * @see camera_attr_set_af_mode()
1015 int camera_start_focusing(camera_h camera, bool continuous);
1018 * @brief Stops camera auto focusing.
1019 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1021 * @privilege %http://tizen.org/privilege/camera
1022 * @param[in] camera The handle to the camera
1023 * @return @c 0 on success, otherwise a negative error value
1024 * @retval #CAMERA_ERROR_NONE Successful
1025 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1026 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1027 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
1028 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1029 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1030 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1031 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
1033 * @see camera_start_focusing()
1034 * @see camera_focus_changed_cb()
1036 int camera_cancel_focusing(camera_h camera);
1039 * @brief Sets the display handle to show preview images.
1041 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1042 * @remarks This function must be called before previewing (see camera_start_preview()).
1043 * In Custom ROI display mode, camera_attr_set_display_roi_area() function must be called before calling this function.
1044 * @param[in] camera The handle to the camera
1045 * @param[in] type The display type
1046 * @param[in] display The display handle from #GET_DISPLAY
1047 * @return @c 0 on success, otherwise a negative error value
1048 * @retval #CAMERA_ERROR_NONE Successful
1049 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1050 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1051 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
1052 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1053 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1054 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1055 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
1057 * @see camera_start_preview()
1060 int camera_set_display(camera_h camera, camera_display_type_e type, camera_display_h display);
1063 * @brief Sets the resolution of the preview.
1065 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1067 * @privilege %http://tizen.org/privilege/camera
1068 * @remarks This function should be called before previewing (camera_start_preview()).
1069 * @param[in] camera The handle to the camera
1070 * @param[in] width The preview width
1071 * @param[in] height The preview height
1072 * @return @c 0 on success, otherwise a negative error value
1073 * @retval #CAMERA_ERROR_NONE Successful
1074 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1075 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1076 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1077 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1078 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1079 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
1081 * @see camera_start_preview()
1082 * @see camera_get_preview_resolution()
1083 * @see camera_foreach_supported_preview_resolution()
1085 int camera_set_preview_resolution(camera_h camera, int width, int height);
1088 * @brief Gets the resolution of the preview.
1090 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1091 * @param[in] camera The handle to the camera
1092 * @param[out] width The preview width
1093 * @param[out] height The preview height
1094 * @return @c 0 on success, otherwise a negative error value
1095 * @retval #CAMERA_ERROR_NONE Successful
1096 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1097 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1098 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1099 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1100 * @see camera_set_preview_resolution()
1101 * @see camera_foreach_supported_preview_resolution()
1103 int camera_get_preview_resolution(camera_h camera, int *width, int *height);
1106 * @brief Gets the recommended preview resolution.
1108 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1109 * @remarks Depending on the capture resolution aspect ratio and display resolution, the recommended preview resolution is determined.
1110 * @param[in] camera The handle to the camera
1111 * @param[out] width The preview width
1112 * @param[out] height The preview height
1113 * @return @c 0 on success, otherwise a negative error value
1114 * @retval #CAMERA_ERROR_NONE Successful
1115 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1116 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1117 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1118 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1119 * @see camera_set_preview_resolution()
1120 * @see camera_foreach_supported_preview_resolution()
1122 int camera_get_recommended_preview_resolution(camera_h camera, int *width, int *height);
1125 * @brief Starts face detection.
1126 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1128 * @privilege %http://tizen.org/privilege/camera
1129 * @remarks This should be called after the preview is started.\n
1130 * This callback will be invoked when the face is detected in the preview frame.\n
1131 * Internally it starts continuous focus and focusing on the detected face.\n
1132 * When face detection is running, the camera_start_focusing(), camera_cancel_focusing(), camera_attr_set_af_mode(), camera_attr_set_af_area(), camera_attr_set_exposure_mode(), and camera_attr_set_whitebalance() settings are ignored.\n
1133 * If camera_stop_preview() is invoked, face detection is stopped and then preview is resumed using camera_start_preview(), this method should be called again to resume face detection.
1134 * @param[in] camera The handle to the camera
1135 * @param[in] callback The callback to notify face detection
1136 * @param[in] user_data The user data to be passed to the callback function
1138 * @return @c 0 on success, otherwise a negative error value
1139 * @retval #CAMERA_ERROR_NONE Successful
1140 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1141 * @retval #CAMERA_ERROR_INVALID_STATE Not preview state
1142 * @retval #CAMERA_ERROR_INVALID_OPERATION Not supported this feature
1143 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1144 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1145 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1146 * @pre The camera state must be #CAMERA_STATE_PREVIEW.
1148 * @see camera_stop_face_detection()
1149 * @see camera_face_detected_cb()
1150 * @see camera_is_supported_face_detection()
1152 int camera_start_face_detection(camera_h camera, camera_face_detected_cb callback, void *user_data);
1155 * @brief Stops face detection.
1157 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1159 * @privilege %http://tizen.org/privilege/camera
1160 * @param[in] camera The handle to the camera
1161 * @return @c 0 on success, otherwise a negative error value
1162 * @retval #CAMERA_ERROR_NONE Successful
1163 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1164 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1165 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1166 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1167 * @pre This should be called after face detection is started.
1169 * @see camera_start_face_detection()
1170 * @see camera_is_supported_face_detection()
1172 int camera_stop_face_detection(camera_h camera);
1179 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1184 * @brief Gets continuous capture feature's supported state.
1185 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1186 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1187 * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
1188 * @param[in] camera The handle to the camera
1189 * @return @c true on supported, otherwise false
1190 * @exception #CAMERA_ERROR_NONE Successful
1191 * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1192 * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1193 * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1196 bool camera_is_supported_continuous_capture(camera_h camera);
1199 * @brief Retrieves all supported camera preview resolutions by invoking the callback function once for each supported camera preview resolution.
1201 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1202 * @param[in] camera The handle to the camera
1203 * @param[in] callback The callback function to be invoked
1204 * @param[in] user_data The user data to be passed to the callback function
1205 * @return @c 0 on success, otherwise a negative error value
1206 * @retval #CAMERA_ERROR_NONE Successful
1207 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1208 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1209 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1210 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1211 * @post This function invokes camera_supported_preview_resolution_cb() repeatedly to retrieve each supported preview resolution.
1213 * @see camera_set_preview_resolution()
1214 * @see camera_get_preview_resolution()
1215 * @see camera_supported_preview_resolution_cb()
1217 int camera_foreach_supported_preview_resolution(camera_h camera, camera_supported_preview_resolution_cb callback, void *user_data);
1224 * @addtogroup CAPI_MEDIA_CAMERA_MODULE
1229 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1230 * @brief Sets the display rotation.
1232 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1234 * @privilege %http://tizen.org/privilege/camera
1235 * @remarks This function should be called before previewing (see camera_start_preview())
1236 * @param[in] camera The handle to the camera
1237 * @param[in] rotation The display rotation
1238 * @return @c 0 on success, otherwise a negative error value
1239 * @retval #CAMERA_ERROR_NONE Successful
1240 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1241 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1242 * @retval #CAMERA_ERROR_INVALID_OPERATION Display type is incorrect
1243 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1244 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1245 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1246 * @see camera_start_preview()
1247 * @see camera_get_display_rotation()
1249 int camera_set_display_rotation(camera_h camera, camera_rotation_e rotation);
1252 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1253 * @brief Gets the display rotation.
1255 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1256 * @param[in] camera The handle to the camera
1257 * @param[out] rotation The display rotation
1258 * @return @c 0 on success, otherwise a negative error value
1259 * @retval #CAMERA_ERROR_NONE Successful
1260 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1261 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1262 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1263 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1264 * @see camera_set_display_rotation()
1266 int camera_get_display_rotation(camera_h camera, camera_rotation_e *rotation);
1269 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1270 * @brief Sets the display flip.
1272 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1274 * @privilege %http://tizen.org/privilege/camera
1275 * @param[in] camera The handle to the camera
1276 * @param[in] flip The display flip
1277 * @return @c 0 on success, otherwise a negative error value
1278 * @retval #CAMERA_ERROR_NONE Successful
1279 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1280 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1281 * @retval #CAMERA_ERROR_INVALID_OPERATION Display type is incorrect
1282 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1283 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1284 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1285 * @see camera_get_display_flip()
1287 int camera_set_display_flip(camera_h camera, camera_flip_e flip);
1290 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1291 * @brief Gets the display flip.
1293 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1294 * @param[in] camera The handle to the camera
1295 * @param[out] flip The display flip
1296 * @return @c 0 on success, otherwise a negative error value
1297 * @retval #CAMERA_ERROR_NONE Successful
1298 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1299 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1300 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1301 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1302 * @see camera_set_display_flip()
1304 int camera_get_display_flip(camera_h camera, camera_flip_e *flip);
1307 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1308 * @brief Sets the visible property for display.
1310 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1312 * @privilege %http://tizen.org/privilege/camera
1313 * @param[in] camera The handle to the camera
1314 * @param[in] visible The display visibility property
1316 * @return @c 0 on success, otherwise a negative error value
1317 * @retval #CAMERA_ERROR_NONE Successful
1318 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1319 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1320 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1321 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1322 * @see camera_is_display_visible()
1324 int camera_set_display_visible(camera_h camera, bool visible);
1327 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1328 * @brief Gets the visible property of display.
1330 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1331 * @param[in] camera The handle to the camera
1332 * @param[out] visible @c true if camera display is visible, otherwise @c false
1334 * @return @c 0 on success, otherwise a negative error value
1335 * @retval #CAMERA_ERROR_NONE Successful
1336 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1337 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1338 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1339 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1340 * @see camera_set_display_visible()
1342 int camera_is_display_visible(camera_h camera, bool *visible);
1345 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1346 * @brief Sets the display mode.
1348 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1349 * @param[in] camera The handle to the camera
1350 * @param[in] mode The display mode
1352 * @return @c 0 on success, otherwise a negative error value
1353 * @retval #CAMERA_ERROR_NONE Successful
1354 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1355 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1356 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1357 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1358 * @see camera_get_display_mode()
1360 int camera_set_display_mode(camera_h camera, camera_display_mode_e mode);
1363 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1364 * @brief Gets the display mode.
1366 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1367 * @param[in] camera The handle to the camera
1368 * @param[out] mode The display mode
1370 * @return @c 0 on success, otherwise a negative error value
1371 * @retval #CAMERA_ERROR_NONE Successful
1372 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1373 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1374 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1375 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1376 * @see camera_set_display_mode()
1378 int camera_get_display_mode(camera_h camera, camera_display_mode_e *mode);
1381 * @brief Sets the hint for display reuse.
1383 * @details If the hint is set to true, the display will be reused when the camera device is changed with camera_change_device().
1384 * @remarks If the current display type is #CAMERA_DISPLAY_TYPE_NONE, this function will return #CAMERA_ERROR_INVALID_OPERATION.
1385 * @param[in] camera The handle to the camera
1386 * @param[in] hint The hint for display reuse; true - reuse the display, false - do not reuse
1387 * @return @c 0 on success, otherwise a negative error value
1388 * @retval #CAMERA_ERROR_NONE Successful
1389 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1390 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1391 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
1392 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1393 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
1394 * @see camera_get_display_reuse_hint()
1395 * @see camera_change_device()
1397 int camera_set_display_reuse_hint(camera_h camera, bool hint);
1400 * @brief Gets the hint for display reuse.
1402 * @remarks If the current display type is #CAMERA_DISPLAY_TYPE_NONE, this function will return #CAMERA_ERROR_INVALID_OPERATION.
1403 * @param[in] camera The handle to the camera
1404 * @param[out] hint The hint for display reuse; true - reuse the display, false - do not reuse
1405 * @return @c 0 on success, otherwise a negative error value
1406 * @retval #CAMERA_ERROR_NONE Successful
1407 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1408 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
1409 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1410 * @see camera_get_display_reuse_hint()
1411 * @see camera_change_device()
1413 int camera_get_display_reuse_hint(camera_h camera, bool *hint);
1416 * @brief Sets the resolution of the captured image.
1417 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1419 * @privilege %http://tizen.org/privilege/camera
1420 * @param[in] camera The handle to the camera
1421 * @param[in] width The capture width
1422 * @param[in] height The capture height
1423 * @return @c 0 on success, otherwise a negative error value
1424 * @retval #CAMERA_ERROR_NONE Successful
1425 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1426 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1427 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1428 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1429 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1430 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
1431 * @see camera_start_capture()
1432 * @see camera_get_capture_resolution()
1433 * @see camera_foreach_supported_capture_resolution()
1435 int camera_set_capture_resolution(camera_h camera, int width, int height);
1438 * @brief Gets the resolution of the captured image.
1439 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1440 * @param[in] camera The handle to the camera
1441 * @param[out] width The capture width
1442 * @param[out] height The capture height
1443 * @return @c 0 on success, otherwise a negative error value
1444 * @retval #CAMERA_ERROR_NONE Successful
1445 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1446 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1447 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1448 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1449 * @see camera_set_capture_resolution()
1450 * @see camera_foreach_supported_capture_resolution()
1452 int camera_get_capture_resolution(camera_h camera, int *width, int *height);
1459 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1464 * @brief Retrieves all supported camera captured resolutions by invoking the callback function once for each supported camera capture resolution.
1466 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1467 * @param[in] camera The handle to the camera
1468 * @param[in] callback The callback function to register
1469 * @param[in] user_data The user data to be passed to the callback function
1470 * @return @c 0 on success, otherwise a negative error value
1471 * @retval #CAMERA_ERROR_NONE Successful
1472 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1473 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1474 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1475 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1476 * @post This function invokes camera_supported_capture_resolution_cb() repeatedly to retrieve each supported capture resolution.
1477 * @see camera_set_capture_resolution()
1478 * @see camera_get_capture_resolution()
1479 * @see camera_supported_capture_resolution_cb()
1481 int camera_foreach_supported_capture_resolution(camera_h camera, camera_supported_capture_resolution_cb callback, void *user_data);
1488 * @addtogroup CAPI_MEDIA_CAMERA_MODULE
1493 * @brief Sets the format of an image to be captured.
1495 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1496 * @remarks This function should be called before capturing (see camera_start_capture()).
1497 * @param[in] camera The handle to the camera
1498 * @param[out] format The format of the image to be captured
1499 * @return @c 0 on success, otherwise a negative error value
1500 * @retval #CAMERA_ERROR_NONE Successful
1501 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1502 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1503 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1504 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1505 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1506 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
1507 * @see camera_start_capture()
1508 * @see camera_get_capture_format()
1509 * @see camera_foreach_supported_capture_format()
1511 int camera_set_capture_format(camera_h camera, camera_pixel_format_e format);
1514 * @brief Gets the format of the image to be captured.
1516 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1517 * @param[in] camera The handle to the camera
1518 * @param[out] format The format of the image to be captured
1519 * @return @c 0 on success, otherwise a negative error value
1520 * @retval #CAMERA_ERROR_NONE Successful
1521 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1522 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1523 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1524 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1525 * @see camera_set_capture_format()
1526 * @see camera_foreach_supported_capture_format()
1528 int camera_get_capture_format(camera_h camera, camera_pixel_format_e *format);
1535 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1540 * @brief Retrieves all supported camera capture formats by invoking the callback function once for each supported camera capture format.
1542 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1543 * @param[in] camera The handle to the camera
1544 * @param[in] callback The callback function to be invoked
1545 * @param[in] user_data The user data to be passed to the callback function
1546 * @return @c 0 on success, otherwise a negative error value
1547 * @retval #CAMERA_ERROR_NONE Successful
1548 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1549 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1550 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1551 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1552 * @post This function invokes camera_supported_capture_format_cb() repeatedly to retrieve each supported capture format.
1553 * @see camera_set_capture_format()
1554 * @see camera_get_capture_format()
1555 * @see camera_supported_capture_format_cb()
1557 int camera_foreach_supported_capture_format(camera_h camera, camera_supported_capture_format_cb callback, void *user_data);
1564 * @addtogroup CAPI_MEDIA_CAMERA_MODULE
1569 * @brief Sets the preview data format.
1570 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1571 * @remarks This function should be called before previewing (see camera_start_preview()).
1572 * @param[in] camera The handle to the camera
1573 * @param[in] format The preview data format
1574 * @return @c 0 on success, otherwise a negative error value
1575 * @retval #CAMERA_ERROR_NONE Successful
1576 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1577 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1578 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1579 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1580 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1581 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
1582 * @see camera_start_preview()
1583 * @see camera_get_preview_format()
1584 * @see camera_foreach_supported_preview_format()
1586 int camera_set_preview_format(camera_h camera, camera_pixel_format_e format);
1589 * @brief Gets the format of the preview stream.
1590 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1591 * @param[in] camera The handle to the camera
1592 * @param[out] format The preview data format
1593 * @return @c 0 on success, otherwise a negative error value
1594 * @retval #CAMERA_ERROR_NONE Successful
1595 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1596 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1597 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1598 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1599 * @see camera_set_preview_format()
1600 * @see camera_foreach_supported_preview_format()
1602 int camera_get_preview_format(camera_h camera, camera_pixel_format_e *format);
1605 * @brief Gets the facing direction of camera module.
1607 * @param[in] camera The handle to the camera
1608 * @param[out] facing_direction The facing direction of camera module
1609 * @return @c 0 on success, otherwise a negative error value
1610 * @retval #CAMERA_ERROR_NONE Successful
1611 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
1612 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1613 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1614 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1616 int camera_get_facing_direction(camera_h camera, camera_facing_direction_e *facing_direction);
1619 * @brief Gets the camera's flash state.
1621 * @param[in] device The hardware camera to access
1622 * @param[out] state The current flash state
1623 * @return @c 0 on success, otherwise a negative error value
1624 * @retval #CAMERA_ERROR_NONE Successful
1625 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
1626 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1627 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1628 * @see camera_attr_set_flash_mode()
1629 * @see camera_attr_get_flash_mode()
1631 int camera_get_flash_state(camera_device_e device, camera_flash_state_e *state);
1638 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1643 * @brief Retrieves all supported camera preview formats by invoking the callback function once for each supported camera preview format.
1644 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1645 * @param[in] camera The handle to the camera
1646 * @param[in] callback The callback function to be invoked
1647 * @param[in] user_data The user data to be passed to the callback function
1648 * @return @c 0 on success, otherwise a negative error value
1649 * @retval #CAMERA_ERROR_NONE Successful
1650 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1651 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1652 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1653 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1654 * @post This function invokes camera_supported_preview_format_cb() repeatedly to retrieve each supported preview format.
1655 * @see camera_set_preview_format()
1656 * @see camera_get_preview_format()
1657 * @see camera_supported_preview_format_cb()
1659 int camera_foreach_supported_preview_format(camera_h camera, camera_supported_preview_format_cb callback, void *user_data);
1662 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1663 * @brief Gets the face detection feature's supported state.
1664 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1665 * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
1666 * @param[in] camera The handle to the camera
1667 * @return @c true if supported, otherwise @c false
1668 * @see camera_start_face_detection()
1669 * @see camera_stop_face_detection()
1670 * @exception #CAMERA_ERROR_NONE Successful
1671 * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1672 * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1673 * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1675 bool camera_is_supported_face_detection(camera_h camera);
1678 * @brief Gets the zero shutter lag feature's supported state.
1679 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1680 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1681 * @remarks If supporting zero shutter lag, continuous shot can be done with full capture size. \n
1682 * The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
1683 * @param[in] camera The handle to the camera
1684 * @return @c true if supported, otherwise @c false
1685 * @exception #CAMERA_ERROR_NONE Successful
1686 * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1687 * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1688 * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1690 bool camera_is_supported_zero_shutter_lag(camera_h camera);
1693 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1694 * @brief Gets the camera device count.
1695 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1696 * @remarks If the device supports primary and secondary camera, this returns @c 2. If @c 1 is returned, the device only supports primary camera.
1697 * @param[in] camera The handle to the camera
1698 * @param[out] device_count The device count
1699 * @return @c 0 on success, otherwise a negative error value
1700 * @retval #CAMERA_ERROR_NONE Successful
1701 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1702 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1703 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1704 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1706 int camera_get_device_count(camera_h camera, int *device_count);
1709 * @brief Gets the media packet preview callback feature's supported state.
1710 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1711 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1712 * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
1713 * @param[in] camera The handle to the camera
1714 * @return @c true if supported, otherwise @c false
1715 * @exception #CAMERA_ERROR_NONE Successful
1716 * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1717 * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1718 * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1721 bool camera_is_supported_media_packet_preview_cb(camera_h camera);
1728 * @addtogroup CAPI_MEDIA_CAMERA_MODULE
1733 * @brief Registers a callback function to be called once per frame when previewing.
1734 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1735 * @remarks This callback does not work in the video recorder mode.\n
1736 * This function should be called before previewing (see camera_start_preview()).\n
1737 * A registered callback is called on the internal thread of the camera.\n
1738 * A video frame can be retrieved using a registered callback,\n
1739 * and the buffer is only available in a registered callback.\n
1740 * Since tizen 3.0, if you change the buffer in a registered callback,\n
1741 * it could not be displayed on the device in case of copied buffer.\n
1742 * and if camera_is_supported_media_packet_preview_cb() returns false,\n
1743 * it's copied buffer case.
1744 * @param[in] camera The handle to the camera
1745 * @param[in] callback The callback function to be registered
1746 * @param[in] user_data The user data to be passed to the callback function
1747 * @return @c 0 on success, otherwise a negative error value
1748 * @retval #CAMERA_ERROR_NONE Successful
1749 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1750 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1751 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1752 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1753 * @pre The camera's state must be set to #CAMERA_STATE_CREATED.
1754 * @see camera_start_preview()
1755 * @see camera_unset_preview_cb()
1756 * @see camera_preview_cb()
1758 int camera_set_preview_cb(camera_h camera, camera_preview_cb callback, void *user_data);
1761 * @brief Unregisters the callback function.
1762 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1763 * @param[in] camera The handle to the camera
1764 * @return @c 0 on success, otherwise a negative error value
1765 * @retval #CAMERA_ERROR_NONE Successful
1766 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1767 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1768 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1769 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1770 * @see camera_set_preview_cb()
1772 int camera_unset_preview_cb(camera_h camera);
1775 * @brief Registers a media packet callback function to be called once per frame when previewing.
1776 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1777 * @remarks This callback does not work in video recorder mode.\n
1778 * This function should be called before previewing (see camera_start_preview())\n
1779 * A registered callback is called on the internal thread of the camera.\n
1780 * A video frame can be retrieved using a registered callback as a media packet.\n
1781 * The callback function holds the same buffer that will be drawn on the display device.\n
1782 * So if you change the media packet in a registered callback, it will be displayed on the device\n
1783 * and the media packet is available until it's destroyed by media_packet_destroy().
1784 * @param[in] camera The handle to the camera
1785 * @param[in] callback The callback function to be registered
1786 * @param[in] user_data The user data to be passed to the callback function
1787 * @return 0 on success, otherwise a negative error value
1788 * @retval #CAMERA_ERROR_NONE Successful
1789 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1790 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1791 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1792 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1793 * @pre The camera's state should be #CAMERA_STATE_CREATED.
1794 * @see camera_start_preview()
1795 * @see camera_unset_media_packet_preview_cb()
1796 * @see camera_media_packet_preview_cb()
1798 int camera_set_media_packet_preview_cb(camera_h camera, camera_media_packet_preview_cb callback, void *user_data);
1801 * @brief Unregisters the media packet callback function.
1802 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1803 * @param[in] camera The handle to the camera
1804 * @return @c 0 on success, otherwise a negative error value
1805 * @retval #CAMERA_ERROR_NONE Successful
1806 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1807 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1808 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1809 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1810 * @see camera_set_media_packet_preview_cb()
1812 int camera_unset_media_packet_preview_cb(camera_h camera);
1815 * @brief Registers a callback function to be called when the camera state changes.
1816 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1817 * @param[in] camera The handle to the camera
1818 * @param[in] callback The callback function to register
1819 * @param[in] user_data The user data to be passed to the callback function
1820 * @return @c 0 on success, otherwise a negative error value
1821 * @retval #CAMERA_ERROR_NONE Successful
1822 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1823 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1824 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1825 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1826 * @post This function will invoke camera_state_changed_cb() when the camera state changes.
1827 * @see camera_unset_state_changed_cb()
1828 * @see camera_state_changed_cb()
1830 int camera_set_state_changed_cb(camera_h camera, camera_state_changed_cb callback, void *user_data);
1833 * @brief Unregisters the callback function.
1834 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1835 * @param[in] camera The handle to the camera
1836 * @return @c 0 on success, otherwise a negative error value
1837 * @retval #CAMERA_ERROR_NONE Successful
1838 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1839 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1840 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1841 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1842 * @see camera_set_state_changed_cb()
1844 int camera_unset_state_changed_cb(camera_h camera);
1847 * @brief Registers a callback function to be called when the camera is interrupted by policy.
1848 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1849 * @param[in] camera The handle to the camera
1850 * @param[in] callback The callback function to register
1851 * @param[in] user_data The user data to be passed to the callback function
1852 * @return @c 0 on success, otherwise a negative error value
1853 * @retval #CAMERA_ERROR_NONE Successful
1854 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1855 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1856 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1857 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1858 * @see camera_unset_interrupted_cb()
1859 * @see camera_interrupted_cb()
1861 int camera_set_interrupted_cb(camera_h camera, camera_interrupted_cb callback,
1865 * @brief Unregisters the callback function.
1866 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1867 * @param[in] camera The handle to the camera
1868 * @return @c 0 on success, otherwise a negative error value
1869 * @retval #CAMERA_ERROR_NONE Successful
1870 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1871 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1872 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1873 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1874 * @see camera_set_interrupted_cb()
1876 int camera_unset_interrupted_cb(camera_h camera);
1879 * @brief Registers a callback function to be called when the auto-focus state changes.
1880 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1881 * @param[in] camera The handle to the camera
1882 * @param[in] callback The callback function to register
1883 * @param[in] user_data The user data to be passed to the callback function
1884 * @return @c 0 on success, otherwise a negative error value
1885 * @retval #CAMERA_ERROR_NONE Successful
1886 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1887 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1888 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1889 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1890 * @post This function will invoke camera_focus_changed_cb() when the auto-focus state changes.
1891 * @see camera_start_focusing()
1892 * @see camera_cancel_focusing()
1893 * @see camera_unset_focus_changed_cb()
1894 * @see camera_focus_changed_cb()
1896 int camera_set_focus_changed_cb(camera_h camera, camera_focus_changed_cb callback, void *user_data);
1899 * @brief Unregisters the callback function.
1900 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1901 * @param[in] camera The handle to the camera
1902 * @return @c 0 on success, otherwise a negative error value
1903 * @retval #CAMERA_ERROR_NONE Successful
1904 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1905 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1906 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1907 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1908 * @see camera_set_focus_changed_cb()
1910 int camera_unset_focus_changed_cb(camera_h camera);
1913 * @brief Registers a callback function to be called when an asynchronous operation error occurs.
1914 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1915 * @remarks This callback informs about a critical error situation.\n
1916 * When this callback is invoked, the user should release the resource and terminate the application.\n
1917 * In case of errors, one of the following codes will occur:\n
1918 * #CAMERA_ERROR_DEVICE,\n
1919 * #CAMERA_ERROR_INVALID_OPERATION,\n
1920 * #CAMERA_ERROR_OUT_OF_MEMORY.
1921 * @param[in] camera The handle to the camera
1922 * @param[in] callback The callback function to register
1923 * @param[in] user_data The user data to be passed to the callback function
1924 * @return @c 0 on success, otherwise a negative error value
1925 * @retval #CAMERA_ERROR_NONE Successful
1926 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1927 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1928 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1929 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1930 * @post This function will invoke camera_error_cb() when an asynchronous operation error occurs.
1932 * @see camera_unset_error_cb()
1933 * @see camera_error_cb()
1935 int camera_set_error_cb(camera_h camera, camera_error_cb callback, void *user_data);
1938 * @brief Unregisters the callback function.
1939 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1940 * @param[in] camera The handle to the camera
1941 * @return @c 0 on success, otherwise a negative error value
1942 * @retval #CAMERA_ERROR_NONE Successful
1943 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1944 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1945 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1946 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1947 * @see camera_set_error_cb()
1949 int camera_unset_error_cb(camera_h camera);
1952 * @brief Gets the state of camera device.
1954 * @param[in] device The hardware camera type
1955 * @param[out] state The current state of the device
1956 * @return @c 0 on success, otherwise a negative error value
1957 * @retval #CAMERA_ERROR_NONE Successful
1958 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1959 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
1960 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1962 int camera_get_device_state(camera_device_e device, camera_device_state_e *state);
1965 * @brief Registers a callback function to be called when the camera device state changes.
1967 * @param[in] callback The callback function to register
1968 * @param[in] user_data The user data to be passed to the callback function
1969 * @param[out] cb_id The id of registered callback
1970 * @return @c 0 on success, otherwise a negative error value
1971 * @retval #CAMERA_ERROR_NONE Successful
1972 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1973 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
1974 * @retval #CAMERA_ERROR_OUT_OF_MEMORY Out of memory
1975 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1976 * @post This function will invoke camera_device_state_changed_cb() when the camera device's state changes.
1977 * @see camera_remove_device_state_changed_cb()
1978 * @see camera_device_state_changed_cb()
1980 int camera_add_device_state_changed_cb(camera_device_state_changed_cb callback, void *user_data, int *cb_id);
1983 * @brief Unregisters the callback function.
1985 * @param[in] cb_id The id of registered callback
1986 * @return @c 0 on success, otherwise a negative error value
1987 * @retval #CAMERA_ERROR_NONE Successful
1988 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1989 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
1990 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1991 * @see camera_add_device_state_changed_cb()
1993 int camera_remove_device_state_changed_cb(int cb_id);
2000 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
2005 * @brief Called to get each supported auto-focus mode.
2006 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2007 * @param[in] mode The supported auto-focus mode
2008 * @param[in] user_data The user data passed from the foreach function
2009 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
2010 * @pre camera_attr_foreach_supported_af_mode() will invoke this callback.
2011 * @see camera_attr_foreach_supported_af_mode()
2013 typedef bool (*camera_attr_supported_af_mode_cb)(camera_attr_af_mode_e mode, void *user_data);
2016 * @brief Called to get each supported exposure mode.
2017 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2018 * @param[in] mode The supported exposure mode
2019 * @param[in] user_data The user data passed from the foreach function
2020 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
2021 * @pre camera_attr_foreach_supported_exposure_mode() will invoke this callback.
2022 * @see camera_attr_foreach_supported_exposure_mode()
2023 * @see #camera_attr_exposure_mode_e
2025 typedef bool (*camera_attr_supported_exposure_mode_cb)(camera_attr_exposure_mode_e mode, void *user_data);
2028 * @brief Called to get each supported ISO mode.
2029 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2030 * @param[in] iso The supported ISO mode
2031 * @param[in] user_data The user data passed from the foreach function
2032 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
2033 * @pre camera_attr_foreach_supported_iso() will invoke this callback.
2034 * @see camera_attr_foreach_supported_iso()
2036 typedef bool (*camera_attr_supported_iso_cb)(camera_attr_iso_e iso, void *user_data);
2039 * @brief Called to get each supported white balance.
2040 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2041 * @param[in] wb The supported white balance mode
2042 * @param[in] user_data The user data passed from the foreach function
2043 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
2044 * @pre camera_attr_foreach_supported_whitebalance() will invoke this callback.
2045 * @see camera_attr_foreach_supported_whitebalance()
2046 * @see #camera_attr_whitebalance_e
2048 typedef bool (*camera_attr_supported_whitebalance_cb)(camera_attr_whitebalance_e wb, void *user_data);
2051 * @brief Called to get each supported effect mode.
2052 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2053 * @param[in] effect The supported effect mode
2054 * @param[in] user_data The user data passed from the foreach function
2055 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
2056 * @pre camera_attr_foreach_supported_effect() will invoke this callback.
2057 * @see camera_attr_foreach_supported_effect()
2059 typedef bool (*camera_attr_supported_effect_cb)(camera_attr_effect_mode_e effect, void *user_data);
2062 * @brief Called to get each supported scene mode.
2063 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2064 * @param[in] mode The supported scene mode
2065 * @param[in] user_data The user data passed from the foreach function
2066 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
2067 * @pre camera_attr_foreach_supported_scene_mode() will invoke this callback.
2068 * @see camera_attr_foreach_supported_scene_mode()
2069 * @see #camera_attr_scene_mode_e
2071 typedef bool (*camera_attr_supported_scene_mode_cb)(camera_attr_scene_mode_e mode, void *user_data);
2074 * @brief Called to get each supported flash mode.
2075 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2076 * @param[in] mode The supported flash mode
2077 * @param[in] user_data The user data passed from the foreach function
2078 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
2079 * @pre camera_attr_foreach_supported_flash_mode() will invoke this callback.
2080 * @see camera_attr_foreach_supported_flash_mode()
2082 typedef bool (*camera_attr_supported_flash_mode_cb)(camera_attr_flash_mode_e mode, void *user_data);
2085 * @brief Called to get each supported FPS mode.
2086 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2087 * @param[in] mode The supported FPS mode
2088 * @param[in] user_data The user data passed from the foreach function
2089 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
2090 * @pre camera_attr_foreach_supported_fps() will invoke this callback.
2091 * @see camera_attr_foreach_supported_fps()
2093 typedef bool (*camera_attr_supported_fps_cb)(camera_attr_fps_e fps, void *user_data);
2096 * @brief Called to get each supported stream flip mode.
2097 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2098 * @param[in] mode The supported stream flip mode
2099 * @param[in] user_data The user data passed from the foreach function
2100 * @return @c true to continue with the next iteration of the loop, \n @c false to break out of the loop
2101 * @pre camera_attr_foreach_supported_stream_flip() will invoke this callback.
2102 * @see camera_attr_foreach_supported_stream_flip()
2104 typedef bool (*camera_attr_supported_stream_flip_cb)(camera_flip_e flip, void *user_data);
2107 * @brief Called to get each supported stream rotation mode.
2108 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2109 * @param[in] mode The supported stream rotation mode
2110 * @param[in] user_data The user data passed from the foreach function
2111 * @return @c true to continue with the next iteration of the loop, \n @c false to break out of the loop
2112 * @pre camera_attr_foreach_supported_stream_rotation() will invoke this callback.
2113 * @see camera_attr_foreach_supported_stream_rotation()
2115 typedef bool (*camera_attr_supported_stream_rotation_cb)(camera_rotation_e rotation, void *user_data);
2118 * @brief Called to get each supported theater mode.
2119 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2120 * @param[in] mode The supported theater mode
2121 * @param[in] user_data The user data passed from the foreach function
2122 * @return @c true to continue with the next iteration of the loop, \n @c false to break out of the loop
2123 * @pre camera_attr_foreach_supported_theater_mode() will invoke this callback.
2124 * @see camera_attr_foreach_supported_theater_mode()
2126 typedef bool (*camera_attr_supported_theater_mode_cb)(camera_attr_theater_mode_e mode, void *user_data);
2129 * @brief Called to get each supported PTZ(Pan Tilt Zoom) type.
2131 * @param[in] type The supported ptz type
2132 * @param[in] user_data The user data passed from the foreach function
2133 * @return @c true to continue with the next iteration of the loop, \n @c false to break out of the loop
2134 * @pre camera_attr_foreach_supported_ptz_mode() will invoke this callback.
2135 * @see camera_attr_foreach_supported_ptz_mode()
2137 typedef bool (*camera_attr_supported_ptz_type_cb)(camera_attr_ptz_type_e type, void *user_data);
2145 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
2150 * @brief Sets the preview frame rate.
2151 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2152 * @remarks This function should be called before previewing (see camera_start_preview()).
2153 * @param[in] camera The handle to the camera
2154 * @param[in] fps The frame rate
2155 * @return @c 0 on success, otherwise a negative error value
2156 * @retval #CAMERA_ERROR_NONE Successful
2157 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2158 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2159 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2160 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2161 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2162 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
2163 * @see camera_start_preview()
2164 * @see camera_attr_get_preview_fps()
2165 * @see camera_attr_foreach_supported_fps()
2167 int camera_attr_set_preview_fps(camera_h camera, camera_attr_fps_e fps);
2170 * @brief Gets the frames per second of a preview video stream.
2171 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2172 * @param[in] camera The handle to the camera
2173 * @param[out] fps The frames per second of the preview video stream
2174 * @return @c 0 on success, otherwise a negative error value
2175 * @retval #CAMERA_ERROR_NONE Successful
2176 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2177 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2178 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2179 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2180 * @see camera_attr_set_preview_fps()
2181 * @see camera_attr_foreach_supported_fps()
2183 int camera_attr_get_preview_fps(camera_h camera, camera_attr_fps_e *fps);
2190 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
2195 * @brief Retrieves all supported FPS modes by invoking the callback function once for each supported FPS mode.
2196 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2197 * @param[in] camera The handle to the camera
2198 * @param[in] callback The callback function to invoke
2199 * @param[in] user_data The user data to be passed to the callback function
2200 * @return @c 0 on success, otherwise a negative error value
2201 * @retval #CAMERA_ERROR_NONE Successful
2202 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2203 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2204 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2205 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2206 * @post This function invokes camera_attr_supported_fps_cb() repeatedly to get each supported FPS mode.
2207 * @see camera_attr_set_preview_fps()
2208 * @see camera_attr_get_preview_fps()
2209 * @see camera_attr_supported_fps_cb()
2211 int camera_attr_foreach_supported_fps(camera_h camera, camera_attr_supported_fps_cb callback, void *user_data);
2214 * @brief Retrieves all supported FPS modes by invoking the callback function once for each supported FPS mode.
2215 * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
2216 * @param[in] camera The handle to the camera
2218 * @privilege %http://tizen.org/privilege/camera
2219 * @param[in] width Required preview resolution's width
2220 * @param[in] height Required preview resolution's height
2221 * @param[in] callback The callback function to invoke
2222 * @param[in] user_data The user data to be passed to the callback function
2223 * @return @c 0 on success, otherwise a negative error value
2224 * @retval #CAMERA_ERROR_NONE Successful
2225 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2226 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2227 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2228 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2229 * @post This function invokes camera_attr_supported_fps_cb() repeatedly to get each supported FPS mode.
2230 * @see camera_attr_set_preview_fps()
2231 * @see camera_attr_get_preview_fps()
2232 * @see camera_attr_supported_fps_cb()
2234 int camera_attr_foreach_supported_fps_by_resolution(camera_h camera, int width, int height, camera_attr_supported_fps_cb callback, void *user_data);
2241 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
2246 * @brief Sets quality of the image.
2247 * @details The range for image quality is 1 to 100. If @a quality is out of range, #CAMERA_ERROR_INVALID_PARAMETER error occurred.
2248 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2250 * @privilege %http://tizen.org/privilege/camera
2251 * @param[in] camera The handle to the camera
2252 * @param[in] quality The quality of image (1 ~ 100)
2253 * @return @c 0 on success, otherwise a negative error value
2254 * @retval #CAMERA_ERROR_NONE Successful
2255 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2256 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2257 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2258 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2259 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2260 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2261 * @see camera_start_preview()
2262 * @see camera_attr_get_image_quality()
2264 int camera_attr_set_image_quality(camera_h camera, int quality);
2267 * @brief Gets the quality of a still image, which is captured.
2268 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2269 * @param[in] camera The handle to the camera
2270 * @param[out] quality The quality of the image(1 ~ 100)
2271 * @return @c 0 on success, otherwise a negative error value
2272 * @retval #CAMERA_ERROR_NONE Successful
2273 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2274 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2275 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2276 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2277 * @see camera_attr_set_image_quality()
2279 int camera_attr_get_image_quality(camera_h camera, int *quality);
2282 * @brief Gets the bit rate of encoded preview.
2284 * @param[in] camera The handle to the camera
2285 * @param[out] bitrate The bit rate of encoded preview
2286 * @return @c 0 on success, otherwise a negative error value
2287 * @retval #CAMERA_ERROR_NONE Successful
2288 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
2289 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2290 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2291 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2292 * @see camera_attr_set_encoded_preview_bitrate()
2294 int camera_attr_get_encoded_preview_bitrate(camera_h camera, int *bitrate);
2297 * @brief Sets the bit rate of encoded preview.
2299 * @param[in] camera The handle to the camera
2300 * @param[in] bitrate The bit rate of encoded preview
2301 * @return @c 0 on success, otherwise a negative error value
2302 * @retval #CAMERA_ERROR_NONE Successful
2303 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
2304 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2305 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2306 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2307 * @see camera_attr_get_encoded_preview_bitrate()
2309 int camera_attr_set_encoded_preview_bitrate(camera_h camera, int bitrate);
2312 * @brief Gets the GOP(Group Of Pictures) interval of encoded preview.
2314 * @param[in] camera The handle to the camera
2315 * @param[out] interval the GOP interval of encoded preview (millisecond)
2316 * @return @c 0 on success, otherwise a negative error value
2317 * @retval #CAMERA_ERROR_NONE Successful
2318 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
2319 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2320 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2321 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2322 * @see camera_attr_get_encoded_preview_gop_interval()
2324 int camera_attr_get_encoded_preview_gop_interval(camera_h camera, int *interval);
2327 * @brief Sets the GOP(Group Of Pictures) interval of encoded preview.
2329 * @param[in] camera The handle to the camera
2330 * @param[in] interval the GOP interval of encoded preview (millisecond)
2331 * @return @c 0 on success, otherwise a negative error value
2332 * @retval #CAMERA_ERROR_NONE Successful
2333 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
2334 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2335 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2336 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2337 * @see camera_attr_set_encoded_preview_gop_interval()
2339 int camera_attr_set_encoded_preview_gop_interval(camera_h camera, int interval);
2342 * @brief Sets the zoom level.
2343 * @details The range for the zoom level is received from camera_attr_get_zoom_range(). If @a zoom is out of range, the #CAMERA_ERROR_INVALID_PARAMETER error occurs.
2344 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2346 * @privilege %http://tizen.org/privilege/camera
2347 * @param[in] camera The handle to the camera
2348 * @param[in] zoom The zoom level
2349 * @return @c 0 on success, otherwise a negative error value
2350 * @retval #CAMERA_ERROR_NONE Successful
2351 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2352 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2353 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2354 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2355 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2356 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2357 * @see camera_attr_get_zoom()
2358 * @see camera_attr_get_zoom_range()
2360 int camera_attr_set_zoom(camera_h camera, int zoom);
2363 * @brief Gets the zoom level.
2364 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2365 * @param[in] camera The handle to the camera
2366 * @param[out] zoom The zoom level
2367 * @return @c 0 on success, otherwise a negative error value
2368 * @retval #CAMERA_ERROR_NONE Successful
2369 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2370 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2371 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2372 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2373 * @see camera_attr_set_zoom()
2374 * @see camera_attr_get_zoom_range()
2376 int camera_attr_get_zoom(camera_h camera, int *zoom);
2379 * @brief Gets the available zoom level.
2380 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2381 * @remarks If the min value is greater than the max value, it means that this feature is not supported.
2382 * @param[in] camera The handle to the camera
2383 * @param[out] min The minimum zoom level
2384 * @param[out] max The maximum zoom level
2385 * @return @c 0 on success, otherwise a negative error value
2386 * @retval #CAMERA_ERROR_NONE Successful
2387 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2388 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2389 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2390 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2391 * @see camera_attr_set_zoom()
2392 * @see camera_attr_get_zoom()
2394 int camera_attr_get_zoom_range(camera_h camera, int *min, int *max);
2398 * @brief Sets the auto focus mode.
2399 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2401 * @privilege %http://tizen.org/privilege/camera
2402 * @param[in] camera The handle to the camera
2403 * @param[in] mode The auto focus mode
2404 * @return @c 0 on success, otherwise a negative error value
2405 * @retval #CAMERA_ERROR_NONE Successful
2406 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2407 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2408 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2409 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2410 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2411 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2412 * @see camera_attr_get_af_mode()
2413 * @see camera_attr_foreach_supported_af_mode()
2414 * @see #camera_attr_af_mode_e
2416 int camera_attr_set_af_mode(camera_h camera, camera_attr_af_mode_e mode);
2419 * @brief Gets the auto focus mode.
2420 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2422 * @privilege %http://tizen.org/privilege/camera
2423 * @param[in] camera The handle to the camera
2424 * @param[out] mode The auto focus mode
2425 * @return @c 0 on success, otherwise a negative error value
2426 * @retval #CAMERA_ERROR_NONE Successful
2427 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2428 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2429 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2430 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2431 * @see camera_attr_foreach_supported_af_mode()
2432 * @see camera_attr_set_af_mode()
2433 * @see #camera_attr_af_mode_e
2435 int camera_attr_get_af_mode(camera_h camera, camera_attr_af_mode_e *mode);
2438 * @brief Sets auto focus area.
2439 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2441 * @privilege %http://tizen.org/privilege/camera
2442 * @remarks This API is invalid in the #CAMERA_ATTR_AF_NONE mode.\n
2443 * The coordinates are mapped to preview area.
2444 * @param[in] camera The handle to the camera
2445 * @param[in] x The x coordinates of the focus area
2446 * @param[in] y The y coordinates of the focus area
2447 * @return @c 0 on success, otherwise a negative error value
2448 * @retval #CAMERA_ERROR_NONE Successful
2449 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2450 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
2451 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2452 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2453 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2454 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2455 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2456 * @see camera_attr_set_af_mode()
2457 * @see camera_attr_clear_af_area()
2459 int camera_attr_set_af_area(camera_h camera, int x, int y);
2462 * @brief Clears the auto focus area.
2463 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2465 * @privilege %http://tizen.org/privilege/camera
2466 * @remarks The focusing area is set to the center.
2467 * @param[in] camera The handle to the camera
2468 * @return @c 0 on success, otherwise a negative error value
2469 * @retval #CAMERA_ERROR_NONE Successful
2470 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2471 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
2472 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2473 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2474 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2475 * @see camera_attr_set_af_mode()
2476 * @see camera_attr_set_af_area()
2478 int camera_attr_clear_af_area(camera_h camera);
2485 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
2490 * @brief Retrieves all supported auto focus modes by invoking the callback function once for each supported auto focus mode.
2491 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2492 * @param[in] camera The handle to the camera
2493 * @param[in] callback The callback function to invoke
2494 * @param[in] user_data The user data to be passed to the callback function
2495 * @return @c 0 on success, otherwise a negative error value
2496 * @retval #CAMERA_ERROR_NONE Successful
2497 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2498 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2499 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2500 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2501 * @post This function invokes camera_attr_supported_af_mode_cb() to get all the supported auto focus modes.
2502 * @see camera_attr_set_af_mode()
2503 * @see camera_attr_get_af_mode()
2504 * @see camera_attr_supported_af_mode_cb()
2506 int camera_attr_foreach_supported_af_mode(camera_h camera, camera_attr_supported_af_mode_cb callback, void *user_data);
2513 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
2518 * @brief Sets the exposure mode.
2519 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2521 * @privilege %http://tizen.org/privilege/camera
2522 * @param[in] camera The handle to the camera
2523 * @param[in] mode The exposure mode
2524 * @return @c 0 on success, otherwise a negative error value
2525 * @retval #CAMERA_ERROR_NONE Successful
2526 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2527 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2528 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2529 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2530 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2531 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2532 * @see camera_attr_get_exposure_mode()
2533 * @see camera_attr_foreach_supported_exposure_mode()
2535 int camera_attr_set_exposure_mode(camera_h camera, camera_attr_exposure_mode_e mode);
2538 * @brief Gets the exposure mode.
2539 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2540 * @param[in] camera The handle to the camera
2541 * @param[out] mode The exposure mode
2542 * @return @c 0 on success, otherwise a negative error value
2543 * @retval #CAMERA_ERROR_NONE Successful
2544 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2545 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2546 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2547 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2548 * @see camera_attr_set_exposure_mode()
2549 * @see camera_attr_foreach_supported_exposure_mode()
2551 int camera_attr_get_exposure_mode(camera_h camera, camera_attr_exposure_mode_e *mode);
2558 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
2563 * @brief Retrieves all supported exposure modes by invoking the callback function once for each supported exposure mode.
2564 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2565 * @param[in] camera The handle to the camera
2566 * @param[in] callback The callback function to be invoked
2567 * @param[in] user_data The user data to be passed to the callback function
2568 * @return @c 0 on success, otherwise a negative error value
2569 * @retval #CAMERA_ERROR_NONE Successful
2570 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2571 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2572 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2573 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2574 * @post This function invokes camera_attr_supported_exposure_mode_cb() to get all the supported exposure modes.
2575 * @see camera_attr_set_exposure_mode()
2576 * @see camera_attr_get_exposure_mode()
2577 * @see camera_attr_supported_exposure_mode_cb()
2579 int camera_attr_foreach_supported_exposure_mode(camera_h camera, camera_attr_supported_exposure_mode_cb callback, void *user_data);
2586 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
2591 * @brief Sets the exposure value.
2592 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2594 * @privilege %http://tizen.org/privilege/camera
2595 * @param[in] camera The handle to the camera
2596 * @param[in] value The exposure value
2597 * @return @c 0 on success, otherwise a negative error value
2598 * @retval #CAMERA_ERROR_NONE Successful
2599 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2600 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2601 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2602 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2603 * @see camera_attr_get_exposure()
2605 int camera_attr_set_exposure(camera_h camera, int value);
2608 * @brief Gets the exposure value.
2609 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2610 * @param[in] camera The handle to the camera
2611 * @param[out] value The exposure value
2612 * @return @c 0 on success, otherwise a negative error value
2613 * @retval #CAMERA_ERROR_NONE Successful
2614 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2615 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2616 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2617 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2618 * @see camera_attr_set_exposure()
2620 int camera_attr_get_exposure(camera_h camera, int *value);
2623 * @brief Gets the available exposure value.
2624 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2625 * @remarks If the min value is greater than the max value, it means that this feature is not supported.
2626 * @param[in] camera The handle to the camera
2627 * @param[out] min The minimum exposure value
2628 * @param[out] max The maximum exposure value
2629 * @return @c 0 on success, otherwise a negative error value
2630 * @retval #CAMERA_ERROR_NONE Successful
2631 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2632 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2633 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2634 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2635 * @see camera_attr_set_exposure()
2637 int camera_attr_get_exposure_range(camera_h camera, int *min, int *max);
2640 * @brief Sets the ISO level.
2641 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2643 * @privilege %http://tizen.org/privilege/camera
2644 * @param[in] camera The handle to the camera
2645 * @param[in] iso The ISO level
2646 * @return @c 0 on success, otherwise a negative error value
2647 * @retval #CAMERA_ERROR_NONE Successful
2648 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2649 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2650 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2651 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2652 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2653 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2654 * @see camera_attr_get_iso()
2655 * @see camera_attr_foreach_supported_iso()
2657 int camera_attr_set_iso(camera_h camera, camera_attr_iso_e iso);
2660 * @brief Gets the ISO level.
2661 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2662 * @param[in] camera The handle to the camera
2663 * @param[out] iso The ISO level
2664 * @return @c 0 on success, otherwise a negative error value
2665 * @retval #CAMERA_ERROR_NONE Successful
2666 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2667 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2668 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2669 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2670 * @see camera_attr_set_iso()
2671 * @see camera_attr_foreach_supported_iso()
2673 int camera_attr_get_iso(camera_h camera, camera_attr_iso_e *iso);
2680 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
2685 * @brief Retrieves all supported ISO levels by invoking the callback function once for each supported ISO level.
2686 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2687 * @param[in] camera The handle to the camera
2688 * @param[in] callback The callback function to be invoked
2689 * @param[in] user_data The user data to be passed to the callback function
2690 * @return @c 0 on success, otherwise a negative error value
2691 * @retval #CAMERA_ERROR_NONE Successful
2692 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2693 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2694 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2695 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2696 * @post This function invokes camera_attr_supported_iso_cb() to get all the supported ISO levels.
2697 * @see camera_attr_set_iso()
2698 * @see camera_attr_get_iso()
2699 * @see camera_attr_supported_iso_cb()
2701 int camera_attr_foreach_supported_iso(camera_h camera, camera_attr_supported_iso_cb callback, void *user_data);
2708 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
2713 * @brief Sets the theater mode.
2714 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2716 * @privilege %http://tizen.org/privilege/camera
2717 * @remarks If you want to display the preview image on the external display with the full screen mode, use this function.
2718 * @param[in] camera The handle to the camera
2719 * @param[in] mode The mode to change
2720 * @return @c 0 on success, otherwise a negative error value
2721 * @retval #CAMERA_ERROR_NONE Successful
2722 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2723 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2724 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2725 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2726 * @pre This function is valid only when the external display is connected.
2727 * @see camera_attr_get_theater_mode()
2729 int camera_attr_set_theater_mode(camera_h camera, camera_attr_theater_mode_e mode);
2732 * @brief Gets the theater mode.
2733 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2734 * @param[in] camera The handle to the camera
2735 * @param[in] mode Current theater mode
2736 * @return @c 0 on success, otherwise a negative error value
2737 * @retval #CAMERA_ERROR_NONE Successful
2738 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2739 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2740 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2741 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2742 * @see camera_attr_get_theater_mode()
2744 int camera_attr_get_theater_mode(camera_h camera, camera_attr_theater_mode_e *mode);
2751 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
2756 * @brief Retrieves all supported theater modes by invoking callback function once for each supported theater modes.
2757 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2758 * @param[in] camera The handle to the camera
2759 * @param[in] callback The callback function to be invoked
2760 * @param[in] user_data The user data to be passed to the callback function
2761 * @return @c 0 on success, otherwise a negative error value
2762 * @retval #CAMERA_ERROR_NONE Successful
2763 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2764 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2765 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2766 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2767 * @post This function invokes camera_attr_supported_theater_mode_cb() to get all supported theater modes.
2768 * @see camera_attr_set_theater_mode()
2769 * @see camera_attr_get_theater_mode()
2770 * @see camera_attr_supported_theater_mode_cb()
2772 int camera_attr_foreach_supported_theater_mode(camera_h camera, camera_attr_supported_theater_mode_cb callback, void *user_data);
2780 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
2785 * @brief Sets the brightness level.
2786 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2788 * @privilege %http://tizen.org/privilege/camera
2789 * @remarks If the min value is greater than the max value from camera_attr_get_brightness_range(), \n
2790 * it means that this feature is not supported.
2791 * @param[in] camera The handle to the camera
2792 * @param[in] level The brightness level
2793 * @return @c 0 on success, otherwise a negative error value
2794 * @retval #CAMERA_ERROR_NONE Successful
2795 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2796 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2797 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2798 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2799 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2800 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2801 * @see camera_attr_get_brightness()
2802 * @see camera_attr_get_brightness_range()
2804 int camera_attr_set_brightness(camera_h camera, int level);
2807 * @brief Gets the brightness level.
2808 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2809 * @param[in] camera The handle to the camera
2810 * @param[out] level The brightness level
2811 * @return @c 0 on success, otherwise a negative error value
2812 * @retval #CAMERA_ERROR_NONE Successful
2813 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2814 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2815 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2816 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2817 * @see camera_attr_set_brightness()
2818 * @see camera_attr_get_brightness_range()
2820 int camera_attr_get_brightness(camera_h camera, int *level);
2823 * @brief Gets the available brightness level.
2824 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2825 * @remarks If the min value is greater than the max value, it means that this feature is not supported.
2826 * @param[in] camera The handle to the camera
2827 * @param[out] min The minimum brightness level
2828 * @param[out] max The maximum brightness level
2829 * @return @c 0 on success, otherwise a negative error value
2830 * @retval #CAMERA_ERROR_NONE Successful
2831 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2832 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2833 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2834 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2835 * @see camera_attr_set_brightness()
2836 * @see camera_attr_get_brightness()
2838 int camera_attr_get_brightness_range(camera_h camera, int *min, int *max);
2841 * @brief Sets the contrast level.
2842 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2844 * @privilege %http://tizen.org/privilege/camera
2845 * @param[in] camera The handle to the camera
2846 * @param[in] level The contrast level
2847 * @return @c 0 on success, otherwise a negative error value
2848 * @retval #CAMERA_ERROR_NONE Successful
2849 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2850 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2851 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2852 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2853 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2854 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2855 * @see camera_attr_get_contrast()
2856 * @see camera_attr_get_contrast_range()
2858 int camera_attr_set_contrast(camera_h camera, int level);
2861 * @brief Gets the contrast level.
2862 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2863 * @param[in] camera The handle to the camera
2864 * @param[out] level The contrast level
2865 * @return @c 0 on success, otherwise a negative error value
2866 * @retval #CAMERA_ERROR_NONE Successful
2867 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2868 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2869 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2870 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2871 * @see camera_attr_set_contrast()
2872 * @see camera_attr_get_contrast_range()
2874 int camera_attr_get_contrast(camera_h camera, int *level);
2877 * @brief Gets the available contrast level.
2878 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2879 * @remarks If the min value is greater than the max value, it means that this feature is not supported.
2880 * @param[in] camera The handle to the camera
2881 * @param[out] min The minimum contrast level
2882 * @param[out] max The maximum contrast level
2883 * @return @c 0 on success, otherwise a negative error value
2884 * @retval #CAMERA_ERROR_NONE Successful
2885 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2886 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2887 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2888 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2889 * @see camera_attr_set_contrast()
2890 * @see camera_attr_get_contrast()
2892 int camera_attr_get_contrast_range(camera_h camera, int *min, int *max);
2895 * @brief Sets the white balance mode.
2896 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2898 * @privilege %http://tizen.org/privilege/camera
2899 * @param[in] camera The handle to the camera
2900 * @param[in] whitebalance The white balance mode
2901 * @return @c 0 on success, otherwise a negative error value
2902 * @retval #CAMERA_ERROR_NONE Successful
2903 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2904 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2905 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2906 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2907 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2908 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2909 * @see camera_attr_foreach_supported_whitebalance()
2910 * @see camera_attr_get_whitebalance()
2912 int camera_attr_set_whitebalance(camera_h camera, camera_attr_whitebalance_e whitebalance);
2915 * @brief Gets the white balance mode.
2916 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2917 * @param[in] camera The handle to the camera
2918 * @param[out] whitebalance The white balance mode
2919 * @return @c 0 on success, otherwise a negative error value
2920 * @retval #CAMERA_ERROR_NONE Successful
2921 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2922 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2923 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2924 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2925 * @see camera_attr_foreach_supported_whitebalance()
2926 * @see camera_attr_set_whitebalance()
2928 int camera_attr_get_whitebalance(camera_h camera, camera_attr_whitebalance_e *whitebalance);
2935 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
2940 * @brief Retrieves all supported white balances by invoking the callback function once for each supported white balance.
2941 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2942 * @param[in] camera The handle to the camera
2943 * @param[in] callback The callback function to be invoked
2944 * @param[in] user_data The user data to be passed to the callback function
2945 * @return @c 0 on success, otherwise a negative error value
2946 * @retval #CAMERA_ERROR_NONE Successful
2947 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2948 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2949 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2950 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2951 * @post This function invokes camera_attr_supported_whitebalance_cb() to get all the supported white balances.
2952 * @see camera_attr_set_whitebalance()
2953 * @see camera_attr_get_whitebalance()
2954 * @see camera_attr_supported_whitebalance_cb()
2956 int camera_attr_foreach_supported_whitebalance(camera_h camera, camera_attr_supported_whitebalance_cb callback, void *user_data);
2963 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
2968 * @brief Sets the camera effect mode.
2969 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2971 * @privilege %http://tizen.org/privilege/camera
2972 * @param[in] camera The handle to the camera
2973 * @param[in] effect The camera effect mode
2974 * @return @c 0 on success, otherwise a negative error value
2975 * @retval #CAMERA_ERROR_NONE Successful
2976 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2977 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2978 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2979 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2980 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2981 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2982 * @see camera_attr_foreach_supported_effect()
2983 * @see camera_attr_get_effect()
2985 int camera_attr_set_effect(camera_h camera, camera_attr_effect_mode_e effect);
2989 * @brief Gets the camera effect mode.
2990 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2991 * @param[in] camera The handle to the camera
2992 * @param[out] effect The camera effect mode
2993 * @return @c 0 on success, otherwise a negative error value
2994 * @retval #CAMERA_ERROR_NONE Successful
2995 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2996 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2997 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2998 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2999 * @see camera_attr_foreach_supported_effect()
3000 * @see camera_attr_set_effect()
3002 int camera_attr_get_effect(camera_h camera, camera_attr_effect_mode_e *effect);
3009 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3014 * @brief Retrieves all supported effect modes by invoking the callback function once for each supported effect mode.
3015 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3016 * @param[in] camera The handle to the camera
3017 * @param[in] callback The callback function to invoke
3018 * @param[in] user_data The user data to be passed to the callback function
3019 * @return @c 0 on success, otherwise a negative error value
3020 * @retval #CAMERA_ERROR_NONE Successful
3021 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3022 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3023 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3024 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3025 * @post This function invokes camera_attr_supported_effect_cb() to get all the supported effect modes.
3026 * @see camera_attr_set_effect()
3027 * @see camera_attr_get_effect()
3028 * @see camera_attr_supported_effect_cb()
3030 int camera_attr_foreach_supported_effect(camera_h camera, camera_attr_supported_effect_cb callback, void *user_data);
3037 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
3042 * @brief Sets the scene mode.
3043 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3045 * @privilege %http://tizen.org/privilege/camera
3046 * @param[in] camera The handle to the camera
3047 * @param[in] mode The scene mode
3048 * @return @c 0 on success, otherwise a negative error value
3049 * @retval #CAMERA_ERROR_NONE Successful
3050 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3051 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3052 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3053 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3054 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3055 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
3056 * @see camera_attr_foreach_supported_scene_mode()
3057 * @see camera_attr_get_scene_mode()
3059 int camera_attr_set_scene_mode(camera_h camera, camera_attr_scene_mode_e mode);
3062 * @brief Gets the scene mode.
3063 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3064 * @param[in] camera The handle to the camera
3065 * @param[out] mode The scene mode
3066 * @return @c 0 on success, otherwise a negative error value
3067 * @retval #CAMERA_ERROR_NONE Successful
3068 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3069 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3070 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3071 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3072 * @see camera_attr_foreach_supported_scene_mode()
3073 * @see camera_attr_set_scene_mode()
3075 int camera_attr_get_scene_mode(camera_h camera, camera_attr_scene_mode_e *mode);
3082 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3087 * @brief Retrieves all supported scene modes by invoking the callback function once for each supported scene mode.
3088 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3089 * @param[in] camera The handle to the camera
3090 * @param[in] callback The callback function to invoke
3091 * @param[in] user_data The user data to be passed to the callback function
3092 * @return @c 0 on success, otherwise a negative error value
3093 * @retval #CAMERA_ERROR_NONE Successful
3094 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3095 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3096 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3097 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3098 * @post This function invokes camera_attr_supported_scene_mode_cb() to get all the supported scene modes.
3099 * @see camera_attr_set_scene_mode()
3100 * @see camera_attr_get_scene_mode()
3101 * @see camera_attr_supported_scene_mode_cb()
3103 int camera_attr_foreach_supported_scene_mode(camera_h camera, camera_attr_supported_scene_mode_cb callback, void *user_data);
3110 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
3115 * @brief Enables to write EXIF(Exchangeable image file format) tags in a JPEG file.
3116 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3117 * @param[in] camera The handle to the camera
3118 * @param[in] enable If @c true writing EXIF tags in a JPEG file is enabled, otherwise @c false
3119 * @return @c 0 on success, otherwise a negative error value
3120 * @retval #CAMERA_ERROR_NONE Successful
3121 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3122 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3123 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3124 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3125 * @see camera_attr_is_enabled_tag()
3127 int camera_attr_enable_tag(camera_h camera, bool enable);
3130 * @brief Gets the value that indicates whether writing EXIF(Exchangeable image file format) tags in a JPEG file is enabled.
3131 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3132 * @param[in] camera The handle to the camera
3133 * @param[out] enabled If @c true camera information is enabled, otherwise @c false
3134 * @return @c 0 on success, otherwise a negative error value
3135 * @retval #CAMERA_ERROR_NONE Successful
3136 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3137 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3138 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3139 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3140 * @see camera_attr_enable_tag()
3142 int camera_attr_is_enabled_tag(camera_h camera, bool *enabled);
3145 * @brief Sets the camera image description in the EXIF(Exchangeable image file format) tag.
3146 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3147 * @param[in] camera The handle to the camera
3148 * @param[in] description The string with description
3149 * @return @c 0 on success, otherwise a negative error value
3150 * @retval #CAMERA_ERROR_NONE Successful
3151 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3152 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3153 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3154 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3155 * @see camera_attr_get_tag_image_description()
3157 int camera_attr_set_tag_image_description(camera_h camera, const char *description);
3160 * @brief Gets the camera image description in EXIF(Exchangeable image file format) tag.
3161 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3162 * @remarks You must release @a description using free().
3163 * @param[in] camera The handle to the camera
3164 * @param[out] description A pointer to a string
3165 * @return @c 0 on success, otherwise a negative error value
3166 * @retval #CAMERA_ERROR_NONE Successful
3167 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3168 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3169 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3170 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3171 * @see camera_attr_set_tag_image_description()
3173 int camera_attr_get_tag_image_description(camera_h camera, char **description);
3176 * @brief Sets the camera orientation in the EXIF(Exchangeable image file format) tag.
3177 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3178 * @param[in] camera The handle to the camera
3179 * @param[in] orientation The camera orientation
3180 * @return @c 0 on success, otherwise a negative error value
3181 * @retval #CAMERA_ERROR_NONE Successful
3182 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3183 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3184 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3185 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3186 * @see camera_attr_get_tag_orientation()
3188 int camera_attr_set_tag_orientation(camera_h camera, camera_attr_tag_orientation_e orientation);
3191 * @brief Gets the camera orientation in the EXIF(Exchangeable image file format) tag.
3192 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3193 * @param[in] camera The handle to the camera
3194 * @param[out] orientation The camera orientation
3195 * @return @c 0 on success, otherwise a negative error value
3196 * @retval #CAMERA_ERROR_NONE Successful
3197 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3198 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3199 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3200 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3201 * @see camera_attr_set_tag_orientation()
3203 int camera_attr_get_tag_orientation(camera_h camera, camera_attr_tag_orientation_e *orientation);
3206 * @brief Sets the software information in the EXIF(Exchangeable image file format) tag.
3207 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3208 * @param[in] camera The handle to the camera
3209 * @param[in] software The software information tag
3210 * @return @c 0 on success, otherwise a negative error value
3211 * @retval #CAMERA_ERROR_NONE Successful
3212 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3213 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3214 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3215 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3216 * @see camera_attr_get_tag_software()
3218 int camera_attr_set_tag_software(camera_h camera, const char *software);
3221 * @brief Gets the software information in the EXIF(Exchangeable image file format) tag.
3222 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3223 * @remarks You must release @a software using free().
3224 * @param[in] camera The handle to the camera
3225 * @param[out] software A pointer to a string
3226 * @return @c 0 on success, otherwise a negative error value
3227 * @retval #CAMERA_ERROR_NONE Successful
3228 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3229 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3230 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3231 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3232 * @see camera_attr_set_tag_software()
3234 int camera_attr_get_tag_software(camera_h camera, char **software);
3237 * @brief Sets the geotag(GPS data) in the EXIF(Exchangeable image file format) tag.
3238 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3239 * @param[in] camera The handle to the camera
3240 * @param[in] latitude The latitude data
3241 * @param[in] longitude The longitude data
3242 * @param[in] altitude The altitude data
3243 * @return @c 0 on success, otherwise a negative error value
3244 * @retval #CAMERA_ERROR_NONE Successful
3245 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3246 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3247 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3248 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3249 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3250 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
3251 * @see camera_attr_get_geotag()
3252 * @see camera_attr_remove_geotag()
3254 int camera_attr_set_geotag(camera_h camera, double latitude, double longitude, double altitude);
3257 * @brief Gets the geotag(GPS data) in the EXIF(Exchangeable image file format) tag.
3258 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3259 * @param[in] camera The handle to the camera
3260 * @param[out] latitude The latitude data
3261 * @param[out] longitude The longitude data
3262 * @param[out] altitude The altitude data
3263 * @return @c 0 on success, otherwise a negative error value
3264 * @retval #CAMERA_ERROR_NONE Successful
3265 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3266 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3267 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3268 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3269 * @see camera_attr_set_geotag()
3270 * @see camera_attr_remove_geotag()
3272 int camera_attr_get_geotag(camera_h camera, double *latitude, double *longitude, double *altitude);
3275 * @brief Removes the geotag(GPS data) in the EXIF(Exchangeable image file format) tag.
3276 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3277 * @param[in] camera The handle to the camera
3278 * @return @c 0 on success, otherwise a negative error value
3279 * @retval #CAMERA_ERROR_NONE Successful
3280 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3281 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3282 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3283 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3284 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3285 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
3286 * @see camera_attr_set_geotag()
3287 * @see camera_attr_get_geotag()
3289 int camera_attr_remove_geotag(camera_h camera);
3292 * @brief Sets the camera's flash mode.
3293 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3295 * @privilege %http://tizen.org/privilege/camera
3296 * @remarks Since @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif, while setting the flash mode, if the flash was preempted by other APIs,\n
3297 * then this function returns #CAMERA_ERROR_DEVICE_BUSY error.
3298 * @param[in] camera The handle to the camera
3299 * @param[in] mode The flash mode
3300 * @return @c 0 on success, otherwise a negative error value
3301 * @retval #CAMERA_ERROR_NONE Successful
3302 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3303 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3304 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3305 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3306 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3307 * @retval #CAMERA_ERROR_DEVICE_BUSY The flash was preempted by other API
3308 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
3309 * @see camera_attr_foreach_supported_flash_mode()
3310 * @see camera_attr_get_flash_mode()
3312 int camera_attr_set_flash_mode(camera_h camera, camera_attr_flash_mode_e mode);
3315 * @brief Gets the camera's flash mode.
3316 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3317 * @param[in] camera The handle to the camera
3318 * @param[out] mode The flash mode
3319 * @return @c 0 on success, otherwise a negative error value
3320 * @retval #CAMERA_ERROR_NONE Successful
3321 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3322 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3323 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3324 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3325 * @see camera_attr_foreach_supported_flash_mode()
3326 * @see camera_attr_set_flash_mode()
3328 int camera_attr_get_flash_mode(camera_h camera, camera_attr_flash_mode_e *mode);
3335 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3340 * @brief Retrieves all supported flash modes by invoking the callback function once for each supported flash mode.
3341 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3342 * @param[in] camera The handle to the camera
3343 * @param[in] callback The callback function to invoke
3344 * @param[in] user_data The user data passed to the callback registration function
3345 * @return @c 0 on success, otherwise a negative error value
3346 * @retval #CAMERA_ERROR_NONE Successful
3347 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3348 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3349 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3350 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3351 * @post This function invokes camera_attr_supported_flash_mode_cb() to get all supported flash modes.
3352 * @see camera_attr_set_flash_mode()
3353 * @see camera_attr_get_flash_mode()
3354 * @see camera_attr_supported_flash_mode_cb()
3356 int camera_attr_foreach_supported_flash_mode(camera_h camera, camera_attr_supported_flash_mode_cb callback, void *user_data);
3363 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
3368 * @brief Gets the camera len's orientation angle.
3369 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3370 * @param[in] camera The handle to the camera
3371 * @param[out] angle The orientation angle
3372 * @return @c 0 on success, otherwise a negative error value
3373 * @retval #CAMERA_ERROR_NONE Successful
3374 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3375 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3376 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3377 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3378 * @see camera_set_display_rotation()
3380 int camera_attr_get_lens_orientation(camera_h camera, int *angle);
3383 * @brief Sets the stream rotation.
3384 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3385 * @param[in] camera The handle to the camera
3386 * @param[in] rotation The stream rotation
3387 * @return @c 0 on success, otherwise a negative error value
3388 * @retval #CAMERA_ERROR_NONE Successful
3389 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3390 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3391 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3392 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3393 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
3394 * @see camera_attr_get_stream_rotation()
3396 int camera_attr_set_stream_rotation(camera_h camera, camera_rotation_e rotation);
3399 * @brief Gets the stream rotation.
3400 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3401 * @param[in] camera The handle to the camera
3402 * @param[out] rotation The stream rotation
3403 * @return @c 0 on success, otherwise a negative error value
3404 * @retval #CAMERA_ERROR_NONE Successful
3405 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3406 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3407 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3408 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3409 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
3410 * @see camera_attr_set_stream_rotation()
3412 int camera_attr_get_stream_rotation(camera_h camera, camera_rotation_e *rotation);
3419 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3424 * @brief Retrieves all supported stream rotation modes by invoking callback function once for each supported stream rotation mode.
3425 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3426 * @param[in] camera The handle to the camera
3427 * @param[in] callback The callback function to invoke
3428 * @param[in] user_data The user data to be passed to the callback function
3429 * @return @c 0 on success, otherwise a negative error value
3430 * @retval #CAMERA_ERROR_NONE Successful
3431 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3432 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3433 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3434 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3435 * @post This function invokes camera_attr_supported_stream_rotation_cb() to get all supported stream rotation mode.
3436 * @see camera_attr_set_stream_rotation()
3437 * @see camera_attr_get_stream_rotation()
3438 * @see camera_attr_supported_stream_rotation_cb()
3440 int camera_attr_foreach_supported_stream_rotation(camera_h camera, camera_attr_supported_stream_rotation_cb callback, void *user_data);
3447 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
3452 * @brief Sets the stream flip.
3453 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3454 * @param[in] camera The handle to the camera
3455 * @param[in] flip The stream flip
3456 * @return @c 0 on success, otherwise a negative error value
3457 * @retval #CAMERA_ERROR_NONE Successful
3458 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3459 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3460 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3461 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3462 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3463 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
3464 * @see camera_attr_set_stream_rotation()
3466 int camera_attr_set_stream_flip(camera_h camera, camera_flip_e flip);
3469 * @brief Gets the stream flip.
3470 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3471 * @param[in] camera The handle to the camera
3472 * @param[out] flip The stream flip
3473 * @return @c 0 on success, otherwise a negative error value
3474 * @retval #CAMERA_ERROR_NONE Successful
3475 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3476 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3477 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3478 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3479 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
3480 * @see camera_attr_set_stream_rotation()
3482 int camera_attr_get_stream_flip(camera_h camera, camera_flip_e *flip);
3489 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3494 * @brief Retrieves all supported stream flip modes by invoking callback function once for each supported stream flip mode.
3495 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3496 * @param[in] camera The handle to the camera
3497 * @param[in] callback The callback function to invoke
3498 * @param[in] user_data The user data to be passed to the callback function
3499 * @return @c 0 on success, otherwise a negative error value
3500 * @retval #CAMERA_ERROR_NONE Successful
3501 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3502 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3503 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3504 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3505 * @post This function invokes camera_attr_supported_stream_flip_cb() to get all supported stream flip mode.
3506 * @see camera_attr_set_stream_flip()
3507 * @see camera_attr_get_stream_flip()
3508 * @see camera_attr_supported_stream_flip_cb()
3510 int camera_attr_foreach_supported_stream_flip(camera_h camera, camera_attr_supported_stream_flip_cb callback, void *user_data);
3517 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
3522 * @brief Called when the HDR capture process is updated.
3523 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3524 * @param[in] percent The progress percentage of HDR capture
3525 * @param[in] user_data The user data passed from the callback registration function
3526 * @pre camera_start_capture() will invoke this callback if you register it using camera_attr_set_hdr_capture_progress_cb().
3527 * @see camera_attr_get_hdr_mode()
3528 * @see camera_attr_set_hdr_capture_progress_cb()
3529 * @see camera_attr_unset_hdr_capture_progress_cb()
3530 * @see camera_attr_is_supported_hdr_capture()
3532 typedef void (*camera_attr_hdr_progress_cb)(int percent, void *user_data);
3535 * @brief Sets the mode of HDR(High dynamic range) capture.
3536 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3538 * @privilege %http://tizen.org/privilege/camera
3539 * @remarks Taking multiple pictures at different exposure levels and intelligently stitching them together so that we eventually arrive at a picture that is representative in both dark and bright areas.\n
3540 * If this attribute is set to @c true. camera_attr_hdr_progress_cb() is invoked during capture.\n
3541 * If you set #CAMERA_ATTR_HDR_MODE_KEEP_ORIGINAL, the capturing callback is invoked twice. The first callback is delivering origin image data. The second callback is delivering improved image data.
3542 * @param[in] camera The handle to the camera
3543 * @param[in] mode The mode of HDR capture
3544 * @return @c 0 on success, otherwise a negative error value
3545 * @retval #CAMERA_ERROR_NONE Successful
3546 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3547 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3548 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3549 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3550 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3551 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
3552 * @see camera_attr_get_hdr_mode()
3553 * @see camera_attr_set_hdr_capture_progress_cb()
3554 * @see camera_attr_unset_hdr_capture_progress_cb()
3555 * @see camera_attr_is_supported_hdr_capture()
3558 int camera_attr_set_hdr_mode(camera_h camera, camera_attr_hdr_mode_e mode);
3561 * @brief Gets the mode of HDR(High dynamic range) capture.
3562 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3563 * @param[in] camera The handle to the camera
3564 * @param[out] mode The mode of HDR capture
3565 * @return @c 0 on success, otherwise a negative error value
3566 * @retval #CAMERA_ERROR_NONE Successful
3567 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3568 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3569 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3570 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3571 * @see camera_attr_set_hdr_mode()
3572 * @see camera_attr_set_hdr_capture_progress_cb()
3573 * @see camera_attr_unset_hdr_capture_progress_cb()
3574 * @see camera_attr_is_supported_hdr_capture()
3576 int camera_attr_get_hdr_mode(camera_h camera, camera_attr_hdr_mode_e *mode);
3579 * @brief Registers a callback function to be called when HDR capture is progressing.
3580 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3581 * @remarks This callback notifies progress of the HDR process.
3582 * @param[in] camera The handle to the camera
3583 * @param[in] callback The callback function to invoke
3584 * @param[in] user_data The user data passed to the callback registration function
3585 * @return @c 0 on success, otherwise a negative error value
3586 * @retval #CAMERA_ERROR_NONE Successful
3587 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3588 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3589 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3590 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3591 * @see camera_attr_set_hdr_mode()
3592 * @see camera_attr_get_hdr_mode()
3593 * @see camera_attr_unset_hdr_capture_progress_cb()
3594 * @see camera_attr_is_supported_hdr_capture()
3596 int camera_attr_set_hdr_capture_progress_cb(camera_h camera, camera_attr_hdr_progress_cb callback, void* user_data);
3599 * @brief Unregisters the callback function.
3600 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3601 * @param[in] camera The handle to the camera
3602 * @return @c 0 on success, otherwise a negative error value
3603 * @retval #CAMERA_ERROR_NONE Successful
3604 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3605 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3606 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3607 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3608 * @see camera_attr_set_hdr_mode()
3609 * @see camera_attr_get_hdr_mode()
3610 * @see camera_attr_set_hdr_capture_progress_cb()
3611 * @see camera_attr_is_supported_hdr_capture()
3613 int camera_attr_unset_hdr_capture_progress_cb(camera_h camera);
3616 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3617 * @brief Gets the support state of HDR capture.
3618 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3619 * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
3620 * @param[in] camera The handle to the camera
3621 * @return @c true if supported, otherwise @c false
3622 * @exception #CAMERA_ERROR_NONE Successful
3623 * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3624 * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3625 * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3626 * @see camera_attr_set_hdr_mode()
3627 * @see camera_attr_get_hdr_mode()
3628 * @see camera_attr_set_hdr_capture_progress_cb()
3629 * @see camera_attr_unset_hdr_capture_progress_cb()
3631 bool camera_attr_is_supported_hdr_capture(camera_h camera);
3634 * @brief Enables/Disables the anti-shake feature.
3635 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3637 * @privilege %http://tizen.org/privilege/camera
3638 * @remarks This feature is used for image capture.
3639 * @param[in] camera The handle to the camera
3640 * @param[in] enable If @c true the anti-shake feature is enabled, otherwise @c false
3641 * @return @c 0 on success, otherwise a negative error value
3642 * @retval #CAMERA_ERROR_NONE Successful
3643 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3644 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3645 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3646 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3647 * @see camera_attr_is_enabled_anti_shake()
3648 * @see camera_attr_is_supported_anti_shake()
3651 int camera_attr_enable_anti_shake(camera_h camera, bool enable);
3654 * @brief Gets the state of the anti-shake feature.
3655 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3656 * @param[in] camera The handle to the camera
3657 * @param[out] enabled The state of anti-shake
3658 * @return @c 0 on success, otherwise a negative error value
3659 * @retval #CAMERA_ERROR_NONE Successful
3660 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3661 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3662 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3663 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3664 * @see camera_attr_enable_anti_shake()
3665 * @see camera_attr_is_supported_anti_shake()
3667 int camera_attr_is_enabled_anti_shake(camera_h camera, bool *enabled);
3670 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3671 * @brief Gets the support state of the anti-shake feature.
3672 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3673 * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
3674 * @param[in] camera The handle to the camera
3675 * @return @c true if supported, otherwise @c false
3676 * @exception #CAMERA_ERROR_NONE Successful
3677 * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3678 * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3679 * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3680 * @see camera_attr_enable_anti_shake()
3681 * @see camera_attr_is_enabled_anti_shake()
3683 bool camera_attr_is_supported_anti_shake(camera_h camera);
3686 * @brief Enables/Disables the video stabilization feature.
3687 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3689 * @privilege %http://tizen.org/privilege/camera
3690 * @remarks If video stabilization is enabled, zero shutter lag is disabled.\n
3691 * This feature is used to record a video.
3692 * @param[in] camera The handle to the camera
3693 * @param[in] enable If @c true video stabilization is enabled, otherwise @c false
3694 * @return @c 0 on success, otherwise a negative error value
3695 * @retval #CAMERA_ERROR_NONE Successful
3696 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3697 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3698 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3699 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3700 * @see camera_attr_is_enabled_video_stabilization()
3701 * @see camera_attr_is_supported_video_stabilization()
3704 int camera_attr_enable_video_stabilization(camera_h camera, bool enable);
3707 * @brief Gets the state of the video stabilization feature.
3708 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3709 * @param[in] camera The handle to the camera
3710 * @param[out] enabled The state of video stabilization
3711 * @return @c 0 on success, otherwise a negative error value
3712 * @retval #CAMERA_ERROR_NONE Successful
3713 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3714 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3715 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3716 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3717 * @see camera_attr_enable_video_stabilization()
3718 * @see camera_attr_is_supported_video_stabilization()
3720 int camera_attr_is_enabled_video_stabilization(camera_h camera, bool *enabled);
3723 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3724 * @brief Gets the support state of the video stabilization feature.
3725 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3726 * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
3727 * @param[in] camera The handle to the camera
3728 * @return @c true if supported, otherwise @c false
3729 * @exception #CAMERA_ERROR_NONE Successful
3730 * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3731 * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3732 * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3733 * @see camera_attr_enable_video_stabilization()
3734 * @see camera_attr_is_enabled_video_stabilization()
3736 bool camera_attr_is_supported_video_stabilization(camera_h camera);
3739 * @brief Enables/Disables auto contrast.
3740 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3742 * @privilege %http://tizen.org/privilege/camera
3743 * @param[in] camera The handle to the camera
3744 * @param[in] enable If @c true auto contrast is enabled, otherwise @c false
3745 * @return @c 0 on success, otherwise a negative error value
3746 * @retval #CAMERA_ERROR_NONE Successful
3747 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3748 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3749 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3750 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3751 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3752 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
3753 * @see camera_attr_is_enabled_auto_contrast()
3755 int camera_attr_enable_auto_contrast(camera_h camera, bool enable);
3758 * @brief Gets the state of auto contrast.
3759 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3760 * @param[in] camera The handle to the camera
3761 * @param[out] enabled The state of auto contrast
3762 * @return @c 0 on success, otherwise a negative error value
3763 * @retval #CAMERA_ERROR_NONE Successful
3764 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3765 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3766 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3767 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3768 * @see camera_attr_enable_auto_contrast()
3770 int camera_attr_is_enabled_auto_contrast(camera_h camera, bool *enabled);
3777 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3782 * @brief Gets state of support of auto contrast feature.
3783 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3784 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3785 * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
3786 * @param[in] camera The handle to the camera
3787 * @return true on supported, otherwise false
3788 * @exception #CAMERA_ERROR_NONE Successful
3789 * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3790 * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3791 * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3792 * @see camera_attr_enable_auto_contrast()
3793 * @see camera_attr_is_enabled_auto_contrast()
3795 bool camera_attr_is_supported_auto_contrast(camera_h camera);
3802 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
3807 * @brief Disables shutter sound.
3808 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3809 * @remarks In some countries, this operation is not permitted.
3810 * @param[in] camera The handle to the camera
3811 * @param[in] disable If @c true shutter sound is disabled, otherwise @c false
3812 * @return @c 0 on success, otherwise a negative error value
3813 * @retval #CAMERA_ERROR_NONE Successful
3814 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3815 * @retval #CAMERA_ERROR_INVALID_OPERATION Disabling shutter sound is not permitted
3816 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3817 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3818 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3820 int camera_attr_disable_shutter_sound(camera_h camera, bool disable);
3823 * @brief Sets the position to move horizontally.
3825 * @param[in] camera The handle to the camera
3826 * @param[in] move_type The PTZ(Pan Tilt Zoom) move type
3827 * @param[in] pan_step The step to move the camera
3828 * @return @c 0 on success, otherwise a negative error value
3829 * @retval #CAMERA_ERROR_NONE Successful
3830 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3831 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3832 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3833 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3834 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3835 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
3836 * @see camera_attr_get_pan()
3837 * @see camera_attr_get_pan_range()
3839 int camera_attr_set_pan(camera_h camera, camera_attr_ptz_move_type_e move_type, int pan_step);
3842 * @brief Gets the current position of the camera.
3844 * @param[in] camera The handle to the camera
3845 * @param[out] pan_step The current horizontal distance from the starting point.
3846 * @return @c 0 on success, otherwise a negative error value
3847 * @retval #CAMERA_ERROR_NONE Successful
3848 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3849 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3850 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3851 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3852 * @see camera_attr_set_pan()
3853 * @see camera_attr_get_pan_range()
3855 int camera_attr_get_pan(camera_h camera, int *pan_step);
3858 * @brief Gets lower limit and upper limit for pan position.
3860 * @remarks If the min value is greater than the max value, it means that this feature is not supported.
3861 * @param[in] camera The handle to the camera
3862 * @param[out] min The lower limit for pan
3863 * @param[out] max The upper limit for pan
3864 * @return @c 0 on success, otherwise a negative error value
3865 * @retval #CAMERA_ERROR_NONE Successful
3866 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3867 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3868 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3869 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3870 * @see camera_attr_set_pan()
3871 * @see camera_attr_get_pan()
3873 int camera_attr_get_pan_range(camera_h camera, int *min, int *max);
3876 * @brief Sets the position to move vertically.
3878 * @param[in] camera The handle to the camera
3879 * @param[in] move_type The PTZ(Pan Tilt Zoom) move type
3880 * @param[in] tilt_step The step to move the camera
3881 * @return @c 0 on success, otherwise a negative error value
3882 * @retval #CAMERA_ERROR_NONE Successful
3883 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3884 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3885 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3886 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3887 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3888 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
3889 * @see camera_attr_get_tilt()
3890 * @see camera_attr_get_tilt_range()
3892 int camera_attr_set_tilt(camera_h camera, camera_attr_ptz_move_type_e move_type, int tilt_step);
3895 * @brief Gets the current position of the camera.
3897 * @param[in] camera The handle to the camera
3898 * @param[out] tilt_step The current vertical distance from the starting point.
3899 * @return @c 0 on success, otherwise a negative error value
3900 * @retval #CAMERA_ERROR_NONE Successful
3901 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3902 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3903 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3904 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3905 * @see camera_attr_set_tilt()
3906 * @see camera_attr_get_tilt_range()
3908 int camera_attr_get_tilt(camera_h camera, int *tilt_step);
3911 * @brief Gets lower limit and upper limit for tilt position.
3913 * @remarks If the min value is greater than the max value, it means that this feature is not supported.
3914 * @param[in] camera The handle to the camera
3915 * @param[out] min The lower limit for tilt
3916 * @param[out] max The upper limit for tilt
3917 * @return @c 0 on success, otherwise a negative error value
3918 * @retval #CAMERA_ERROR_NONE Successful
3919 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3920 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3921 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3922 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3923 * @see camera_attr_set_tilt()
3924 * @see camera_attr_get_tilt()
3926 int camera_attr_get_tilt_range(camera_h camera, int *min, int *max);
3929 * @brief Sets the type of PTZ(Pan Tilt Zoom).
3931 * @param[in] camera The handle to the camera
3932 * @param[in] ptz_type PTZ type
3933 * @return @c 0 on success, otherwise a negative error value
3934 * @retval #CAMERA_ERROR_NONE Successful
3935 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3936 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3937 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3938 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3939 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3940 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
3941 * @see camera_attr_get_pan()
3942 * @see camera_attr_set_pan()
3943 * @see camera_attr_get_pan_range()
3944 * @see camera_attr_get_tilt()
3945 * @see camera_attr_set_tilt()
3946 * @see camera_attr_get_tilt_range()
3947 * @see camera_attr_foreach_supported_ptz_type()
3949 int camera_attr_set_ptz_type(camera_h camera, camera_attr_ptz_type_e ptz_type);
3956 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3961 * @brief Retrieves all supported PTZ(Pan Tilt Zoom) types by invoking callback function once for each supported ptz type.
3963 * @param[in] camera The handle to the camera
3964 * @param[in] callback The callback function to invoke
3965 * @param[in] user_data The user data to be passed to the callback function
3966 * @return @c 0 on success, otherwise a negative error value
3967 * @retval #CAMERA_ERROR_NONE Successful
3968 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3969 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3970 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3971 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3972 * @post This function invokes camera_attr_supported_ptz_type_cb() to get all supported ptz type.
3973 * @see camera_attr_set_ptz_type()
3975 int camera_attr_foreach_supported_ptz_type(camera_h camera, camera_attr_supported_ptz_type_cb callback, void *user_data);
3982 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
3987 * @brief Sets the ROI(Region Of Interest) area of display.
3989 * @remarks Before set display ROI area, #CAMERA_DISPLAY_MODE_CUSTOM_ROI should be set with camera_set_display_mode().
3990 * The minimum value of width and height are 1.
3991 * @param[in] camera The handle to the camera
3992 * @param[in] x X coordinate of area
3993 * @param[in] y Y coordinate of area
3994 * @param[in] width Width of area
3995 * @param[in] height Height of area
3996 * @return @c 0 on success, otherwise a negative error value
3997 * @retval #CAMERA_ERROR_NONE Successful
3998 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3999 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
4000 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
4001 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
4002 * @see camera_attr_get_display_roi_area()
4004 int camera_attr_set_display_roi_area(camera_h camera, int x, int y, int width, int height);
4007 * @brief Gets the ROI(Region Of Interest) area of display.
4009 * @param[in] camera The handle to the camera
4010 * @param[out] x X coordinate of area
4011 * @param[out] y Y coordinate of area
4012 * @param[out] width Width of area
4013 * @param[out] height Height of area
4014 * @return @c 0 on success, otherwise a negative error value
4015 * @retval #CAMERA_ERROR_NONE Successful
4016 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
4017 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
4018 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
4019 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
4020 * @see camera_attr_set_display_roi_area()
4022 int camera_attr_get_display_roi_area(camera_h camera, int *x, int *y, int *width, int *height);
4031 #endif /* __TIZEN_MULTIMEDIA_CAMERA_H__ */