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.
78 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
81 CAMERA_DEVICE_CAMERA0 = 0, /**< Primary camera */
82 CAMERA_DEVICE_CAMERA1 /**< Secondary camera */
86 * @brief Enumeration for the camera pixel format.
87 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
90 CAMERA_PIXEL_FORMAT_INVALID = -1, /**< Invalid pixel format */
91 CAMERA_PIXEL_FORMAT_NV12, /**< NV12 pixel format */
92 CAMERA_PIXEL_FORMAT_NV12T, /**< NV12 Tiled pixel format */
93 CAMERA_PIXEL_FORMAT_NV16, /**< NV16 pixel format */
94 CAMERA_PIXEL_FORMAT_NV21, /**< NV21 pixel format */
95 CAMERA_PIXEL_FORMAT_YUYV, /**< YUYV(YUY2) pixel format */
96 CAMERA_PIXEL_FORMAT_UYVY, /**< UYVY pixel format */
97 CAMERA_PIXEL_FORMAT_422P, /**< YUV422(Y:U:V) planar pixel format */
98 CAMERA_PIXEL_FORMAT_I420, /**< I420 pixel format */
99 CAMERA_PIXEL_FORMAT_YV12, /**< YV12 pixel format */
100 CAMERA_PIXEL_FORMAT_RGB565, /**< RGB565 pixel format */
101 CAMERA_PIXEL_FORMAT_RGB888, /**< RGB888 pixel format */
102 CAMERA_PIXEL_FORMAT_RGBA, /**< RGBA pixel format */
103 CAMERA_PIXEL_FORMAT_ARGB, /**< ARGB pixel format */
104 CAMERA_PIXEL_FORMAT_JPEG, /**< Encoded pixel format */
105 CAMERA_PIXEL_FORMAT_H264 = 15, /**< Encoded pixel format : H264 (Since 3.0) */
106 } camera_pixel_format_e;
109 * @brief Enumeration for the camera display type.
110 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
113 CAMERA_DISPLAY_TYPE_OVERLAY = 0, /**< Overlay surface display */
114 CAMERA_DISPLAY_TYPE_EVAS, /**< Evas object surface display */
115 CAMERA_DISPLAY_TYPE_NONE /**< This disposes off buffers */
116 } camera_display_type_e;
119 * @brief Enumeration for the camera policy.
120 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
123 CAMERA_POLICY_NONE = 0, /**< None */
124 CAMERA_POLICY_SOUND, /**< Sound policy (Deprecated since 3.0) */
125 CAMERA_POLICY_SOUND_BY_CALL, /**< Sound policy by CALL (Deprecated since 3.0) */
126 CAMERA_POLICY_SOUND_BY_ALARM, /**< Sound policy by ALARM (Deprecated since 3.0) */
127 CAMERA_POLICY_SECURITY, /**< Security policy */
128 CAMERA_POLICY_RESOURCE_CONFLICT /**< Resource conflict (Since 3.0) */
132 * @brief Enumeration for the camera rotation type.
133 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
136 CAMERA_ROTATION_NONE, /**< No rotation */
137 CAMERA_ROTATION_90, /**< 90 degree rotation */
138 CAMERA_ROTATION_180, /**< 180 degree rotation */
139 CAMERA_ROTATION_270, /**< 270 degree rotation */
144 * @brief Enumeration for the camera flip type.
145 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
148 CAMERA_FLIP_NONE, /**< No Flip */
149 CAMERA_FLIP_HORIZONTAL, /**< Horizontal flip */
150 CAMERA_FLIP_VERTICAL, /**< Vertical flip */
151 CAMERA_FLIP_BOTH /** Horizontal and vertical flip */
155 * @brief Enumeration for the camera focus state.
156 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
159 CAMERA_FOCUS_STATE_RELEASED = 0, /**< Focus released */
160 CAMERA_FOCUS_STATE_ONGOING, /**< Focus in progress */
161 CAMERA_FOCUS_STATE_FOCUSED, /**< Focus succeeded */
162 CAMERA_FOCUS_STATE_FAILED, /**< Focus failed */
163 } camera_focus_state_e;
166 * @brief Enumeration for the facing direction of camera module
170 CAMERA_FACING_DIRECTION_REAR = 0, /**< Rear */
171 CAMERA_FACING_DIRECTION_FRONT, /**< Front */
172 } camera_facing_direction_e;
175 * @brief Enumeration for the current flash state.
179 CAMERA_FLASH_STATE_NOT_USED = 0, /**< Flash is not used now through camera API */
180 CAMERA_FLASH_STATE_USED, /**< Flash is used now through camera API */
181 } camera_flash_state_e;
184 * @brief The structure type of the image data.
185 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
188 unsigned char *data; /**< The image buffer */
189 unsigned int size; /**< The size of the buffer */
190 int width; /**< The width of the image */
191 int height; /**< The height of the image */
192 camera_pixel_format_e format; /**< The format of the image pixel */
193 unsigned char *exif; /**< The exif raw data */
194 unsigned int exif_size; /**< The size of the exif data */
195 } camera_image_data_s;
198 * @brief The structure type for face detection.
199 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
202 int id; /**< The ID of each face */
203 int score; /**< The confidence level for the detection of the face */
204 int x; /**< The x coordinates of the face */
205 int y; /**< The y coordinates of the face */
206 int width; /**< The width of the face */
207 int height; /**< The height of the face */
208 } camera_detected_face_s;
211 * @brief The structure type to preview stream data.
212 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
215 camera_pixel_format_e format; /**< The format of the frame pixel */
216 int width; /**< The width of the frame */
217 int height; /**< The height of the frame */
218 int num_of_planes; /**< The number of planes */
219 unsigned int timestamp; /**< The timestamp of the frame */
222 unsigned char *yuv; /**< The yuv data pointer */
223 unsigned int size; /**< The size of data */
224 } single_plane; /**< single plane frame data */
227 unsigned char *y; /**< The y data pointer */
228 unsigned char *uv; /**< The uv data pointer */
229 unsigned int y_size; /**< The size of y data */
230 unsigned int uv_size; /**< The size of uv data */
231 } double_plane; /**< double plane frame data */
234 unsigned char *y; /**< The y data pointer */
235 unsigned char *u; /**< The u data pointer */
236 unsigned char *v; /**< The v data pointer */
237 unsigned int y_size; /**< The size of y data */
238 unsigned int u_size; /**< The size of u data */
239 unsigned int v_size; /**< The size of v data */
240 } triple_plane; /**< triple plane frame data */
243 unsigned char *data; /**< The encoded data pointer */
244 unsigned int size; /**< The size of encoded data */
247 } camera_preview_data_s;
250 * @brief The Camera handle.
251 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
252 * @see recorder_create_videorecorder()
254 typedef struct camera_cli_s *camera_h;
257 * @brief The Camera display handle.
258 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
260 typedef void *camera_display_h;
265 * @brief Gets a display handle.
266 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
268 #define GET_DISPLAY(x) (void*)(x)
277 * @addtogroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
282 * @brief Enumeration for the camera display mode.
283 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
286 CAMERA_DISPLAY_MODE_LETTER_BOX = 0, /**< Letter box */
287 CAMERA_DISPLAY_MODE_ORIGIN_SIZE, /**< Origin size */
288 CAMERA_DISPLAY_MODE_FULL, /**< Full screen */
289 CAMERA_DISPLAY_MODE_CROPPED_FULL, /**< Cropped full screen */
290 CAMERA_DISPLAY_MODE_ORIGIN_OR_LETTER_BOX, /**< Original size or letter box (Since 3.0) */
291 CAMERA_DISPLAY_MODE_CUSTOM_ROI, /**< Custom ROI (Since 3.0) */
292 } camera_display_mode_e;
299 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
304 * @brief Enumeration for the color tone, which provides the impression of looking through a tinted glass.
305 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
308 CAMERA_ATTR_EFFECT_NONE = 0, /**< None */
309 CAMERA_ATTR_EFFECT_MONO, /**< Mono */
310 CAMERA_ATTR_EFFECT_SEPIA, /**< Sepia */
311 CAMERA_ATTR_EFFECT_NEGATIVE, /**< Negative */
312 CAMERA_ATTR_EFFECT_BLUE, /**< Blue */
313 CAMERA_ATTR_EFFECT_GREEN, /**< Green */
314 CAMERA_ATTR_EFFECT_AQUA, /**< Aqua */
315 CAMERA_ATTR_EFFECT_VIOLET, /**< Violet */
316 CAMERA_ATTR_EFFECT_ORANGE, /**< Orange */
317 CAMERA_ATTR_EFFECT_GRAY, /**< Gray */
318 CAMERA_ATTR_EFFECT_RED, /**< Red */
319 CAMERA_ATTR_EFFECT_ANTIQUE, /**< Antique */
320 CAMERA_ATTR_EFFECT_WARM, /**< Warm */
321 CAMERA_ATTR_EFFECT_PINK, /**< Pink */
322 CAMERA_ATTR_EFFECT_YELLOW, /**< Yellow */
323 CAMERA_ATTR_EFFECT_PURPLE, /**< Purple */
324 CAMERA_ATTR_EFFECT_EMBOSS, /**< Emboss */
325 CAMERA_ATTR_EFFECT_OUTLINE, /**< Outline */
326 CAMERA_ATTR_EFFECT_SOLARIZATION, /**< Solarization */
327 CAMERA_ATTR_EFFECT_SKETCH, /**< Sketch */
328 CAMERA_ATTR_EFFECT_WASHED, /**< Washed */
329 CAMERA_ATTR_EFFECT_VINTAGE_WARM, /**< Vintage warm */
330 CAMERA_ATTR_EFFECT_VINTAGE_COLD, /**< Vintage cold */
331 CAMERA_ATTR_EFFECT_POSTERIZATION, /**< Posterization */
332 CAMERA_ATTR_EFFECT_CARTOON, /**< Cartoon */
333 CAMERA_ATTR_EFFECT_SELECTIVE_RED, /**< Selective color - Red */
334 CAMERA_ATTR_EFFECT_SELECTIVE_GREEN, /**< Selective color - Green */
335 CAMERA_ATTR_EFFECT_SELECTIVE_BLUE, /**< Selective color - Blue */
336 CAMERA_ATTR_EFFECT_SELECTIVE_YELLOW, /**< Selective color - Yellow */
337 CAMERA_ATTR_EFFECT_SELECTIVE_RED_YELLOW, /**< Selective color - Red and Yellow */
338 CAMERA_ATTR_EFFECT_OTHER_GRAPHICS, /**< Other Graphic effects */
339 } camera_attr_effect_mode_e;
342 * @brief Enumeration for the white balance levels of the camera.
343 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
346 CAMERA_ATTR_WHITE_BALANCE_NONE = 0, /**< None */
347 CAMERA_ATTR_WHITE_BALANCE_AUTOMATIC, /**< Automatic */
348 CAMERA_ATTR_WHITE_BALANCE_DAYLIGHT, /**< Daylight */
349 CAMERA_ATTR_WHITE_BALANCE_CLOUDY, /**< Cloudy */
350 CAMERA_ATTR_WHITE_BALANCE_FLUORESCENT, /**< Fluorescent */
351 CAMERA_ATTR_WHITE_BALANCE_INCANDESCENT, /**< Incandescent */
352 CAMERA_ATTR_WHITE_BALANCE_SHADE, /**< Shade */
353 CAMERA_ATTR_WHITE_BALANCE_HORIZON, /**< Horizon */
354 CAMERA_ATTR_WHITE_BALANCE_FLASH, /**< Flash */
355 CAMERA_ATTR_WHITE_BALANCE_CUSTOM, /**< Custom */
356 } camera_attr_whitebalance_e;
359 * @brief Enumeration for the scene mode.
360 * @details The mode of operation can be in daylight, night, or back-light.
361 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
364 CAMERA_ATTR_SCENE_MODE_NORMAL = 0, /**< Normal */
365 CAMERA_ATTR_SCENE_MODE_PORTRAIT, /**< Portrait */
366 CAMERA_ATTR_SCENE_MODE_LANDSCAPE, /**< Landscape */
367 CAMERA_ATTR_SCENE_MODE_SPORTS, /**< Sports */
368 CAMERA_ATTR_SCENE_MODE_PARTY_N_INDOOR, /**< Party & indoor */
369 CAMERA_ATTR_SCENE_MODE_BEACH_N_INDOOR, /**< Beach & indoor */
370 CAMERA_ATTR_SCENE_MODE_SUNSET, /**< Sunset */
371 CAMERA_ATTR_SCENE_MODE_DUSK_N_DAWN, /**< Dusk & dawn */
372 CAMERA_ATTR_SCENE_MODE_FALL_COLOR, /**< Fall */
373 CAMERA_ATTR_SCENE_MODE_NIGHT_SCENE, /**< Night scene */
374 CAMERA_ATTR_SCENE_MODE_FIREWORK, /**< Firework */
375 CAMERA_ATTR_SCENE_MODE_TEXT, /**< Text */
376 CAMERA_ATTR_SCENE_MODE_SHOW_WINDOW, /**< Show window */
377 CAMERA_ATTR_SCENE_MODE_CANDLE_LIGHT, /**< Candle light */
378 CAMERA_ATTR_SCENE_MODE_BACKLIGHT, /**< Backlight */
379 CAMERA_ATTR_SCENE_MODE_AQUA, /**< Aqua */
380 } camera_attr_scene_mode_e;
383 * @brief Enumeration for the auto focus mode.
384 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
387 CAMERA_ATTR_AF_NONE = 0, /**< auto-focus is not set */
388 CAMERA_ATTR_AF_NORMAL, /**< auto-focus in the normal mode */
389 CAMERA_ATTR_AF_MACRO, /**< auto-focus in the macro mode(close distance) */
390 CAMERA_ATTR_AF_FULL, /**< auto-focus in the full mode(all range scan, limited by device spec) */
391 } camera_attr_af_mode_e;
394 * @brief Enumeration for the ISO levels of the camera.
395 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
398 CAMERA_ATTR_ISO_AUTO = 0, /**< ISO auto mode */
399 CAMERA_ATTR_ISO_50, /**< ISO 50 */
400 CAMERA_ATTR_ISO_100, /**< ISO 100 */
401 CAMERA_ATTR_ISO_200, /**< ISO 200 */
402 CAMERA_ATTR_ISO_400, /**< ISO 400 */
403 CAMERA_ATTR_ISO_800, /**< ISO 800 */
404 CAMERA_ATTR_ISO_1600, /**< ISO 1600 */
405 CAMERA_ATTR_ISO_3200, /**< ISO 3200 */
409 * @brief Enumeration for the camera exposure modes.
410 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
413 CAMERA_ATTR_EXPOSURE_MODE_OFF = 0, /**< Off */
414 CAMERA_ATTR_EXPOSURE_MODE_ALL, /**< All mode */
415 CAMERA_ATTR_EXPOSURE_MODE_CENTER, /**< Center mode */
416 CAMERA_ATTR_EXPOSURE_MODE_SPOT, /**< Spot mode */
417 CAMERA_ATTR_EXPOSURE_MODE_CUSTOM, /**< Custom mode */
418 } camera_attr_exposure_mode_e;
421 * @brief Enumeration for the orientation values of tag.
422 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
425 CAMERA_ATTR_TAG_ORIENTATION_TOP_LEFT = 1, /**< Row #0 is at the top, Column #0 is to the left */
426 CAMERA_ATTR_TAG_ORIENTATION_TOP_RIGHT = 2, /**< Row #0 is at the top, Column #0 is to the right (flipped) */
427 CAMERA_ATTR_TAG_ORIENTATION_BOTTOM_RIGHT = 3, /**< Row #0 is at the bottom, Column #0 is to the right */
428 CAMERA_ATTR_TAG_ORIENTATION_BOTTOM_LEFT = 4, /**< Row #0 is at the bottom, Column #0 is to the left (flipped) */
429 CAMERA_ATTR_TAG_ORIENTATION_LEFT_TOP = 5, /**< Row #0 is to the left, Column #0 is at the top (flipped) */
430 CAMERA_ATTR_TAG_ORIENTATION_RIGHT_TOP = 6, /**< Row #0 is to the right, Column #0 is at the top */
431 CAMERA_ATTR_TAG_ORIENTATION_RIGHT_BOTTOM = 7, /**< Row #0 is to the right, Column #0 is at the bottom (flipped) */
432 CAMERA_ATTR_TAG_ORIENTATION_LEFT_BOTTOM = 8, /**< Row #0 is to the left, Column #0 is at the bottom */
433 } camera_attr_tag_orientation_e;
436 * @brief Enumeration for the flash mode.
437 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
440 CAMERA_ATTR_FLASH_MODE_OFF = 0, /**< Always off */
441 CAMERA_ATTR_FLASH_MODE_ON, /**< Always splashes */
442 CAMERA_ATTR_FLASH_MODE_AUTO, /**< Depending on intensity of light, strobe starts to flash */
443 CAMERA_ATTR_FLASH_MODE_REDEYE_REDUCTION, /**< Red eye reduction. Multiple flash before capturing */
444 CAMERA_ATTR_FLASH_MODE_SLOW_SYNC, /**< Slow sync curtain synchronization */
445 CAMERA_ATTR_FLASH_MODE_FRONT_CURTAIN, /**< Front curtain synchronization */
446 CAMERA_ATTR_FLASH_MODE_REAR_CURTAIN, /**< Rear curtain synchronization */
447 CAMERA_ATTR_FLASH_MODE_PERMANENT, /**< Keep turned on until turning off */
448 } camera_attr_flash_mode_e;
451 * @brief Enumeration to preview FPS.
452 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
455 CAMERA_ATTR_FPS_AUTO = 0, /**< AUTO FPS */
456 CAMERA_ATTR_FPS_7 = 7, /**< 7 FPS */
457 CAMERA_ATTR_FPS_8 = 8, /**< 8 FPS */
458 CAMERA_ATTR_FPS_15 = 15, /**< 15 FPS */
459 CAMERA_ATTR_FPS_20 = 20, /**< 20 FPS */
460 CAMERA_ATTR_FPS_24 = 24, /**< 24 FPS */
461 CAMERA_ATTR_FPS_25 = 25, /**< 25 FPS */
462 CAMERA_ATTR_FPS_30 = 30, /**< 30 FPS */
463 CAMERA_ATTR_FPS_60 = 60, /**< 60 FPS */
464 CAMERA_ATTR_FPS_90 = 90, /**< 90 FPS */
465 CAMERA_ATTR_FPS_120 = 120 /**< 120 FPS */
469 * @brief Enumeration for the theater mode.
470 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
473 CAMERA_ATTR_THEATER_MODE_DISABLE = 0, /**< Disable theater mode - External display shows same image as device display */
474 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 */
475 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 */
476 } camera_attr_theater_mode_e;
479 * @brief Enumeration for HDR capture mode.
480 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
483 CAMERA_ATTR_HDR_MODE_DISABLE = 0, /**< Disable HDR capture */
484 CAMERA_ATTR_HDR_MODE_ENABLE, /**< Enable HDR capture */
485 CAMERA_ATTR_HDR_MODE_KEEP_ORIGINAL /**< Enable HDR capture and keep original image data */
486 } camera_attr_hdr_mode_e;
489 * @brief Enumeration for PTZ(Pan Tilt Zoom) type.
493 CAMERA_ATTR_PTZ_TYPE_MECHANICAL = 0, /**< Move the camera device physically */
494 CAMERA_ATTR_PTZ_TYPE_ELECTRONIC /**< Zoom digitally and move into portion of the image */
495 } camera_attr_ptz_type_e;
498 * @brief Enumeration for PTZ(Pan Tilt Zoom) movement type.
502 CAMERA_ATTR_PTZ_MOVE_ABSOLUTE = 0, /**< Move to a specific coordinate position */
503 CAMERA_ATTR_PTZ_MOVE_RELATIVE /**< Move a specific distance from the current position */
504 } camera_attr_ptz_move_type_e;
512 * @addtogroup CAPI_MEDIA_CAMERA_MODULE
517 * @brief Called when the camera state is changed.
518 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
520 * @param[in] previous The previous state of the camera
521 * @param[in] current The current state of the camera
522 * @param[in] by_policy If @c true the state is changed by policy, otherwise @c false
523 * @param[in] user_data The user data passed from the callback registration function
524 * @pre camera_start_preview(), camera_start_capture() or camera_stop_preview()
525 * will invoke this callback if you register this callback using camera_set_state_changed_cb().
526 * @see camera_set_state_changed_cb()
528 typedef void (*camera_state_changed_cb)(camera_state_e previous, camera_state_e current, bool by_policy, void *user_data);
531 * @brief Called when the camera is interrupted by policy.
532 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
534 * @param[in] policy The policy that interrupted the camera
535 * @param[in] previous The previous state of the camera
536 * @param[in] current The current state of the camera
537 * @param[in] user_data The user data passed from the callback registration function
538 * @see camera_set_interrupted_cb()
540 typedef void (*camera_interrupted_cb)(camera_policy_e policy, camera_state_e previous, camera_state_e current, void *user_data);
543 * @brief Called when the camera focus state is changed.
544 * @details When the camera auto focus completes or a change to the focus state occurs,
545 * this callback is invoked. \n \n
546 * Changes of focus state are as follows: \n
547 * #CAMERA_FOCUS_STATE_RELEASED -> start focusing -> #CAMERA_FOCUS_STATE_ONGOING -> working ->
548 * #CAMERA_FOCUS_STATE_FOCUSED or #CAMERA_FOCUS_STATE_FAILED.
549 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
551 * @param[in] state The current state of the auto-focus
552 * @param[in] user_data The user data passed from the callback registration function
553 * @pre camera_start_focusing() will invoke this callback if you register it using camera_set_focus_changed_cb().
554 * @see camera_set_focus_changed_cb()
555 * @see camera_unset_focus_changed_cb()
556 * @see camera_start_focusing()
557 * @see camera_cancel_focusing()
559 typedef void (*camera_focus_changed_cb)(camera_focus_state_e state, void *user_data);
562 * @brief Called to register for notifications about delivering a copy of the new preview frame when every preview frame is displayed.
563 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
565 * @remarks This function is issued in the context of internal framework so the UI update code should not be directly invoked.\n
566 * If the camera is used as a recorder then this callback function won't be called.
568 * @param[in] frame The reference pointer to preview stream data
569 * @param[in] user_data The user data passed from the callback registration function
570 * @pre camera_start_preview() will invoke this callback function if you register this callback using camera_set_preview_cb().
571 * @see camera_start_preview()
572 * @see camera_set_preview_cb()
573 * @see camera_unset_preview_cb()
575 typedef void (*camera_preview_cb)(camera_preview_data_s *frame, void *user_data);
578 * @brief Called to register for notifications about delivering media packet when every preview frame is displayed.
579 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
581 * @remarks This function is issued in the context of internal framework so the UI update code should not be directly invoked.\n
582 * If the camera is used as a recorder then this callback function won't be called.\n
583 * and the packet should be released by media_packet_destroy() after use.
585 * @param[in] pkt Reference pointer to media packet
586 * @param[in] user_data The user data passed from the callback registration function
587 * @pre camera_start_preview() will invoke this callback function if you register this callback using camera_set_media_packet_preview_cb().
588 * @see camera_start_preview()
589 * @see camera_set_media_packet_preview_cb()
590 * @see camera_unset_media_packet_preview_cb()
592 typedef void (*camera_media_packet_preview_cb)(media_packet_h pkt, void *user_data);
595 * @brief Called to get information about image data taken by the camera once per frame while capturing.
596 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
598 * @remarks This function is issued in the context of gstreamer (video source thread) so the UI update code should not be directly invoked.
599 * You must not call camera_start_preview() within this callback.
601 * @param[in] image The image data of the captured picture
602 * @param[in] postview The image data of the postview
603 * @param[in] thumbnail The image data of the thumbnail (it should be @c NULL if the available thumbnail data does not exist)
604 * @param[in] user_data The user data passed from the callback registration function
605 * @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().
606 * @see camera_start_capture()
607 * @see camera_start_continuous_capture()
608 * @see camera_capture_completed_cb()
610 typedef void (*camera_capturing_cb)(camera_image_data_s *image, camera_image_data_s *postview, camera_image_data_s *thumbnail, void *user_data);
613 * @brief Called when the camera capturing completes.
614 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
616 * @remarks The callback is called after camera_capturing_cb() is completed.\n
617 * If you want to show the user a preview after capturing is finished, an application can use camera_start_preview() after calling this callback.
619 * @param[in] user_data The user data passed from the callback registration function
620 * @pre This callback function is invoked if it is registered using camera_start_capture() or camera_start_continuous_capture().
621 * @see camera_start_capture()
622 * @see camera_start_continuous_capture()
623 * @see camera_capturing_cb()
625 typedef void (*camera_capture_completed_cb)(void *user_data);
628 * @brief Called when an error occurs.
629 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
631 * @remarks This callback informs about a critical error situation.\n
632 * When this callback is invoked, the user should release the resource and terminate the application.\n
633 * In case of errors, one of these codes occur:\n
634 * #CAMERA_ERROR_DEVICE,\n
635 * #CAMERA_ERROR_INVALID_OPERATION,\n
636 * #CAMERA_ERROR_OUT_OF_MEMORY.\n
638 * @param[in] error The error code
639 * @param[in] current_state The current state of the camera
640 * @param[in] user_data The user data passed from the callback registration function
641 * @pre This callback function is invoked if it is registered using camera_set_error_cb().
642 * @see camera_set_error_cb()
643 * @see camera_unset_error_cb()
645 typedef void (*camera_error_cb)(camera_error_e error, camera_state_e current_state, void *user_data);
648 * @brief Called when a face is detected in the preview frame.
649 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
650 * @param[in] faces The detected face array
651 * @param[in] count The length of the array
652 * @param[in] user_data The user data passed from the callback registration function
653 * @see camera_start_face_detection()
655 typedef void (*camera_face_detected_cb)(camera_detected_face_s *faces, int count, void *user_data);
662 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
667 * @brief Called once for each supported preview resolution.
668 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
669 * @param[in] width The preview image width
670 * @param[in] height The preview image height
671 * @param[in] user_data The user data passed from the foreach function
672 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
673 * @pre camera_foreach_supported_preview_resolution() will invoke this callback.
674 * @see camera_foreach_supported_preview_resolution()
676 typedef bool (*camera_supported_preview_resolution_cb)(int width, int height, void *user_data);
679 * @brief Called once for each supported capture resolution.
680 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
681 * @param[in] width The capture resolution width
682 * @param[in] height The capture resolution height
683 * @param[in] user_data The user data passed from the foreach function
684 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
685 * @pre camera_foreach_supported_capture_resolution() will invoke this callback.
686 * @see camera_foreach_supported_capture_resolution()
688 typedef bool (*camera_supported_capture_resolution_cb)(int width, int height, void *user_data);
691 * @brief Called once for the pixel format of each supported capture format.
692 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
693 * @param[in] format The supported pixel format
694 * @param[in] user_data The user data passed from the foreach function
695 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
696 * @pre camera_foreach_supported_capture_format() will invoke this callback.
697 * @see camera_foreach_supported_capture_format()
699 typedef bool (*camera_supported_capture_format_cb)(camera_pixel_format_e format, void *user_data);
702 * @brief Called once for the pixel format of each supported preview format.
703 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
704 * @param[in] format The supported preview data format
705 * @param[in] user_data The user data passed from the foreach function
706 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
707 * @pre camera_foreach_supported_preview_format() will invoke this callback.
708 * @see camera_foreach_supported_preview_format()
710 typedef bool (*camera_supported_preview_format_cb)(camera_pixel_format_e format, void *user_data);
717 * @addtogroup CAPI_MEDIA_CAMERA_MODULE
722 * @brief Creates a new camera handle for controlling a camera.
724 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
726 * @privilege %http://tizen.org/privilege/camera
727 * @remarks Multiple handles on a context at the same time are allowed to be created. However,
728 * camera cannot guarantee proper operation because of limited resources, such as
729 * camera device, audio device, and display device.\n.
730 * A @a camera must be released using camera_destroy().
731 * @param[in] device The hardware camera to access
732 * @param[out] camera A newly returned handle to the camera
733 * @return @c 0 on success, otherwise a negative error value
734 * @retval #CAMERA_ERROR_NONE Successful
735 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
736 * @retval #CAMERA_ERROR_OUT_OF_MEMORY Out of memory
737 * @retval #CAMERA_ERROR_SOUND_POLICY Sound policy error
738 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
739 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
740 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
741 * @post If it succeeds, the camera state will be #CAMERA_STATE_CREATED.
743 * @see camera_destroy()
745 int camera_create(camera_device_e device, camera_h *camera);
748 * @brief Changes the camera device.
752 * @privilege %http://tizen.org/privilege/camera
753 * @remarks This function can be used to change camera device simply without camera_destroy() and camera_create().\n
754 * If display reuse hint is set by camera_set_display_reuse_hint() before stopping the preview,\n
755 * display handle will be reused and last frame on display can be kept even though camera device is changed.
756 * @param[in] camera The handle to the camera
757 * @param[in] device The hardware camera to access
758 * @return @c 0 on success, otherwise a negative error value
759 * @retval #CAMERA_ERROR_NONE Successful
760 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
761 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
762 * @retval #CAMERA_ERROR_OUT_OF_MEMORY Out of memory
763 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
764 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
765 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
766 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
767 * @post If it succeeds, the camera attributes and settings will be reset.
769 * @see camera_set_display_reuse_hint()
770 * @see camera_get_display_reuse_hint()
772 int camera_change_device(camera_h camera, camera_device_e device);
775 * @brief Destroys the camera handle and releases all its resources.
777 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
779 * @privilege %http://tizen.org/privilege/camera
780 * @param[in] camera The handle to the camera
781 * @return @c 0 on success, otherwise a negative error value
782 * @retval #CAMERA_ERROR_NONE Successful
783 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
784 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
785 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
786 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
787 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
788 * @see camera_create()
790 int camera_destroy(camera_h camera);
793 * @brief Starts capturing and drawing preview frames on the screen.
795 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
797 * @privilege %http://tizen.org/privilege/camera
798 * @param[in] camera The handle to the camera
799 * @return @c 0 on success, otherwise a negative error value
800 * @retval #CAMERA_ERROR_NONE Successful
801 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
802 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
803 * @retval #CAMERA_ERROR_SOUND_POLICY Sound policy error
804 * @retval #CAMERA_ERROR_RESOURCE_CONFLICT Resource conflict error
805 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
806 * @retval #CAMERA_ERROR_DEVICE_BUSY The device is being used in another application or is performing other operations
807 * @retval #CAMERA_ERROR_DEVICE_NOT_FOUND No camera device
808 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
809 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
810 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
811 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_CAPTURED.\n
812 * You must set the display handle. \n
813 * If needed, modify preview FPS(camera_attr_set_preview_fps()),
814 * preview resolution(camera_set_preview_resolution()), or preview format(camera_set_preview_format()).
815 * @post If it succeeds, the camera state will be #CAMERA_STATE_PREVIEW.\n
816 * camera_preview_cb() will be called when preview image data becomes available.
818 * @see camera_stop_preview()
819 * @see camera_set_display()
820 * @see camera_set_preview_cb()
821 * @see camera_set_media_packet_preview_cb()
822 * @see camera_foreach_supported_preview_resolution()
823 * @see camera_set_preview_resolution()
824 * @see camera_get_preview_resolution()
825 * @see camera_foreach_supported_preview_format()
826 * @see camera_set_preview_format()
827 * @see camera_get_preview_format()
828 * @see camera_attr_foreach_supported_fps()
829 * @see camera_attr_set_preview_fps()
830 * @see camera_attr_get_preview_fps()
832 int camera_start_preview(camera_h camera);
835 * @brief Stops capturing and drawing preview frames.
836 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
838 * @privilege %http://tizen.org/privilege/camera
839 * @param[in] camera The handle to the camera
840 * @return @c 0 on success, otherwise a negative error value
841 * @retval #CAMERA_ERROR_NONE Successful
842 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
843 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
844 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
845 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
846 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
847 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
848 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
849 * @post The camera state will be #CAMERA_STATE_CREATED.
850 * @see camera_start_preview()
851 * @see camera_unset_preview_cb()
852 * @see camera_unset_media_packet_preview_cb()
854 int camera_stop_preview(camera_h camera);
857 * @brief Starts capturing of still images.
859 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
861 * @privilege %http://tizen.org/privilege/camera
862 * @remarks This function causes the transition of the camera state from #CAMERA_STATE_CAPTURING to #CAMERA_STATE_CAPTURED automatically\n
863 * and the corresponding callback function camera_capturing_cb() and camera_capture_completed_cb() will be invoked\n
864 * The captured image will be delivered through camera_capturing_cb().\n
865 * camera_capture_completed_cb() callback notifies about completion of camera_capturing_cb(). \n
866 * The camera's preview should be restarted by calling camera_start_preview().
867 * @param[in] camera The handle to the camera
868 * @param[in] capturing_cb The callback for capturing data
869 * @param[in] completed_cb The callback for notification of completion
870 * @param[in] user_data The user data
871 * @return @c 0 on success, otherwise a negative error value
872 * @retval #CAMERA_ERROR_NONE Successful
873 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
874 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
875 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
876 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
877 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
878 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
879 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW. \n
880 * If needed, modify capture resolution(camera_set_capture_resolution()),
881 * capture format(camera_set_capture_format()), or image quality(camera_attr_set_image_quality()).
882 * @post If it succeeds the camera state will be #CAMERA_STATE_CAPTURED.
884 * @see camera_start_preview()
885 * @see camera_start_continuous_capture();
886 * @see camera_foreach_supported_capture_resolution()
887 * @see camera_set_capture_resolution()
888 * @see camera_get_capture_resolution()
889 * @see camera_foreach_supported_capture_format()
890 * @see camera_set_capture_format()
891 * @see camera_get_capture_format()
892 * @see camera_attr_set_image_quality()
893 * @see camera_attr_get_image_quality()
895 int camera_start_capture(camera_h camera, camera_capturing_cb capturing_cb, camera_capture_completed_cb completed_cb, void *user_data);
898 * @brief Starts continuously capturing still images.
900 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
902 * @privilege %http://tizen.org/privilege/camera
903 * @remarks If this is not supported zero shutter lag occurs. The capture resolution could be changed to the preview resolution.\n
904 * This function causes the transition of the camera state from #CAMERA_STATE_CAPTURING to #CAMERA_STATE_CAPTURED automatically\n
905 * and the corresponding callback function camera_capturing_cb() and camera_capture_completed_cb() will be invoked\n
906 * Each Captured image will be delivered through camera_capturing_cb().\n
907 * The camera_capture_completed_cb() callback notifies about the completion of an entire capture.\n
908 * The camera's preview should be restarted by calling camera_start_preview().\n.
909 * @param[in] camera The handle to the camera
910 * @param[in] count The number of still images
911 * @param[in] interval The interval of the capture (millisecond)
912 * @param[in] capturing_cb The callback for capturing data
913 * @param[in] completed_cb The callback for notification of completion
914 * @param[in] user_data The user data
915 * @return @c 0 on success, otherwise a negative error value
916 * @retval #CAMERA_ERROR_NONE Successful
917 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
918 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
919 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
920 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
921 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
922 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
923 * @post If it succeeds the camera state will be #CAMERA_STATE_CAPTURED.
925 * @see camera_start_preview()
926 * @see camera_start_capture();
927 * @see camera_stop_continuous_capture()
928 * @see camera_is_supported_zero_shutter_lag()
930 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);
933 * @brief Aborts continuous capturing.
935 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
937 * @privilege %http://tizen.org/privilege/camera
938 * @remarks The camera state will be changed to #CAMERA_STATE_CAPTURED.
939 * @param[in] camera The handle to the camera
940 * @return @c 0 on success, otherwise a negative error value
941 * @retval #CAMERA_ERROR_NONE Successful
942 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
943 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
944 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
945 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
946 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
947 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
948 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
950 * @see camera_start_continuous_capture()
952 int camera_stop_continuous_capture(camera_h camera);
955 * @brief Gets the state of the camera.
957 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
958 * @param[in] camera The handle to the camera
959 * @param[out] state The current state of the camera
960 * @return @c 0 on success, otherwise a negative error value
961 * @retval #CAMERA_ERROR_NONE Successful
962 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
963 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
964 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
965 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
966 * @see camera_create()
967 * @see camera_start_preview()
968 * @see camera_stop_preview()
969 * @see camera_start_capture()
971 int camera_get_state(camera_h camera, camera_state_e *state);
974 * @brief Starts camera auto-focusing, asynchronously.
976 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
978 * @privilege %http://tizen.org/privilege/camera
979 * @remarks If continuous status is @c true, the camera continuously tries to focus.
980 * @param[in] camera The handle to the camera
981 * @param[in] continuous The status of continuous focusing
982 * @return @c 0 on success, otherwise a negative error value
983 * @retval #CAMERA_ERROR_NONE Successful
984 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
985 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
986 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
987 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
988 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
989 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
990 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
991 * @post The camera focus state will be #CAMERA_FOCUS_STATE_ONGOING.
993 * @see camera_cancel_focusing()
994 * @see camera_set_focus_changed_cb()
995 * @see camera_focus_changed_cb()
996 * @see camera_attr_set_af_mode()
998 int camera_start_focusing(camera_h camera, bool continuous);
1001 * @brief Stops camera auto focusing.
1002 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1004 * @privilege %http://tizen.org/privilege/camera
1005 * @param[in] camera The handle to the camera
1006 * @return @c 0 on success, otherwise a negative error value
1007 * @retval #CAMERA_ERROR_NONE Successful
1008 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1009 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1010 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
1011 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1012 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1013 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1014 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
1016 * @see camera_start_focusing()
1017 * @see camera_focus_changed_cb()
1019 int camera_cancel_focusing(camera_h camera);
1022 * @brief Sets the display handle to show preview images.
1024 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1025 * @remarks This function must be called before previewing (see camera_start_preview()).
1026 * In Custom ROI display mode, camera_attr_set_display_roi_area() function must be called before calling this function.
1027 * @param[in] camera The handle to the camera
1028 * @param[in] type The display type
1029 * @param[in] display The display handle from #GET_DISPLAY
1030 * @return @c 0 on success, otherwise a negative error value
1031 * @retval #CAMERA_ERROR_NONE Successful
1032 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1033 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1034 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
1035 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1036 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1037 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1038 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
1040 * @see camera_start_preview()
1043 int camera_set_display(camera_h camera, camera_display_type_e type, camera_display_h display);
1046 * @brief Sets the resolution of the preview.
1048 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1050 * @privilege %http://tizen.org/privilege/camera
1051 * @remarks This function should be called before previewing (camera_start_preview()).
1052 * @param[in] camera The handle to the camera
1053 * @param[in] width The preview width
1054 * @param[in] height The preview height
1055 * @return @c 0 on success, otherwise a negative error value
1056 * @retval #CAMERA_ERROR_NONE Successful
1057 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1058 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1059 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1060 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1061 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1062 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
1064 * @see camera_start_preview()
1065 * @see camera_get_preview_resolution()
1066 * @see camera_foreach_supported_preview_resolution()
1068 int camera_set_preview_resolution(camera_h camera, int width, int height);
1071 * @brief Gets the resolution of the preview.
1073 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1074 * @param[in] camera The handle to the camera
1075 * @param[out] width The preview width
1076 * @param[out] height The preview height
1077 * @return @c 0 on success, otherwise a negative error value
1078 * @retval #CAMERA_ERROR_NONE Successful
1079 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1080 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1081 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1082 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1083 * @see camera_set_preview_resolution()
1084 * @see camera_foreach_supported_preview_resolution()
1086 int camera_get_preview_resolution(camera_h camera, int *width, int *height);
1089 * @brief Gets the recommended preview resolution.
1091 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1092 * @remarks Depending on the capture resolution aspect ratio and display resolution, the recommended preview resolution is determined.
1093 * @param[in] camera The handle to the camera
1094 * @param[out] width The preview width
1095 * @param[out] height The preview height
1096 * @return @c 0 on success, otherwise a negative error value
1097 * @retval #CAMERA_ERROR_NONE Successful
1098 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1099 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1100 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1101 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1102 * @see camera_set_preview_resolution()
1103 * @see camera_foreach_supported_preview_resolution()
1105 int camera_get_recommended_preview_resolution(camera_h camera, int *width, int *height);
1108 * @brief Starts face detection.
1109 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1111 * @privilege %http://tizen.org/privilege/camera
1112 * @remarks This should be called after the preview is started.\n
1113 * This callback will be invoked when the face is detected in the preview frame.\n
1114 * Internally it starts continuous focus and focusing on the detected face.\n
1115 * 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
1116 * 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.
1117 * @param[in] camera The handle to the camera
1118 * @param[in] callback The callback to notify face detection
1119 * @param[in] user_data The user data to be passed to the callback function
1121 * @return @c 0 on success, otherwise a negative error value
1122 * @retval #CAMERA_ERROR_NONE Successful
1123 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1124 * @retval #CAMERA_ERROR_INVALID_STATE Not preview state
1125 * @retval #CAMERA_ERROR_INVALID_OPERATION Not supported this feature
1126 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1127 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1128 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1129 * @pre The camera state must be #CAMERA_STATE_PREVIEW.
1131 * @see camera_stop_face_detection()
1132 * @see camera_face_detected_cb()
1133 * @see camera_is_supported_face_detection()
1135 int camera_start_face_detection(camera_h camera, camera_face_detected_cb callback, void *user_data);
1138 * @brief Stops face detection.
1140 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1142 * @privilege %http://tizen.org/privilege/camera
1143 * @param[in] camera The handle to the camera
1144 * @return @c 0 on success, otherwise a negative error value
1145 * @retval #CAMERA_ERROR_NONE Successful
1146 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1147 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1148 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1149 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1150 * @pre This should be called after face detection is started.
1152 * @see camera_start_face_detection()
1153 * @see camera_is_supported_face_detection()
1155 int camera_stop_face_detection(camera_h camera);
1162 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1167 * @brief Gets continuous capture feature's supported state.
1168 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1169 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1170 * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
1171 * @param[in] camera The handle to the camera
1172 * @return @c true on supported, otherwise false
1173 * @exception #CAMERA_ERROR_NONE Successful
1174 * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1175 * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1176 * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1179 bool camera_is_supported_continuous_capture(camera_h camera);
1182 * @brief Retrieves all supported camera preview resolutions by invoking the callback function once for each supported camera preview resolution.
1184 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1185 * @param[in] camera The handle to the camera
1186 * @param[in] callback The callback function to be invoked
1187 * @param[in] user_data The user data to be passed to the callback function
1188 * @return @c 0 on success, otherwise a negative error value
1189 * @retval #CAMERA_ERROR_NONE Successful
1190 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1191 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1192 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1193 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1194 * @post This function invokes camera_supported_preview_resolution_cb() repeatedly to retrieve each supported preview resolution.
1196 * @see camera_set_preview_resolution()
1197 * @see camera_get_preview_resolution()
1198 * @see camera_supported_preview_resolution_cb()
1200 int camera_foreach_supported_preview_resolution(camera_h camera, camera_supported_preview_resolution_cb callback, void *user_data);
1207 * @addtogroup CAPI_MEDIA_CAMERA_MODULE
1212 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1213 * @brief Sets the display rotation.
1215 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1217 * @privilege %http://tizen.org/privilege/camera
1218 * @remarks This function should be called before previewing (see camera_start_preview())
1219 * @param[in] camera The handle to the camera
1220 * @param[in] rotation The display rotation
1221 * @return @c 0 on success, otherwise a negative error value
1222 * @retval #CAMERA_ERROR_NONE Successful
1223 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1224 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1225 * @retval #CAMERA_ERROR_INVALID_OPERATION Display type is incorrect
1226 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1227 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1228 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1229 * @see camera_start_preview()
1230 * @see camera_get_display_rotation()
1232 int camera_set_display_rotation(camera_h camera, camera_rotation_e rotation);
1235 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1236 * @brief Gets the display rotation.
1238 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1239 * @param[in] camera The handle to the camera
1240 * @param[out] rotation The display rotation
1241 * @return @c 0 on success, otherwise a negative error value
1242 * @retval #CAMERA_ERROR_NONE Successful
1243 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1244 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1245 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1246 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1247 * @see camera_set_display_rotation()
1249 int camera_get_display_rotation(camera_h camera, camera_rotation_e *rotation);
1252 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1253 * @brief Sets the display flip.
1255 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1257 * @privilege %http://tizen.org/privilege/camera
1258 * @param[in] camera The handle to the camera
1259 * @param[in] flip The display flip
1260 * @return @c 0 on success, otherwise a negative error value
1261 * @retval #CAMERA_ERROR_NONE Successful
1262 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1263 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1264 * @retval #CAMERA_ERROR_INVALID_OPERATION Display type is incorrect
1265 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1266 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1267 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1268 * @see camera_get_display_flip()
1270 int camera_set_display_flip(camera_h camera, camera_flip_e flip);
1273 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1274 * @brief Gets the display flip.
1276 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1277 * @param[in] camera The handle to the camera
1278 * @param[out] flip The display flip
1279 * @return @c 0 on success, otherwise a negative error value
1280 * @retval #CAMERA_ERROR_NONE Successful
1281 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
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_set_display_flip()
1287 int camera_get_display_flip(camera_h camera, camera_flip_e *flip);
1290 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1291 * @brief Sets the visible property for display.
1293 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1295 * @privilege %http://tizen.org/privilege/camera
1296 * @param[in] camera The handle to the camera
1297 * @param[in] visible The display visibility property
1299 * @return @c 0 on success, otherwise a negative error value
1300 * @retval #CAMERA_ERROR_NONE Successful
1301 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1302 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1303 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1304 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1305 * @see camera_is_display_visible()
1307 int camera_set_display_visible(camera_h camera, bool visible);
1310 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1311 * @brief Gets the visible property of display.
1313 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1314 * @param[in] camera The handle to the camera
1315 * @param[out] visible @c true if camera display is visible, otherwise @c false
1317 * @return @c 0 on success, otherwise a negative error value
1318 * @retval #CAMERA_ERROR_NONE Successful
1319 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1320 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1321 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1322 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1323 * @see camera_set_display_visible()
1325 int camera_is_display_visible(camera_h camera, bool *visible);
1328 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1329 * @brief Sets the display mode.
1331 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1332 * @param[in] camera The handle to the camera
1333 * @param[in] mode The display mode
1335 * @return @c 0 on success, otherwise a negative error value
1336 * @retval #CAMERA_ERROR_NONE Successful
1337 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1338 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1339 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1340 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1341 * @see camera_get_display_mode()
1343 int camera_set_display_mode(camera_h camera, camera_display_mode_e mode);
1346 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1347 * @brief Gets the display mode.
1349 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1350 * @param[in] camera The handle to the camera
1351 * @param[out] mode The display mode
1353 * @return @c 0 on success, otherwise a negative error value
1354 * @retval #CAMERA_ERROR_NONE Successful
1355 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1356 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1357 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1358 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1359 * @see camera_set_display_mode()
1361 int camera_get_display_mode(camera_h camera, camera_display_mode_e *mode);
1364 * @brief Sets the hint for display reuse.
1366 * @details If the hint is set to true, the display will be reused when the camera device is changed with camera_change_device().
1367 * @remarks If the current display type is #CAMERA_DISPLAY_TYPE_NONE, this function will return #CAMERA_ERROR_INVALID_OPERATION.
1368 * @param[in] camera The handle to the camera
1369 * @param[in] hint The hint for display reuse; true - reuse the display, false - do not reuse
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_INVALID_STATE Invalid state
1374 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
1375 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1376 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
1377 * @see camera_get_display_reuse_hint()
1378 * @see camera_change_device()
1380 int camera_set_display_reuse_hint(camera_h camera, bool hint);
1383 * @brief Gets the hint for display reuse.
1385 * @remarks If the current display type is #CAMERA_DISPLAY_TYPE_NONE, this function will return #CAMERA_ERROR_INVALID_OPERATION.
1386 * @param[in] camera The handle to the camera
1387 * @param[out] hint The hint for display reuse; true - reuse the display, false - do not reuse
1388 * @return @c 0 on success, otherwise a negative error value
1389 * @retval #CAMERA_ERROR_NONE Successful
1390 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1391 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
1392 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1393 * @see camera_get_display_reuse_hint()
1394 * @see camera_change_device()
1396 int camera_get_display_reuse_hint(camera_h camera, bool *hint);
1399 * @brief Sets the resolution of the captured image.
1400 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1402 * @privilege %http://tizen.org/privilege/camera
1403 * @param[in] camera The handle to the camera
1404 * @param[in] width The capture width
1405 * @param[in] height The capture height
1406 * @return @c 0 on success, otherwise a negative error value
1407 * @retval #CAMERA_ERROR_NONE Successful
1408 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1409 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1410 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1411 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1412 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1413 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
1414 * @see camera_start_capture()
1415 * @see camera_get_capture_resolution()
1416 * @see camera_foreach_supported_capture_resolution()
1418 int camera_set_capture_resolution(camera_h camera, int width, int height);
1421 * @brief Gets the resolution of the captured image.
1422 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1423 * @param[in] camera The handle to the camera
1424 * @param[out] width The capture width
1425 * @param[out] height The capture height
1426 * @return @c 0 on success, otherwise a negative error value
1427 * @retval #CAMERA_ERROR_NONE Successful
1428 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1429 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1430 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1431 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1432 * @see camera_set_capture_resolution()
1433 * @see camera_foreach_supported_capture_resolution()
1435 int camera_get_capture_resolution(camera_h camera, int *width, int *height);
1442 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1447 * @brief Retrieves all supported camera captured resolutions by invoking the callback function once for each supported camera capture resolution.
1449 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1450 * @param[in] camera The handle to the camera
1451 * @param[in] callback The callback function to register
1452 * @param[in] user_data The user data to be passed to the callback function
1453 * @return @c 0 on success, otherwise a negative error value
1454 * @retval #CAMERA_ERROR_NONE Successful
1455 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1456 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1457 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1458 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1459 * @post This function invokes camera_supported_capture_resolution_cb() repeatedly to retrieve each supported capture resolution.
1460 * @see camera_set_capture_resolution()
1461 * @see camera_get_capture_resolution()
1462 * @see camera_supported_capture_resolution_cb()
1464 int camera_foreach_supported_capture_resolution(camera_h camera, camera_supported_capture_resolution_cb callback, void *user_data);
1471 * @addtogroup CAPI_MEDIA_CAMERA_MODULE
1476 * @brief Sets the format of an image to be captured.
1478 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1479 * @remarks This function should be called before capturing (see camera_start_capture()).
1480 * @param[in] camera The handle to the camera
1481 * @param[out] format The format of the image to be captured
1482 * @return @c 0 on success, otherwise a negative error value
1483 * @retval #CAMERA_ERROR_NONE Successful
1484 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1485 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1486 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1487 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1488 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1489 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
1490 * @see camera_start_capture()
1491 * @see camera_get_capture_format()
1492 * @see camera_foreach_supported_capture_format()
1494 int camera_set_capture_format(camera_h camera, camera_pixel_format_e format);
1497 * @brief Gets the format of the image to be captured.
1499 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1500 * @param[in] camera The handle to the camera
1501 * @param[out] format The format of the image to be captured
1502 * @return @c 0 on success, otherwise a negative error value
1503 * @retval #CAMERA_ERROR_NONE Successful
1504 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1505 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1506 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1507 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1508 * @see camera_set_capture_format()
1509 * @see camera_foreach_supported_capture_format()
1511 int camera_get_capture_format(camera_h camera, camera_pixel_format_e *format);
1518 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1523 * @brief Retrieves all supported camera capture formats by invoking the callback function once for each supported camera capture format.
1525 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1526 * @param[in] camera The handle to the camera
1527 * @param[in] callback The callback function to be invoked
1528 * @param[in] user_data The user data to be passed to the callback function
1529 * @return @c 0 on success, otherwise a negative error value
1530 * @retval #CAMERA_ERROR_NONE Successful
1531 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1532 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1533 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1534 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1535 * @post This function invokes camera_supported_capture_format_cb() repeatedly to retrieve each supported capture format.
1536 * @see camera_set_capture_format()
1537 * @see camera_get_capture_format()
1538 * @see camera_supported_capture_format_cb()
1540 int camera_foreach_supported_capture_format(camera_h camera, camera_supported_capture_format_cb callback, void *user_data);
1547 * @addtogroup CAPI_MEDIA_CAMERA_MODULE
1552 * @brief Sets the preview data format.
1553 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1554 * @remarks This function should be called before previewing (see camera_start_preview()).
1555 * @param[in] camera The handle to the camera
1556 * @param[in] format The preview data format
1557 * @return @c 0 on success, otherwise a negative error value
1558 * @retval #CAMERA_ERROR_NONE Successful
1559 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1560 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1561 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1562 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1563 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1564 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
1565 * @see camera_start_preview()
1566 * @see camera_get_preview_format()
1567 * @see camera_foreach_supported_preview_format()
1569 int camera_set_preview_format(camera_h camera, camera_pixel_format_e format);
1572 * @brief Gets the format of the preview stream.
1573 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1574 * @param[in] camera The handle to the camera
1575 * @param[out] format The preview data format
1576 * @return @c 0 on success, otherwise a negative error value
1577 * @retval #CAMERA_ERROR_NONE Successful
1578 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1579 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1580 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1581 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1582 * @see camera_set_preview_format()
1583 * @see camera_foreach_supported_preview_format()
1585 int camera_get_preview_format(camera_h camera, camera_pixel_format_e *format);
1588 * @brief Gets the facing direction of camera module.
1590 * @param[in] camera The handle to the camera
1591 * @param[out] facing_direction The facing direction of camera module
1592 * @return @c 0 on success, otherwise a negative error value
1593 * @retval #CAMERA_ERROR_NONE Successful
1594 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
1595 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1596 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1597 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1599 int camera_get_facing_direction(camera_h camera, camera_facing_direction_e *facing_direction);
1602 * @brief Gets the camera's flash state.
1604 * @param[in] device The hardware camera to access
1605 * @param[out] state The current flash state
1606 * @return @c 0 on success, otherwise a negative error value
1607 * @retval #CAMERA_ERROR_NONE Successful
1608 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
1609 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1610 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1611 * @see camera_attr_set_flash_mode()
1612 * @see camera_attr_get_flash_mode()
1614 int camera_get_flash_state(camera_device_e device, camera_flash_state_e *state);
1621 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1626 * @brief Retrieves all supported camera preview formats by invoking the callback function once for each supported camera preview format.
1627 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1628 * @param[in] camera The handle to the camera
1629 * @param[in] callback The callback function to be invoked
1630 * @param[in] user_data The user data to be passed to the callback function
1631 * @return @c 0 on success, otherwise a negative error value
1632 * @retval #CAMERA_ERROR_NONE Successful
1633 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1634 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1635 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1636 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1637 * @post This function invokes camera_supported_preview_format_cb() repeatedly to retrieve each supported preview format.
1638 * @see camera_set_preview_format()
1639 * @see camera_get_preview_format()
1640 * @see camera_supported_preview_format_cb()
1642 int camera_foreach_supported_preview_format(camera_h camera, camera_supported_preview_format_cb callback, void *user_data);
1645 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1646 * @brief Gets the face detection feature's supported state.
1647 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1648 * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
1649 * @param[in] camera The handle to the camera
1650 * @return @c true if supported, otherwise @c false
1651 * @see camera_start_face_detection()
1652 * @see camera_stop_face_detection()
1653 * @exception #CAMERA_ERROR_NONE Successful
1654 * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1655 * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1656 * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1658 bool camera_is_supported_face_detection(camera_h camera);
1661 * @brief Gets the zero shutter lag feature's supported state.
1662 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1663 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1664 * @remarks If supporting zero shutter lag, continuous shot can be done with full capture size. \n
1665 * 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 * @exception #CAMERA_ERROR_NONE Successful
1669 * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1670 * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1671 * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1673 bool camera_is_supported_zero_shutter_lag(camera_h camera);
1676 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1677 * @brief Gets the camera device count.
1678 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1679 * @remarks If the device supports primary and secondary camera, this returns @c 2. If @c 1 is returned, the device only supports primary camera.
1680 * @param[in] camera The handle to the camera
1681 * @param[out] device_count The device count
1682 * @return @c 0 on success, otherwise a negative error value
1683 * @retval #CAMERA_ERROR_NONE Successful
1684 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1685 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1686 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1687 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1689 int camera_get_device_count(camera_h camera, int *device_count);
1692 * @brief Gets the media packet preview callback feature's supported state.
1693 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1694 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1695 * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
1696 * @param[in] camera The handle to the camera
1697 * @return @c true if supported, otherwise @c false
1698 * @exception #CAMERA_ERROR_NONE Successful
1699 * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1700 * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1701 * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1704 bool camera_is_supported_media_packet_preview_cb(camera_h camera);
1711 * @addtogroup CAPI_MEDIA_CAMERA_MODULE
1716 * @brief Registers a callback function to be called once per frame when previewing.
1717 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1718 * @remarks This callback does not work in the video recorder mode.\n
1719 * This function should be called before previewing (see camera_start_preview()).\n
1720 * A registered callback is called on the internal thread of the camera.\n
1721 * A video frame can be retrieved using a registered callback,\n
1722 * and the buffer is only available in a registered callback.\n
1723 * Since tizen 3.0, if you change the buffer in a registered callback,\n
1724 * it could not be displayed on the device in case of copied buffer.\n
1725 * and if camera_is_supported_media_packet_preview_cb() returns false,\n
1726 * it's copied buffer case.
1727 * @param[in] camera The handle to the camera
1728 * @param[in] callback The callback function to be registered
1729 * @param[in] user_data The user data to be passed to the callback function
1730 * @return @c 0 on success, otherwise a negative error value
1731 * @retval #CAMERA_ERROR_NONE Successful
1732 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1733 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1734 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1735 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1736 * @pre The camera's state must be set to #CAMERA_STATE_CREATED.
1737 * @see camera_start_preview()
1738 * @see camera_unset_preview_cb()
1739 * @see camera_preview_cb()
1741 int camera_set_preview_cb(camera_h camera, camera_preview_cb callback, void *user_data);
1744 * @brief Unregisters the callback function.
1745 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1746 * @param[in] camera The handle to the camera
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 * @see camera_set_preview_cb()
1755 int camera_unset_preview_cb(camera_h camera);
1758 * @brief Registers a media packet callback function to be called once per frame when previewing.
1759 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1760 * @remarks This callback does not work in video recorder mode.\n
1761 * This function should be called before previewing (see camera_start_preview())\n
1762 * A registered callback is called on the internal thread of the camera.\n
1763 * A video frame can be retrieved using a registered callback as a media packet.\n
1764 * The callback function holds the same buffer that will be drawn on the display device.\n
1765 * So if you change the media packet in a registered callback, it will be displayed on the device\n
1766 * and the media packet is available until it's destroyed by media_packet_destroy().
1767 * @param[in] camera The handle to the camera
1768 * @param[in] callback The callback function to be registered
1769 * @param[in] user_data The user data to be passed to the callback function
1770 * @return 0 on success, otherwise a negative error value
1771 * @retval #CAMERA_ERROR_NONE Successful
1772 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1773 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1774 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1775 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1776 * @pre The camera's state should be #CAMERA_STATE_CREATED.
1777 * @see camera_start_preview()
1778 * @see camera_unset_media_packet_preview_cb()
1779 * @see camera_media_packet_preview_cb()
1781 int camera_set_media_packet_preview_cb(camera_h camera, camera_media_packet_preview_cb callback, void *user_data);
1784 * @brief Unregisters the media packet callback function.
1785 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1786 * @param[in] camera The handle to the camera
1787 * @return @c 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 * @see camera_set_media_packet_preview_cb()
1795 int camera_unset_media_packet_preview_cb(camera_h camera);
1798 * @brief Registers a callback function to be called when the camera state changes.
1799 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1800 * @param[in] camera The handle to the camera
1801 * @param[in] callback The callback function to register
1802 * @param[in] user_data The user data to be passed to the callback function
1803 * @return @c 0 on success, otherwise a negative error value
1804 * @retval #CAMERA_ERROR_NONE Successful
1805 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1806 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1807 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1808 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1809 * @post This function will invoke camera_state_changed_cb() when the camera state changes.
1810 * @see camera_unset_state_changed_cb()
1811 * @see camera_state_changed_cb()
1813 int camera_set_state_changed_cb(camera_h camera, camera_state_changed_cb callback, void *user_data);
1816 * @brief Unregisters the callback function.
1817 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1818 * @param[in] camera The handle to the camera
1819 * @return @c 0 on success, otherwise a negative error value
1820 * @retval #CAMERA_ERROR_NONE Successful
1821 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1822 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1823 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1824 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1825 * @see camera_set_state_changed_cb()
1827 int camera_unset_state_changed_cb(camera_h camera);
1830 * @brief Registers a callback function to be called when the camera is interrupted by policy.
1831 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1832 * @param[in] camera The handle to the camera
1833 * @param[in] callback The callback function to register
1834 * @param[in] user_data The user data to be passed to the callback function
1835 * @return @c 0 on success, otherwise a negative error value
1836 * @retval #CAMERA_ERROR_NONE Successful
1837 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1838 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1839 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1840 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1841 * @see camera_unset_interrupted_cb()
1842 * @see camera_interrupted_cb()
1844 int camera_set_interrupted_cb(camera_h camera, camera_interrupted_cb callback,
1848 * @brief Unregisters the callback function.
1849 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1850 * @param[in] camera The handle to the camera
1851 * @return @c 0 on success, otherwise a negative error value
1852 * @retval #CAMERA_ERROR_NONE Successful
1853 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1854 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1855 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1856 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1857 * @see camera_set_interrupted_cb()
1859 int camera_unset_interrupted_cb(camera_h camera);
1862 * @brief Registers a callback function to be called when the auto-focus state changes.
1863 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1864 * @param[in] camera The handle to the camera
1865 * @param[in] callback The callback function to register
1866 * @param[in] user_data The user data to be passed to the callback function
1867 * @return @c 0 on success, otherwise a negative error value
1868 * @retval #CAMERA_ERROR_NONE Successful
1869 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1870 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1871 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1872 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1873 * @post This function will invoke camera_focus_changed_cb() when the auto-focus state changes.
1874 * @see camera_start_focusing()
1875 * @see camera_cancel_focusing()
1876 * @see camera_unset_focus_changed_cb()
1877 * @see camera_focus_changed_cb()
1879 int camera_set_focus_changed_cb(camera_h camera, camera_focus_changed_cb callback, void *user_data);
1882 * @brief Unregisters the callback function.
1883 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1884 * @param[in] camera The handle to the camera
1885 * @return @c 0 on success, otherwise a negative error value
1886 * @retval #CAMERA_ERROR_NONE Successful
1887 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1888 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1889 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1890 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1891 * @see camera_set_focus_changed_cb()
1893 int camera_unset_focus_changed_cb(camera_h camera);
1896 * @brief Registers a callback function to be called when an asynchronous operation error occurs.
1897 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1898 * @remarks This callback informs about a critical error situation.\n
1899 * When this callback is invoked, the user should release the resource and terminate the application.\n
1900 * In case of errors, one of the following codes will occur:\n
1901 * #CAMERA_ERROR_DEVICE,\n
1902 * #CAMERA_ERROR_INVALID_OPERATION,\n
1903 * #CAMERA_ERROR_OUT_OF_MEMORY.
1904 * @param[in] camera The handle to the camera
1905 * @param[in] callback The callback function to register
1906 * @param[in] user_data The user data to be passed to the callback function
1907 * @return @c 0 on success, otherwise a negative error value
1908 * @retval #CAMERA_ERROR_NONE Successful
1909 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1910 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1911 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1912 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1913 * @post This function will invoke camera_error_cb() when an asynchronous operation error occurs.
1915 * @see camera_unset_error_cb()
1916 * @see camera_error_cb()
1918 int camera_set_error_cb(camera_h camera, camera_error_cb callback, void *user_data);
1921 * @brief Unregisters the callback function.
1922 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1923 * @param[in] camera The handle to the camera
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 * @see camera_set_error_cb()
1932 int camera_unset_error_cb(camera_h camera);
1939 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1944 * @brief Called to get each supported auto-focus mode.
1945 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1946 * @param[in] mode The supported auto-focus mode
1947 * @param[in] user_data The user data passed from the foreach function
1948 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
1949 * @pre camera_attr_foreach_supported_af_mode() will invoke this callback.
1950 * @see camera_attr_foreach_supported_af_mode()
1952 typedef bool (*camera_attr_supported_af_mode_cb)(camera_attr_af_mode_e mode, void *user_data);
1955 * @brief Called to get each supported exposure mode.
1956 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1957 * @param[in] mode The supported exposure mode
1958 * @param[in] user_data The user data passed from the foreach function
1959 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
1960 * @pre camera_attr_foreach_supported_exposure_mode() will invoke this callback.
1961 * @see camera_attr_foreach_supported_exposure_mode()
1962 * @see #camera_attr_exposure_mode_e
1964 typedef bool (*camera_attr_supported_exposure_mode_cb)(camera_attr_exposure_mode_e mode, void *user_data);
1967 * @brief Called to get each supported ISO mode.
1968 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1969 * @param[in] iso The supported ISO mode
1970 * @param[in] user_data The user data passed from the foreach function
1971 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
1972 * @pre camera_attr_foreach_supported_iso() will invoke this callback.
1973 * @see camera_attr_foreach_supported_iso()
1975 typedef bool (*camera_attr_supported_iso_cb)(camera_attr_iso_e iso, void *user_data);
1978 * @brief Called to get each supported white balance.
1979 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1980 * @param[in] wb The supported white balance mode
1981 * @param[in] user_data The user data passed from the foreach function
1982 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
1983 * @pre camera_attr_foreach_supported_whitebalance() will invoke this callback.
1984 * @see camera_attr_foreach_supported_whitebalance()
1985 * @see #camera_attr_whitebalance_e
1987 typedef bool (*camera_attr_supported_whitebalance_cb)(camera_attr_whitebalance_e wb, void *user_data);
1990 * @brief Called to get each supported effect mode.
1991 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1992 * @param[in] effect The supported effect mode
1993 * @param[in] user_data The user data passed from the foreach function
1994 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
1995 * @pre camera_attr_foreach_supported_effect() will invoke this callback.
1996 * @see camera_attr_foreach_supported_effect()
1998 typedef bool (*camera_attr_supported_effect_cb)(camera_attr_effect_mode_e effect, void *user_data);
2001 * @brief Called to get each supported scene mode.
2002 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2003 * @param[in] mode The supported scene mode
2004 * @param[in] user_data The user data passed from the foreach function
2005 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
2006 * @pre camera_attr_foreach_supported_scene_mode() will invoke this callback.
2007 * @see camera_attr_foreach_supported_scene_mode()
2008 * @see #camera_attr_scene_mode_e
2010 typedef bool (*camera_attr_supported_scene_mode_cb)(camera_attr_scene_mode_e mode, void *user_data);
2013 * @brief Called to get each supported flash mode.
2014 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2015 * @param[in] mode The supported flash mode
2016 * @param[in] user_data The user data passed from the foreach function
2017 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
2018 * @pre camera_attr_foreach_supported_flash_mode() will invoke this callback.
2019 * @see camera_attr_foreach_supported_flash_mode()
2021 typedef bool (*camera_attr_supported_flash_mode_cb)(camera_attr_flash_mode_e mode, void *user_data);
2024 * @brief Called to get each supported FPS mode.
2025 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2026 * @param[in] mode The supported FPS mode
2027 * @param[in] user_data The user data passed from the foreach function
2028 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
2029 * @pre camera_attr_foreach_supported_fps() will invoke this callback.
2030 * @see camera_attr_foreach_supported_fps()
2032 typedef bool (*camera_attr_supported_fps_cb)(camera_attr_fps_e fps, void *user_data);
2035 * @brief Called to get each supported stream flip mode.
2036 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2037 * @param[in] mode The supported stream flip mode
2038 * @param[in] user_data The user data passed from the foreach function
2039 * @return @c true to continue with the next iteration of the loop, \n @c false to break out of the loop
2040 * @pre camera_attr_foreach_supported_stream_flip() will invoke this callback.
2041 * @see camera_attr_foreach_supported_stream_flip()
2043 typedef bool (*camera_attr_supported_stream_flip_cb)(camera_flip_e flip, void *user_data);
2046 * @brief Called to get each supported stream rotation mode.
2047 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2048 * @param[in] mode The supported stream rotation mode
2049 * @param[in] user_data The user data passed from the foreach function
2050 * @return @c true to continue with the next iteration of the loop, \n @c false to break out of the loop
2051 * @pre camera_attr_foreach_supported_stream_rotation() will invoke this callback.
2052 * @see camera_attr_foreach_supported_stream_rotation()
2054 typedef bool (*camera_attr_supported_stream_rotation_cb)(camera_rotation_e rotation, void *user_data);
2057 * @brief Called to get each supported theater mode.
2058 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2059 * @param[in] mode The supported theater mode
2060 * @param[in] user_data The user data passed from the foreach function
2061 * @return @c true to continue with the next iteration of the loop, \n @c false to break out of the loop
2062 * @pre camera_attr_foreach_supported_theater_mode() will invoke this callback.
2063 * @see camera_attr_foreach_supported_theater_mode()
2065 typedef bool (*camera_attr_supported_theater_mode_cb)(camera_attr_theater_mode_e mode, void *user_data);
2068 * @brief Called to get each supported PTZ(Pan Tilt Zoom) type.
2070 * @param[in] type The supported ptz type
2071 * @param[in] user_data The user data passed from the foreach function
2072 * @return @c true to continue with the next iteration of the loop, \n @c false to break out of the loop
2073 * @pre camera_attr_foreach_supported_ptz_mode() will invoke this callback.
2074 * @see camera_attr_foreach_supported_ptz_mode()
2076 typedef bool (*camera_attr_supported_ptz_type_cb)(camera_attr_ptz_type_e type, void *user_data);
2084 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
2089 * @brief Sets the preview frame rate.
2090 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2091 * @remarks This function should be called before previewing (see camera_start_preview()).
2092 * @param[in] camera The handle to the camera
2093 * @param[in] fps The frame rate
2094 * @return @c 0 on success, otherwise a negative error value
2095 * @retval #CAMERA_ERROR_NONE Successful
2096 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2097 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2098 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2099 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2100 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2101 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
2102 * @see camera_start_preview()
2103 * @see camera_attr_get_preview_fps()
2104 * @see camera_attr_foreach_supported_fps()
2106 int camera_attr_set_preview_fps(camera_h camera, camera_attr_fps_e fps);
2109 * @brief Gets the frames per second of a preview video stream.
2110 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2111 * @param[in] camera The handle to the camera
2112 * @param[out] fps The frames per second of the preview video stream
2113 * @return @c 0 on success, otherwise a negative error value
2114 * @retval #CAMERA_ERROR_NONE Successful
2115 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2116 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2117 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2118 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2119 * @see camera_attr_set_preview_fps()
2120 * @see camera_attr_foreach_supported_fps()
2122 int camera_attr_get_preview_fps(camera_h camera, camera_attr_fps_e *fps);
2129 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
2134 * @brief Retrieves all supported FPS modes by invoking the callback function once for each supported FPS mode.
2135 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2136 * @param[in] camera The handle to the camera
2137 * @param[in] callback The callback function to invoke
2138 * @param[in] user_data The user data to be passed to the callback function
2139 * @return @c 0 on success, otherwise a negative error value
2140 * @retval #CAMERA_ERROR_NONE Successful
2141 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2142 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2143 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2144 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2145 * @post This function invokes camera_attr_supported_fps_cb() repeatedly to get each supported FPS mode.
2146 * @see camera_attr_set_preview_fps()
2147 * @see camera_attr_get_preview_fps()
2148 * @see camera_attr_supported_fps_cb()
2150 int camera_attr_foreach_supported_fps(camera_h camera, camera_attr_supported_fps_cb callback, void *user_data);
2153 * @brief Retrieves all supported FPS modes by invoking the callback function once for each supported FPS mode.
2154 * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
2155 * @param[in] camera The handle to the camera
2157 * @privilege %http://tizen.org/privilege/camera
2158 * @param[in] width Required preview resolution's width
2159 * @param[in] height Required preview resolution's height
2160 * @param[in] callback The callback function to invoke
2161 * @param[in] user_data The user data to be passed to the callback function
2162 * @return @c 0 on success, otherwise a negative error value
2163 * @retval #CAMERA_ERROR_NONE Successful
2164 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2165 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2166 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2167 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2168 * @post This function invokes camera_attr_supported_fps_cb() repeatedly to get each supported FPS mode.
2169 * @see camera_attr_set_preview_fps()
2170 * @see camera_attr_get_preview_fps()
2171 * @see camera_attr_supported_fps_cb()
2173 int camera_attr_foreach_supported_fps_by_resolution(camera_h camera, int width, int height, camera_attr_supported_fps_cb callback, void *user_data);
2180 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
2185 * @brief Sets quality of the image.
2186 * @details The range for image quality is 1 to 100. If @a quality is out of range, #CAMERA_ERROR_INVALID_PARAMETER error occurred.
2187 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2189 * @privilege %http://tizen.org/privilege/camera
2190 * @param[in] camera The handle to the camera
2191 * @param[in] quality The quality of image (1 ~ 100)
2192 * @return @c 0 on success, otherwise a negative error value
2193 * @retval #CAMERA_ERROR_NONE Successful
2194 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2195 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2196 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2197 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2198 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2199 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2200 * @see camera_start_preview()
2201 * @see camera_attr_get_image_quality()
2203 int camera_attr_set_image_quality(camera_h camera, int quality);
2206 * @brief Gets the quality of a still image, which is captured.
2207 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2208 * @param[in] camera The handle to the camera
2209 * @param[out] quality The quality of the image(1 ~ 100)
2210 * @return @c 0 on success, otherwise a negative error value
2211 * @retval #CAMERA_ERROR_NONE Successful
2212 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2213 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2214 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2215 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2216 * @see camera_attr_set_image_quality()
2218 int camera_attr_get_image_quality(camera_h camera, int *quality);
2221 * @brief Gets the bit rate of encoded preview.
2223 * @param[in] camera The handle to the camera
2224 * @param[out] bitrate The bit rate of encoded preview
2225 * @return @c 0 on success, otherwise a negative error value
2226 * @retval #CAMERA_ERROR_NONE Successful
2227 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
2228 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2229 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2230 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2231 * @see camera_attr_set_encoded_preview_bitrate()
2233 int camera_attr_get_encoded_preview_bitrate(camera_h camera, int *bitrate);
2236 * @brief Sets the bit rate of encoded preview.
2238 * @param[in] camera The handle to the camera
2239 * @param[in] bitrate The bit rate of encoded preview
2240 * @return @c 0 on success, otherwise a negative error value
2241 * @retval #CAMERA_ERROR_NONE Successful
2242 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
2243 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2244 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2245 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2246 * @see camera_attr_get_encoded_preview_bitrate()
2248 int camera_attr_set_encoded_preview_bitrate(camera_h camera, int bitrate);
2251 * @brief Gets the GOP(Group Of Pictures) interval of encoded preview.
2253 * @param[in] camera The handle to the camera
2254 * @param[out] interval the GOP interval of encoded preview (millisecond)
2255 * @return @c 0 on success, otherwise a negative error value
2256 * @retval #CAMERA_ERROR_NONE Successful
2257 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
2258 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2259 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2260 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2261 * @see camera_attr_get_encoded_preview_gop_interval()
2263 int camera_attr_get_encoded_preview_gop_interval(camera_h camera, int *interval);
2266 * @brief Sets the GOP(Group Of Pictures) interval of encoded preview.
2268 * @param[in] camera The handle to the camera
2269 * @param[in] interval the GOP interval of encoded preview (millisecond)
2270 * @return @c 0 on success, otherwise a negative error value
2271 * @retval #CAMERA_ERROR_NONE Successful
2272 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
2273 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2274 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2275 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2276 * @see camera_attr_set_encoded_preview_gop_interval()
2278 int camera_attr_set_encoded_preview_gop_interval(camera_h camera, int interval);
2281 * @brief Sets the zoom level.
2282 * @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.
2283 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2285 * @privilege %http://tizen.org/privilege/camera
2286 * @param[in] camera The handle to the camera
2287 * @param[in] zoom The zoom level
2288 * @return @c 0 on success, otherwise a negative error value
2289 * @retval #CAMERA_ERROR_NONE Successful
2290 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2291 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2292 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2293 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2294 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2295 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2296 * @see camera_attr_get_zoom()
2297 * @see camera_attr_get_zoom_range()
2299 int camera_attr_set_zoom(camera_h camera, int zoom);
2302 * @brief Gets the zoom level.
2303 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2304 * @param[in] camera The handle to the camera
2305 * @param[out] zoom The zoom level
2306 * @return @c 0 on success, otherwise a negative error value
2307 * @retval #CAMERA_ERROR_NONE Successful
2308 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2309 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2310 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2311 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2312 * @see camera_attr_set_zoom()
2313 * @see camera_attr_get_zoom_range()
2315 int camera_attr_get_zoom(camera_h camera, int *zoom);
2318 * @brief Gets the available zoom level.
2319 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2320 * @remarks If the min value is greater than the max value, it means that this feature is not supported.
2321 * @param[in] camera The handle to the camera
2322 * @param[out] min The minimum zoom level
2323 * @param[out] max The maximum zoom level
2324 * @return @c 0 on success, otherwise a negative error value
2325 * @retval #CAMERA_ERROR_NONE Successful
2326 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2327 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2328 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2329 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2330 * @see camera_attr_set_zoom()
2331 * @see camera_attr_get_zoom()
2333 int camera_attr_get_zoom_range(camera_h camera, int *min, int *max);
2337 * @brief Sets the auto focus mode.
2338 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2340 * @privilege %http://tizen.org/privilege/camera
2341 * @param[in] camera The handle to the camera
2342 * @param[in] mode The auto focus mode
2343 * @return @c 0 on success, otherwise a negative error value
2344 * @retval #CAMERA_ERROR_NONE Successful
2345 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2346 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2347 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2348 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2349 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2350 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2351 * @see camera_attr_get_af_mode()
2352 * @see camera_attr_foreach_supported_af_mode()
2353 * @see #camera_attr_af_mode_e
2355 int camera_attr_set_af_mode(camera_h camera, camera_attr_af_mode_e mode);
2358 * @brief Gets the auto focus mode.
2359 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2361 * @privilege %http://tizen.org/privilege/camera
2362 * @param[in] camera The handle to the camera
2363 * @param[out] mode The auto focus mode
2364 * @return @c 0 on success, otherwise a negative error value
2365 * @retval #CAMERA_ERROR_NONE Successful
2366 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2367 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2368 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2369 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2370 * @see camera_attr_foreach_supported_af_mode()
2371 * @see camera_attr_set_af_mode()
2372 * @see #camera_attr_af_mode_e
2374 int camera_attr_get_af_mode(camera_h camera, camera_attr_af_mode_e *mode);
2377 * @brief Sets auto focus area.
2378 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2380 * @privilege %http://tizen.org/privilege/camera
2381 * @remarks This API is invalid in the #CAMERA_ATTR_AF_NONE mode.\n
2382 * The coordinates are mapped to preview area.
2383 * @param[in] camera The handle to the camera
2384 * @param[in] x The x coordinates of the focus area
2385 * @param[in] y The y coordinates of the focus area
2386 * @return @c 0 on success, otherwise a negative error value
2387 * @retval #CAMERA_ERROR_NONE Successful
2388 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2389 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
2390 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2391 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2392 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2393 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2394 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2395 * @see camera_attr_set_af_mode()
2396 * @see camera_attr_clear_af_area()
2398 int camera_attr_set_af_area(camera_h camera, int x, int y);
2401 * @brief Clears the auto focus area.
2402 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2404 * @privilege %http://tizen.org/privilege/camera
2405 * @remarks The focusing area is set to the center.
2406 * @param[in] camera The handle to the camera
2407 * @return @c 0 on success, otherwise a negative error value
2408 * @retval #CAMERA_ERROR_NONE Successful
2409 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2410 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
2411 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2412 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2413 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2414 * @see camera_attr_set_af_mode()
2415 * @see camera_attr_set_af_area()
2417 int camera_attr_clear_af_area(camera_h camera);
2424 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
2429 * @brief Retrieves all supported auto focus modes by invoking the callback function once for each supported auto focus mode.
2430 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2431 * @param[in] camera The handle to the camera
2432 * @param[in] callback The callback function to invoke
2433 * @param[in] user_data The user data to be passed to the callback function
2434 * @return @c 0 on success, otherwise a negative error value
2435 * @retval #CAMERA_ERROR_NONE Successful
2436 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2437 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2438 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2439 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2440 * @post This function invokes camera_attr_supported_af_mode_cb() to get all the supported auto focus modes.
2441 * @see camera_attr_set_af_mode()
2442 * @see camera_attr_get_af_mode()
2443 * @see camera_attr_supported_af_mode_cb()
2445 int camera_attr_foreach_supported_af_mode(camera_h camera, camera_attr_supported_af_mode_cb callback, void *user_data);
2452 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
2457 * @brief Sets the exposure mode.
2458 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2460 * @privilege %http://tizen.org/privilege/camera
2461 * @param[in] camera The handle to the camera
2462 * @param[in] mode The exposure mode
2463 * @return @c 0 on success, otherwise a negative error value
2464 * @retval #CAMERA_ERROR_NONE Successful
2465 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2466 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2467 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2468 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2469 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2470 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2471 * @see camera_attr_get_exposure_mode()
2472 * @see camera_attr_foreach_supported_exposure_mode()
2474 int camera_attr_set_exposure_mode(camera_h camera, camera_attr_exposure_mode_e mode);
2477 * @brief Gets the exposure mode.
2478 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2479 * @param[in] camera The handle to the camera
2480 * @param[out] mode The exposure mode
2481 * @return @c 0 on success, otherwise a negative error value
2482 * @retval #CAMERA_ERROR_NONE Successful
2483 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2484 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2485 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2486 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2487 * @see camera_attr_set_exposure_mode()
2488 * @see camera_attr_foreach_supported_exposure_mode()
2490 int camera_attr_get_exposure_mode(camera_h camera, camera_attr_exposure_mode_e *mode);
2497 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
2502 * @brief Retrieves all supported exposure modes by invoking the callback function once for each supported exposure mode.
2503 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2504 * @param[in] camera The handle to the camera
2505 * @param[in] callback The callback function to be invoked
2506 * @param[in] user_data The user data to be passed to the callback function
2507 * @return @c 0 on success, otherwise a negative error value
2508 * @retval #CAMERA_ERROR_NONE Successful
2509 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2510 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2511 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2512 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2513 * @post This function invokes camera_attr_supported_exposure_mode_cb() to get all the supported exposure modes.
2514 * @see camera_attr_set_exposure_mode()
2515 * @see camera_attr_get_exposure_mode()
2516 * @see camera_attr_supported_exposure_mode_cb()
2518 int camera_attr_foreach_supported_exposure_mode(camera_h camera, camera_attr_supported_exposure_mode_cb callback, void *user_data);
2525 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
2530 * @brief Sets the exposure value.
2531 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2533 * @privilege %http://tizen.org/privilege/camera
2534 * @param[in] camera The handle to the camera
2535 * @param[in] value The exposure value
2536 * @return @c 0 on success, otherwise a negative error value
2537 * @retval #CAMERA_ERROR_NONE Successful
2538 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2539 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2540 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2541 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2542 * @see camera_attr_get_exposure()
2544 int camera_attr_set_exposure(camera_h camera, int value);
2547 * @brief Gets the exposure value.
2548 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2549 * @param[in] camera The handle to the camera
2550 * @param[out] value The exposure value
2551 * @return @c 0 on success, otherwise a negative error value
2552 * @retval #CAMERA_ERROR_NONE Successful
2553 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2554 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2555 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2556 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2557 * @see camera_attr_set_exposure()
2559 int camera_attr_get_exposure(camera_h camera, int *value);
2562 * @brief Gets the available exposure value.
2563 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2564 * @remarks If the min value is greater than the max value, it means that this feature is not supported.
2565 * @param[in] camera The handle to the camera
2566 * @param[out] min The minimum exposure value
2567 * @param[out] max The maximum exposure value
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 * @see camera_attr_set_exposure()
2576 int camera_attr_get_exposure_range(camera_h camera, int *min, int *max);
2579 * @brief Sets the ISO level.
2580 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2582 * @privilege %http://tizen.org/privilege/camera
2583 * @param[in] camera The handle to the camera
2584 * @param[in] iso The ISO level
2585 * @return @c 0 on success, otherwise a negative error value
2586 * @retval #CAMERA_ERROR_NONE Successful
2587 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2588 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2589 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2590 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2591 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2592 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2593 * @see camera_attr_get_iso()
2594 * @see camera_attr_foreach_supported_iso()
2596 int camera_attr_set_iso(camera_h camera, camera_attr_iso_e iso);
2599 * @brief Gets the ISO level.
2600 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2601 * @param[in] camera The handle to the camera
2602 * @param[out] iso The ISO level
2603 * @return @c 0 on success, otherwise a negative error value
2604 * @retval #CAMERA_ERROR_NONE Successful
2605 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2606 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2607 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2608 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2609 * @see camera_attr_set_iso()
2610 * @see camera_attr_foreach_supported_iso()
2612 int camera_attr_get_iso(camera_h camera, camera_attr_iso_e *iso);
2619 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
2624 * @brief Retrieves all supported ISO levels by invoking the callback function once for each supported ISO level.
2625 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2626 * @param[in] camera The handle to the camera
2627 * @param[in] callback The callback function to be invoked
2628 * @param[in] user_data The user data to be passed to the callback function
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 * @post This function invokes camera_attr_supported_iso_cb() to get all the supported ISO levels.
2636 * @see camera_attr_set_iso()
2637 * @see camera_attr_get_iso()
2638 * @see camera_attr_supported_iso_cb()
2640 int camera_attr_foreach_supported_iso(camera_h camera, camera_attr_supported_iso_cb callback, void *user_data);
2647 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
2652 * @brief Sets the theater mode.
2653 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2655 * @privilege %http://tizen.org/privilege/camera
2656 * @remarks If you want to display the preview image on the external display with the full screen mode, use this function.
2657 * @param[in] camera The handle to the camera
2658 * @param[in] mode The mode to change
2659 * @return @c 0 on success, otherwise a negative error value
2660 * @retval #CAMERA_ERROR_NONE Successful
2661 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2662 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2663 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2664 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2665 * @pre This function is valid only when the external display is connected.
2666 * @see camera_attr_get_theater_mode()
2668 int camera_attr_set_theater_mode(camera_h camera, camera_attr_theater_mode_e mode);
2671 * @brief Gets the theater mode.
2672 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2673 * @param[in] camera The handle to the camera
2674 * @param[in] mode Current theater mode
2675 * @return @c 0 on success, otherwise a negative error value
2676 * @retval #CAMERA_ERROR_NONE Successful
2677 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2678 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2679 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2680 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2681 * @see camera_attr_get_theater_mode()
2683 int camera_attr_get_theater_mode(camera_h camera, camera_attr_theater_mode_e *mode);
2690 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
2695 * @brief Retrieves all supported theater modes by invoking callback function once for each supported theater modes.
2696 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2697 * @param[in] camera The handle to the camera
2698 * @param[in] callback The callback function to be invoked
2699 * @param[in] user_data The user data to be passed to the callback function
2700 * @return @c 0 on success, otherwise a negative error value
2701 * @retval #CAMERA_ERROR_NONE Successful
2702 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2703 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2704 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2705 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2706 * @post This function invokes camera_attr_supported_theater_mode_cb() to get all supported theater modes.
2707 * @see camera_attr_set_theater_mode()
2708 * @see camera_attr_get_theater_mode()
2709 * @see camera_attr_supported_theater_mode_cb()
2711 int camera_attr_foreach_supported_theater_mode(camera_h camera, camera_attr_supported_theater_mode_cb callback, void *user_data);
2719 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
2724 * @brief Sets the brightness level.
2725 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2727 * @privilege %http://tizen.org/privilege/camera
2728 * @remarks If the min value is greater than the max value from camera_attr_get_brightness_range(), \n
2729 * it means that this feature is not supported.
2730 * @param[in] camera The handle to the camera
2731 * @param[in] level The brightness level
2732 * @return @c 0 on success, otherwise a negative error value
2733 * @retval #CAMERA_ERROR_NONE Successful
2734 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2735 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2736 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2737 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2738 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2739 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2740 * @see camera_attr_get_brightness()
2741 * @see camera_attr_get_brightness_range()
2743 int camera_attr_set_brightness(camera_h camera, int level);
2746 * @brief Gets the brightness level.
2747 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2748 * @param[in] camera The handle to the camera
2749 * @param[out] level The brightness level
2750 * @return @c 0 on success, otherwise a negative error value
2751 * @retval #CAMERA_ERROR_NONE Successful
2752 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2753 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2754 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2755 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2756 * @see camera_attr_set_brightness()
2757 * @see camera_attr_get_brightness_range()
2759 int camera_attr_get_brightness(camera_h camera, int *level);
2762 * @brief Gets the available brightness level.
2763 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2764 * @remarks If the min value is greater than the max value, it means that this feature is not supported.
2765 * @param[in] camera The handle to the camera
2766 * @param[out] min The minimum brightness level
2767 * @param[out] max The maximum brightness level
2768 * @return @c 0 on success, otherwise a negative error value
2769 * @retval #CAMERA_ERROR_NONE Successful
2770 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2771 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2772 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2773 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2774 * @see camera_attr_set_brightness()
2775 * @see camera_attr_get_brightness()
2777 int camera_attr_get_brightness_range(camera_h camera, int *min, int *max);
2780 * @brief Sets the contrast level.
2781 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2783 * @privilege %http://tizen.org/privilege/camera
2784 * @param[in] camera The handle to the camera
2785 * @param[in] level The contrast level
2786 * @return @c 0 on success, otherwise a negative error value
2787 * @retval #CAMERA_ERROR_NONE Successful
2788 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2789 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2790 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2791 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2792 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2793 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2794 * @see camera_attr_get_contrast()
2795 * @see camera_attr_get_contrast_range()
2797 int camera_attr_set_contrast(camera_h camera, int level);
2800 * @brief Gets the contrast level.
2801 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2802 * @param[in] camera The handle to the camera
2803 * @param[out] level The contrast level
2804 * @return @c 0 on success, otherwise a negative error value
2805 * @retval #CAMERA_ERROR_NONE Successful
2806 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2807 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2808 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2809 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2810 * @see camera_attr_set_contrast()
2811 * @see camera_attr_get_contrast_range()
2813 int camera_attr_get_contrast(camera_h camera, int *level);
2816 * @brief Gets the available contrast level.
2817 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2818 * @remarks If the min value is greater than the max value, it means that this feature is not supported.
2819 * @param[in] camera The handle to the camera
2820 * @param[out] min The minimum contrast level
2821 * @param[out] max The maximum contrast level
2822 * @return @c 0 on success, otherwise a negative error value
2823 * @retval #CAMERA_ERROR_NONE Successful
2824 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2825 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2826 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2827 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2828 * @see camera_attr_set_contrast()
2829 * @see camera_attr_get_contrast()
2831 int camera_attr_get_contrast_range(camera_h camera, int *min, int *max);
2834 * @brief Sets the white balance mode.
2835 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2837 * @privilege %http://tizen.org/privilege/camera
2838 * @param[in] camera The handle to the camera
2839 * @param[in] whitebalance The white balance mode
2840 * @return @c 0 on success, otherwise a negative error value
2841 * @retval #CAMERA_ERROR_NONE Successful
2842 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2843 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2844 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2845 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2846 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2847 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2848 * @see camera_attr_foreach_supported_whitebalance()
2849 * @see camera_attr_get_whitebalance()
2851 int camera_attr_set_whitebalance(camera_h camera, camera_attr_whitebalance_e whitebalance);
2854 * @brief Gets the white balance mode.
2855 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2856 * @param[in] camera The handle to the camera
2857 * @param[out] whitebalance The white balance mode
2858 * @return @c 0 on success, otherwise a negative error value
2859 * @retval #CAMERA_ERROR_NONE Successful
2860 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2861 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2862 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2863 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2864 * @see camera_attr_foreach_supported_whitebalance()
2865 * @see camera_attr_set_whitebalance()
2867 int camera_attr_get_whitebalance(camera_h camera, camera_attr_whitebalance_e *whitebalance);
2874 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
2879 * @brief Retrieves all supported white balances by invoking the callback function once for each supported white balance.
2880 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2881 * @param[in] camera The handle to the camera
2882 * @param[in] callback The callback function to be invoked
2883 * @param[in] user_data The user data to be passed to the callback function
2884 * @return @c 0 on success, otherwise a negative error value
2885 * @retval #CAMERA_ERROR_NONE Successful
2886 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2887 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2888 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2889 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2890 * @post This function invokes camera_attr_supported_whitebalance_cb() to get all the supported white balances.
2891 * @see camera_attr_set_whitebalance()
2892 * @see camera_attr_get_whitebalance()
2893 * @see camera_attr_supported_whitebalance_cb()
2895 int camera_attr_foreach_supported_whitebalance(camera_h camera, camera_attr_supported_whitebalance_cb callback, void *user_data);
2902 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
2907 * @brief Sets the camera effect mode.
2908 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2910 * @privilege %http://tizen.org/privilege/camera
2911 * @param[in] camera The handle to the camera
2912 * @param[in] effect The camera effect mode
2913 * @return @c 0 on success, otherwise a negative error value
2914 * @retval #CAMERA_ERROR_NONE Successful
2915 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2916 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2917 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2918 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2919 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2920 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2921 * @see camera_attr_foreach_supported_effect()
2922 * @see camera_attr_get_effect()
2924 int camera_attr_set_effect(camera_h camera, camera_attr_effect_mode_e effect);
2928 * @brief Gets the camera effect mode.
2929 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2930 * @param[in] camera The handle to the camera
2931 * @param[out] effect The camera effect mode
2932 * @return @c 0 on success, otherwise a negative error value
2933 * @retval #CAMERA_ERROR_NONE Successful
2934 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2935 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2936 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2937 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2938 * @see camera_attr_foreach_supported_effect()
2939 * @see camera_attr_set_effect()
2941 int camera_attr_get_effect(camera_h camera, camera_attr_effect_mode_e *effect);
2948 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
2953 * @brief Retrieves all supported effect modes by invoking the callback function once for each supported effect mode.
2954 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2955 * @param[in] camera The handle to the camera
2956 * @param[in] callback The callback function to invoke
2957 * @param[in] user_data The user data to be passed to the callback function
2958 * @return @c 0 on success, otherwise a negative error value
2959 * @retval #CAMERA_ERROR_NONE Successful
2960 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2961 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2962 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2963 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2964 * @post This function invokes camera_attr_supported_effect_cb() to get all the supported effect modes.
2965 * @see camera_attr_set_effect()
2966 * @see camera_attr_get_effect()
2967 * @see camera_attr_supported_effect_cb()
2969 int camera_attr_foreach_supported_effect(camera_h camera, camera_attr_supported_effect_cb callback, void *user_data);
2976 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
2981 * @brief Sets the scene mode.
2982 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2984 * @privilege %http://tizen.org/privilege/camera
2985 * @param[in] camera The handle to the camera
2986 * @param[in] mode The scene mode
2987 * @return @c 0 on success, otherwise a negative error value
2988 * @retval #CAMERA_ERROR_NONE Successful
2989 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2990 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2991 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2992 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2993 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2994 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2995 * @see camera_attr_foreach_supported_scene_mode()
2996 * @see camera_attr_get_scene_mode()
2998 int camera_attr_set_scene_mode(camera_h camera, camera_attr_scene_mode_e mode);
3001 * @brief Gets the scene mode.
3002 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3003 * @param[in] camera The handle to the camera
3004 * @param[out] mode The scene mode
3005 * @return @c 0 on success, otherwise a negative error value
3006 * @retval #CAMERA_ERROR_NONE Successful
3007 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3008 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3009 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3010 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3011 * @see camera_attr_foreach_supported_scene_mode()
3012 * @see camera_attr_set_scene_mode()
3014 int camera_attr_get_scene_mode(camera_h camera, camera_attr_scene_mode_e *mode);
3021 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3026 * @brief Retrieves all supported scene modes by invoking the callback function once for each supported scene mode.
3027 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3028 * @param[in] camera The handle to the camera
3029 * @param[in] callback The callback function to invoke
3030 * @param[in] user_data The user data to be passed to the callback function
3031 * @return @c 0 on success, otherwise a negative error value
3032 * @retval #CAMERA_ERROR_NONE Successful
3033 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3034 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3035 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3036 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3037 * @post This function invokes camera_attr_supported_scene_mode_cb() to get all the supported scene modes.
3038 * @see camera_attr_set_scene_mode()
3039 * @see camera_attr_get_scene_mode()
3040 * @see camera_attr_supported_scene_mode_cb()
3042 int camera_attr_foreach_supported_scene_mode(camera_h camera, camera_attr_supported_scene_mode_cb callback, void *user_data);
3049 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
3054 * @brief Enables to write EXIF(Exchangeable image file format) tags in a JPEG file.
3055 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3056 * @param[in] camera The handle to the camera
3057 * @param[in] enable If @c true writing EXIF tags in a JPEG file is enabled, otherwise @c false
3058 * @return @c 0 on success, otherwise a negative error value
3059 * @retval #CAMERA_ERROR_NONE Successful
3060 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3061 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3062 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3063 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3064 * @see camera_attr_is_enabled_tag()
3066 int camera_attr_enable_tag(camera_h camera, bool enable);
3069 * @brief Gets the value that indicates whether writing EXIF(Exchangeable image file format) tags in a JPEG file is enabled.
3070 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3071 * @param[in] camera The handle to the camera
3072 * @param[out] enabled If @c true camera information is enabled, otherwise @c false
3073 * @return @c 0 on success, otherwise a negative error value
3074 * @retval #CAMERA_ERROR_NONE Successful
3075 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3076 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3077 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3078 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3079 * @see camera_attr_enable_tag()
3081 int camera_attr_is_enabled_tag(camera_h camera, bool *enabled);
3084 * @brief Sets the camera image description in the EXIF(Exchangeable image file format) tag.
3085 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3086 * @param[in] camera The handle to the camera
3087 * @param[in] description The string with description
3088 * @return @c 0 on success, otherwise a negative error value
3089 * @retval #CAMERA_ERROR_NONE Successful
3090 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3091 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3092 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3093 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3094 * @see camera_attr_get_tag_image_description()
3096 int camera_attr_set_tag_image_description(camera_h camera, const char *description);
3099 * @brief Gets the camera image description in EXIF(Exchangeable image file format) tag.
3100 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3101 * @remarks You must release @a description using free().
3102 * @param[in] camera The handle to the camera
3103 * @param[out] description A pointer to a string
3104 * @return @c 0 on success, otherwise a negative error value
3105 * @retval #CAMERA_ERROR_NONE Successful
3106 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3107 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3108 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3109 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3110 * @see camera_attr_set_tag_image_description()
3112 int camera_attr_get_tag_image_description(camera_h camera, char **description);
3115 * @brief Sets the camera orientation in the EXIF(Exchangeable image file format) tag.
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] orientation The camera orientation
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_get_tag_orientation()
3127 int camera_attr_set_tag_orientation(camera_h camera, camera_attr_tag_orientation_e orientation);
3130 * @brief Gets the camera orientation in the EXIF(Exchangeable image file format) tag.
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] orientation The camera orientation
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_set_tag_orientation()
3142 int camera_attr_get_tag_orientation(camera_h camera, camera_attr_tag_orientation_e *orientation);
3145 * @brief Sets the software information 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] software The software information tag
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_software()
3157 int camera_attr_set_tag_software(camera_h camera, const char *software);
3160 * @brief Gets the software information in the 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 software using free().
3163 * @param[in] camera The handle to the camera
3164 * @param[out] software 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_software()
3173 int camera_attr_get_tag_software(camera_h camera, char **software);
3176 * @brief Sets the geotag(GPS data) 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] latitude The latitude data
3180 * @param[in] longitude The longitude data
3181 * @param[in] altitude The altitude data
3182 * @return @c 0 on success, otherwise a negative error value
3183 * @retval #CAMERA_ERROR_NONE Successful
3184 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3185 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3186 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3187 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3188 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3189 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
3190 * @see camera_attr_get_geotag()
3191 * @see camera_attr_remove_geotag()
3193 int camera_attr_set_geotag(camera_h camera, double latitude, double longitude, double altitude);
3196 * @brief Gets the geotag(GPS data) in the EXIF(Exchangeable image file format) tag.
3197 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3198 * @param[in] camera The handle to the camera
3199 * @param[out] latitude The latitude data
3200 * @param[out] longitude The longitude data
3201 * @param[out] altitude The altitude data
3202 * @return @c 0 on success, otherwise a negative error value
3203 * @retval #CAMERA_ERROR_NONE Successful
3204 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3205 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3206 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3207 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3208 * @see camera_attr_set_geotag()
3209 * @see camera_attr_remove_geotag()
3211 int camera_attr_get_geotag(camera_h camera, double *latitude, double *longitude, double *altitude);
3214 * @brief Removes the geotag(GPS data) in the EXIF(Exchangeable image file format) tag.
3215 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3216 * @param[in] camera The handle to the camera
3217 * @return @c 0 on success, otherwise a negative error value
3218 * @retval #CAMERA_ERROR_NONE Successful
3219 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3220 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3221 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3222 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3223 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3224 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
3225 * @see camera_attr_set_geotag()
3226 * @see camera_attr_get_geotag()
3228 int camera_attr_remove_geotag(camera_h camera);
3231 * @brief Sets the camera's flash mode.
3232 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3234 * @privilege %http://tizen.org/privilege/camera
3235 * @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
3236 * then this function returns #CAMERA_ERROR_DEVICE_BUSY error.
3237 * @param[in] camera The handle to the camera
3238 * @param[in] mode The flash mode
3239 * @return @c 0 on success, otherwise a negative error value
3240 * @retval #CAMERA_ERROR_NONE Successful
3241 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3242 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3243 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3244 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3245 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3246 * @retval #CAMERA_ERROR_DEVICE_BUSY The flash was preempted by other API
3247 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
3248 * @see camera_attr_foreach_supported_flash_mode()
3249 * @see camera_attr_get_flash_mode()
3251 int camera_attr_set_flash_mode(camera_h camera, camera_attr_flash_mode_e mode);
3254 * @brief Gets the camera's flash mode.
3255 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3256 * @param[in] camera The handle to the camera
3257 * @param[out] mode The flash mode
3258 * @return @c 0 on success, otherwise a negative error value
3259 * @retval #CAMERA_ERROR_NONE Successful
3260 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3261 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3262 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3263 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3264 * @see camera_attr_foreach_supported_flash_mode()
3265 * @see camera_attr_set_flash_mode()
3267 int camera_attr_get_flash_mode(camera_h camera, camera_attr_flash_mode_e *mode);
3274 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3279 * @brief Retrieves all supported flash modes by invoking the callback function once for each supported flash mode.
3280 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3281 * @param[in] camera The handle to the camera
3282 * @param[in] callback The callback function to invoke
3283 * @param[in] user_data The user data passed to the callback registration function
3284 * @return @c 0 on success, otherwise a negative error value
3285 * @retval #CAMERA_ERROR_NONE Successful
3286 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3287 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3288 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3289 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3290 * @post This function invokes camera_attr_supported_flash_mode_cb() to get all supported flash modes.
3291 * @see camera_attr_set_flash_mode()
3292 * @see camera_attr_get_flash_mode()
3293 * @see camera_attr_supported_flash_mode_cb()
3295 int camera_attr_foreach_supported_flash_mode(camera_h camera, camera_attr_supported_flash_mode_cb callback, void *user_data);
3302 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
3307 * @brief Gets the camera len's orientation angle.
3308 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3309 * @param[in] camera The handle to the camera
3310 * @param[out] angle The orientation angle
3311 * @return @c 0 on success, otherwise a negative error value
3312 * @retval #CAMERA_ERROR_NONE Successful
3313 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3314 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3315 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3316 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3317 * @see camera_set_display_rotation()
3319 int camera_attr_get_lens_orientation(camera_h camera, int *angle);
3322 * @brief Sets the stream rotation.
3323 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3324 * @param[in] camera The handle to the camera
3325 * @param[in] rotation The stream rotation
3326 * @return @c 0 on success, otherwise a negative error value
3327 * @retval #CAMERA_ERROR_NONE Successful
3328 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3329 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3330 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3331 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3332 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
3333 * @see camera_attr_get_stream_rotation()
3335 int camera_attr_set_stream_rotation(camera_h camera, camera_rotation_e rotation);
3338 * @brief Gets the stream rotation.
3339 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3340 * @param[in] camera The handle to the camera
3341 * @param[out] rotation The stream rotation
3342 * @return @c 0 on success, otherwise a negative error value
3343 * @retval #CAMERA_ERROR_NONE Successful
3344 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3345 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3346 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3347 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3348 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
3349 * @see camera_attr_set_stream_rotation()
3351 int camera_attr_get_stream_rotation(camera_h camera, camera_rotation_e *rotation);
3358 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3363 * @brief Retrieves all supported stream rotation modes by invoking callback function once for each supported stream rotation mode.
3364 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3365 * @param[in] camera The handle to the camera
3366 * @param[in] callback The callback function to invoke
3367 * @param[in] user_data The user data to be passed to the callback function
3368 * @return @c 0 on success, otherwise a negative error value
3369 * @retval #CAMERA_ERROR_NONE Successful
3370 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3371 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3372 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3373 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3374 * @post This function invokes camera_attr_supported_stream_rotation_cb() to get all supported stream rotation mode.
3375 * @see camera_attr_set_stream_rotation()
3376 * @see camera_attr_get_stream_rotation()
3377 * @see camera_attr_supported_stream_rotation_cb()
3379 int camera_attr_foreach_supported_stream_rotation(camera_h camera, camera_attr_supported_stream_rotation_cb callback, void *user_data);
3386 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
3391 * @brief Sets the stream flip.
3392 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3393 * @param[in] camera The handle to the camera
3394 * @param[in] flip The stream flip
3395 * @return @c 0 on success, otherwise a negative error value
3396 * @retval #CAMERA_ERROR_NONE Successful
3397 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3398 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3399 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3400 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3401 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3402 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
3403 * @see camera_attr_set_stream_rotation()
3405 int camera_attr_set_stream_flip(camera_h camera, camera_flip_e flip);
3408 * @brief Gets the stream flip.
3409 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3410 * @param[in] camera The handle to the camera
3411 * @param[out] flip The stream flip
3412 * @return @c 0 on success, otherwise a negative error value
3413 * @retval #CAMERA_ERROR_NONE Successful
3414 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3415 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3416 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3417 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3418 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
3419 * @see camera_attr_set_stream_rotation()
3421 int camera_attr_get_stream_flip(camera_h camera, camera_flip_e *flip);
3428 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3433 * @brief Retrieves all supported stream flip modes by invoking callback function once for each supported stream flip mode.
3434 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3435 * @param[in] camera The handle to the camera
3436 * @param[in] callback The callback function to invoke
3437 * @param[in] user_data The user data to be passed to the callback function
3438 * @return @c 0 on success, otherwise a negative error value
3439 * @retval #CAMERA_ERROR_NONE Successful
3440 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3441 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3442 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3443 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3444 * @post This function invokes camera_attr_supported_stream_flip_cb() to get all supported stream flip mode.
3445 * @see camera_attr_set_stream_flip()
3446 * @see camera_attr_get_stream_flip()
3447 * @see camera_attr_supported_stream_flip_cb()
3449 int camera_attr_foreach_supported_stream_flip(camera_h camera, camera_attr_supported_stream_flip_cb callback, void *user_data);
3456 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
3461 * @brief Called when the HDR capture process is updated.
3462 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3463 * @param[in] percent The progress percentage of HDR capture
3464 * @param[in] user_data The user data passed from the callback registration function
3465 * @pre camera_start_capture() will invoke this callback if you register it using camera_attr_set_hdr_capture_progress_cb().
3466 * @see camera_attr_get_hdr_mode()
3467 * @see camera_attr_set_hdr_capture_progress_cb()
3468 * @see camera_attr_unset_hdr_capture_progress_cb()
3469 * @see camera_attr_is_supported_hdr_capture()
3471 typedef void (*camera_attr_hdr_progress_cb)(int percent, void *user_data);
3474 * @brief Sets the mode of HDR(High dynamic range) capture.
3475 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3477 * @privilege %http://tizen.org/privilege/camera
3478 * @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
3479 * If this attribute is set to @c true. camera_attr_hdr_progress_cb() is invoked during capture.\n
3480 * 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.
3481 * @param[in] camera The handle to the camera
3482 * @param[in] mode The mode of HDR capture
3483 * @return @c 0 on success, otherwise a negative error value
3484 * @retval #CAMERA_ERROR_NONE Successful
3485 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3486 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3487 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3488 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3489 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3490 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
3491 * @see camera_attr_get_hdr_mode()
3492 * @see camera_attr_set_hdr_capture_progress_cb()
3493 * @see camera_attr_unset_hdr_capture_progress_cb()
3494 * @see camera_attr_is_supported_hdr_capture()
3497 int camera_attr_set_hdr_mode(camera_h camera, camera_attr_hdr_mode_e mode);
3500 * @brief Gets the mode of HDR(High dynamic range) capture.
3501 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3502 * @param[in] camera The handle to the camera
3503 * @param[out] mode The mode of HDR capture
3504 * @return @c 0 on success, otherwise a negative error value
3505 * @retval #CAMERA_ERROR_NONE Successful
3506 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3507 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3508 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3509 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3510 * @see camera_attr_set_hdr_mode()
3511 * @see camera_attr_set_hdr_capture_progress_cb()
3512 * @see camera_attr_unset_hdr_capture_progress_cb()
3513 * @see camera_attr_is_supported_hdr_capture()
3515 int camera_attr_get_hdr_mode(camera_h camera, camera_attr_hdr_mode_e *mode);
3518 * @brief Registers a callback function to be called when HDR capture is progressing.
3519 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3520 * @remarks This callback notifies progress of the HDR process.
3521 * @param[in] camera The handle to the camera
3522 * @param[in] callback The callback function to invoke
3523 * @param[in] user_data The user data passed to the callback registration function
3524 * @return @c 0 on success, otherwise a negative error value
3525 * @retval #CAMERA_ERROR_NONE Successful
3526 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3527 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3528 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3529 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3530 * @see camera_attr_set_hdr_mode()
3531 * @see camera_attr_get_hdr_mode()
3532 * @see camera_attr_unset_hdr_capture_progress_cb()
3533 * @see camera_attr_is_supported_hdr_capture()
3535 int camera_attr_set_hdr_capture_progress_cb(camera_h camera, camera_attr_hdr_progress_cb callback, void* user_data);
3538 * @brief Unregisters the callback function.
3539 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3540 * @param[in] camera The handle to the camera
3541 * @return @c 0 on success, otherwise a negative error value
3542 * @retval #CAMERA_ERROR_NONE Successful
3543 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3544 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3545 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3546 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3547 * @see camera_attr_set_hdr_mode()
3548 * @see camera_attr_get_hdr_mode()
3549 * @see camera_attr_set_hdr_capture_progress_cb()
3550 * @see camera_attr_is_supported_hdr_capture()
3552 int camera_attr_unset_hdr_capture_progress_cb(camera_h camera);
3555 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3556 * @brief Gets the support state of HDR capture.
3557 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3558 * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
3559 * @param[in] camera The handle to the camera
3560 * @return @c true if supported, otherwise @c false
3561 * @exception #CAMERA_ERROR_NONE Successful
3562 * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3563 * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3564 * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3565 * @see camera_attr_set_hdr_mode()
3566 * @see camera_attr_get_hdr_mode()
3567 * @see camera_attr_set_hdr_capture_progress_cb()
3568 * @see camera_attr_unset_hdr_capture_progress_cb()
3570 bool camera_attr_is_supported_hdr_capture(camera_h camera);
3573 * @brief Enables/Disables the anti-shake feature.
3574 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3576 * @privilege %http://tizen.org/privilege/camera
3577 * @remarks This feature is used for image capture.
3578 * @param[in] camera The handle to the camera
3579 * @param[in] enable If @c true the anti-shake feature is enabled, otherwise @c false
3580 * @return @c 0 on success, otherwise a negative error value
3581 * @retval #CAMERA_ERROR_NONE Successful
3582 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3583 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3584 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3585 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3586 * @see camera_attr_is_enabled_anti_shake()
3587 * @see camera_attr_is_supported_anti_shake()
3590 int camera_attr_enable_anti_shake(camera_h camera, bool enable);
3593 * @brief Gets the state of the anti-shake feature.
3594 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3595 * @param[in] camera The handle to the camera
3596 * @param[out] enabled The state of anti-shake
3597 * @return @c 0 on success, otherwise a negative error value
3598 * @retval #CAMERA_ERROR_NONE Successful
3599 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3600 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3601 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3602 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3603 * @see camera_attr_enable_anti_shake()
3604 * @see camera_attr_is_supported_anti_shake()
3606 int camera_attr_is_enabled_anti_shake(camera_h camera, bool *enabled);
3609 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3610 * @brief Gets the support state of the anti-shake feature.
3611 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3612 * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
3613 * @param[in] camera The handle to the camera
3614 * @return @c true if supported, otherwise @c false
3615 * @exception #CAMERA_ERROR_NONE Successful
3616 * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3617 * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3618 * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3619 * @see camera_attr_enable_anti_shake()
3620 * @see camera_attr_is_enabled_anti_shake()
3622 bool camera_attr_is_supported_anti_shake(camera_h camera);
3625 * @brief Enables/Disables the video stabilization feature.
3626 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3628 * @privilege %http://tizen.org/privilege/camera
3629 * @remarks If video stabilization is enabled, zero shutter lag is disabled.\n
3630 * This feature is used to record a video.
3631 * @param[in] camera The handle to the camera
3632 * @param[in] enable If @c true video stabilization is enabled, otherwise @c false
3633 * @return @c 0 on success, otherwise a negative error value
3634 * @retval #CAMERA_ERROR_NONE Successful
3635 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3636 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3637 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3638 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3639 * @see camera_attr_is_enabled_video_stabilization()
3640 * @see camera_attr_is_supported_video_stabilization()
3643 int camera_attr_enable_video_stabilization(camera_h camera, bool enable);
3646 * @brief Gets the state of the video stabilization feature.
3647 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3648 * @param[in] camera The handle to the camera
3649 * @param[out] enabled The state of video stabilization
3650 * @return @c 0 on success, otherwise a negative error value
3651 * @retval #CAMERA_ERROR_NONE Successful
3652 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3653 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3654 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3655 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3656 * @see camera_attr_enable_video_stabilization()
3657 * @see camera_attr_is_supported_video_stabilization()
3659 int camera_attr_is_enabled_video_stabilization(camera_h camera, bool *enabled);
3662 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3663 * @brief Gets the support state of the video stabilization feature.
3664 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3665 * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
3666 * @param[in] camera The handle to the camera
3667 * @return @c true if supported, otherwise @c false
3668 * @exception #CAMERA_ERROR_NONE Successful
3669 * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3670 * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3671 * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3672 * @see camera_attr_enable_video_stabilization()
3673 * @see camera_attr_is_enabled_video_stabilization()
3675 bool camera_attr_is_supported_video_stabilization(camera_h camera);
3678 * @brief Enables/Disables auto contrast.
3679 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3681 * @privilege %http://tizen.org/privilege/camera
3682 * @param[in] camera The handle to the camera
3683 * @param[in] enable If @c true auto contrast is enabled, otherwise @c false
3684 * @return @c 0 on success, otherwise a negative error value
3685 * @retval #CAMERA_ERROR_NONE Successful
3686 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3687 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3688 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3689 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3690 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3691 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
3692 * @see camera_attr_is_enabled_auto_contrast()
3694 int camera_attr_enable_auto_contrast(camera_h camera, bool enable);
3697 * @brief Gets the state of auto contrast.
3698 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3699 * @param[in] camera The handle to the camera
3700 * @param[out] enabled The state of auto contrast
3701 * @return @c 0 on success, otherwise a negative error value
3702 * @retval #CAMERA_ERROR_NONE Successful
3703 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3704 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3705 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3706 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3707 * @see camera_attr_enable_auto_contrast()
3709 int camera_attr_is_enabled_auto_contrast(camera_h camera, bool *enabled);
3716 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3721 * @brief Gets state of support of auto contrast feature.
3722 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3723 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3724 * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
3725 * @param[in] camera The handle to the camera
3726 * @return true on supported, otherwise false
3727 * @exception #CAMERA_ERROR_NONE Successful
3728 * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3729 * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3730 * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3731 * @see camera_attr_enable_auto_contrast()
3732 * @see camera_attr_is_enabled_auto_contrast()
3734 bool camera_attr_is_supported_auto_contrast(camera_h camera);
3741 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
3746 * @brief Disables shutter sound.
3747 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3748 * @remarks In some countries, this operation is not permitted.
3749 * @param[in] camera The handle to the camera
3750 * @param[in] disable If @c true shutter sound is disabled, otherwise @c false
3751 * @return @c 0 on success, otherwise a negative error value
3752 * @retval #CAMERA_ERROR_NONE Successful
3753 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3754 * @retval #CAMERA_ERROR_INVALID_OPERATION Disabling shutter sound is not permitted
3755 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3756 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3757 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3759 int camera_attr_disable_shutter_sound(camera_h camera, bool disable);
3762 * @brief Sets the position to move horizontally.
3764 * @param[in] camera The handle to the camera
3765 * @param[in] move_type The PTZ(Pan Tilt Zoom) move type
3766 * @param[in] pan_step The step to move the camera
3767 * @return @c 0 on success, otherwise a negative error value
3768 * @retval #CAMERA_ERROR_NONE Successful
3769 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3770 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3771 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3772 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3773 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3774 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
3775 * @see camera_attr_get_pan()
3776 * @see camera_attr_get_pan_range()
3778 int camera_attr_set_pan(camera_h camera, camera_attr_ptz_move_type_e move_type, int pan_step);
3781 * @brief Gets the current position of the camera.
3783 * @param[in] camera The handle to the camera
3784 * @param[out] pan_step The current horizontal distance from the starting point.
3785 * @return @c 0 on success, otherwise a negative error value
3786 * @retval #CAMERA_ERROR_NONE Successful
3787 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3788 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3789 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3790 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3791 * @see camera_attr_set_pan()
3792 * @see camera_attr_get_pan_range()
3794 int camera_attr_get_pan(camera_h camera, int *pan_step);
3797 * @brief Gets lower limit and upper limit for pan position.
3799 * @remarks If the min value is greater than the max value, it means that this feature is not supported.
3800 * @param[in] camera The handle to the camera
3801 * @param[out] min The lower limit for pan
3802 * @param[out] max The upper limit for pan
3803 * @return @c 0 on success, otherwise a negative error value
3804 * @retval #CAMERA_ERROR_NONE Successful
3805 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3806 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3807 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3808 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3809 * @see camera_attr_set_pan()
3810 * @see camera_attr_get_pan()
3812 int camera_attr_get_pan_range(camera_h camera, int *min, int *max);
3815 * @brief Sets the position to move vertically.
3817 * @param[in] camera The handle to the camera
3818 * @param[in] move_type The PTZ(Pan Tilt Zoom) move type
3819 * @param[in] tilt_step The step to move the camera
3820 * @return @c 0 on success, otherwise a negative error value
3821 * @retval #CAMERA_ERROR_NONE Successful
3822 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3823 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3824 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3825 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3826 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3827 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
3828 * @see camera_attr_get_tilt()
3829 * @see camera_attr_get_tilt_range()
3831 int camera_attr_set_tilt(camera_h camera, camera_attr_ptz_move_type_e move_type, int tilt_step);
3834 * @brief Gets the current position of the camera.
3836 * @param[in] camera The handle to the camera
3837 * @param[out] tilt_step The current vertical distance from the starting point.
3838 * @return @c 0 on success, otherwise a negative error value
3839 * @retval #CAMERA_ERROR_NONE Successful
3840 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3841 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3842 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3843 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3844 * @see camera_attr_set_tilt()
3845 * @see camera_attr_get_tilt_range()
3847 int camera_attr_get_tilt(camera_h camera, int *tilt_step);
3850 * @brief Gets lower limit and upper limit for tilt position.
3852 * @remarks If the min value is greater than the max value, it means that this feature is not supported.
3853 * @param[in] camera The handle to the camera
3854 * @param[out] min The lower limit for tilt
3855 * @param[out] max The upper limit for tilt
3856 * @return @c 0 on success, otherwise a negative error value
3857 * @retval #CAMERA_ERROR_NONE Successful
3858 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3859 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3860 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3861 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3862 * @see camera_attr_set_tilt()
3863 * @see camera_attr_get_tilt()
3865 int camera_attr_get_tilt_range(camera_h camera, int *min, int *max);
3868 * @brief Sets the type of PTZ(Pan Tilt Zoom).
3870 * @param[in] camera The handle to the camera
3871 * @param[in] ptz_type PTZ type
3872 * @return @c 0 on success, otherwise a negative error value
3873 * @retval #CAMERA_ERROR_NONE Successful
3874 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3875 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3876 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3877 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3878 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3879 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
3880 * @see camera_attr_get_pan()
3881 * @see camera_attr_set_pan()
3882 * @see camera_attr_get_pan_range()
3883 * @see camera_attr_get_tilt()
3884 * @see camera_attr_set_tilt()
3885 * @see camera_attr_get_tilt_range()
3886 * @see camera_attr_foreach_supported_ptz_type()
3888 int camera_attr_set_ptz_type(camera_h camera, camera_attr_ptz_type_e ptz_type);
3895 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3900 * @brief Retrieves all supported PTZ(Pan Tilt Zoom) types by invoking callback function once for each supported ptz type.
3902 * @param[in] camera The handle to the camera
3903 * @param[in] callback The callback function to invoke
3904 * @param[in] user_data The user data to be passed to the callback function
3905 * @return @c 0 on success, otherwise a negative error value
3906 * @retval #CAMERA_ERROR_NONE Successful
3907 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3908 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3909 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3910 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3911 * @post This function invokes camera_attr_supported_ptz_type_cb() to get all supported ptz type.
3912 * @see camera_attr_set_ptz_type()
3914 int camera_attr_foreach_supported_ptz_type(camera_h camera, camera_attr_supported_ptz_type_cb callback, void *user_data);
3921 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
3926 * @brief Sets the ROI(Region Of Interest) area of display.
3928 * @remarks Before set display ROI area, #CAMERA_DISPLAY_MODE_CUSTOM_ROI should be set with camera_set_display_mode().
3929 * The minimum value of width and height are 1.
3930 * @param[in] camera The handle to the camera
3931 * @param[in] x X coordinate of area
3932 * @param[in] y Y coordinate of area
3933 * @param[in] width Width of area
3934 * @param[in] height Height of area
3935 * @return @c 0 on success, otherwise a negative error value
3936 * @retval #CAMERA_ERROR_NONE Successful
3937 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3938 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3939 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3940 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3941 * @see camera_attr_get_display_roi_area()
3943 int camera_attr_set_display_roi_area(camera_h camera, int x, int y, int width, int height);
3946 * @brief Gets the ROI(Region Of Interest) area of display.
3948 * @param[in] camera The handle to the camera
3949 * @param[out] x X coordinate of area
3950 * @param[out] y Y coordinate of area
3951 * @param[out] width Width of area
3952 * @param[out] height Height of area
3953 * @return @c 0 on success, otherwise a negative error value
3954 * @retval #CAMERA_ERROR_NONE Successful
3955 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3956 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3957 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3958 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3959 * @see camera_attr_set_display_roi_area()
3961 int camera_attr_get_display_roi_area(camera_h camera, int *x, int *y, int *width, int *height);
3970 #endif /* __TIZEN_MULTIMEDIA_CAMERA_H__ */