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_SECURITY_RESTRICTED = CAMERA_ERROR_CLASS | 0x07, /**< Restricted by security system policy */
52 CAMERA_ERROR_DEVICE_BUSY = CAMERA_ERROR_CLASS | 0x08, /**< The device is using another application or working on some operation */
53 CAMERA_ERROR_DEVICE_NOT_FOUND = CAMERA_ERROR_CLASS | 0x09, /**< No camera device */
54 CAMERA_ERROR_ESD = CAMERA_ERROR_CLASS | 0x0c, /**< ESD situation */
55 CAMERA_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED, /**< The access to the resources can not be granted*/
56 CAMERA_ERROR_NOT_SUPPORTED = TIZEN_ERROR_NOT_SUPPORTED, /**< The feature is not supported */
57 CAMERA_ERROR_RESOURCE_CONFLICT = CAMERA_ERROR_CLASS | 0x0d, /**< Blocked by resource conflict (Since 3.0) */
58 CAMERA_ERROR_SERVICE_DISCONNECTED = CAMERA_ERROR_CLASS | 0x0e, /**< Socket connection lost (Since 3.0) */
62 * @brief Enumeration for the camera state.
63 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
66 CAMERA_STATE_NONE, /**< Before creating */
67 CAMERA_STATE_CREATED, /**< Created, but not initialized yet */
68 CAMERA_STATE_PREVIEW, /**< Preview */
69 CAMERA_STATE_CAPTURING, /**< While capturing */
70 CAMERA_STATE_CAPTURED /**< After capturing */
74 * @brief Enumeration for the camera device state.
78 CAMERA_DEVICE_STATE_NULL, /**< Not opened */
79 CAMERA_DEVICE_STATE_OPENED, /**< Opened */
80 CAMERA_DEVICE_STATE_WORKING /**< Now previewing or capturing or is being used for video recording */
81 } camera_device_state_e;
84 * @brief Enumeration for the camera device.
85 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
88 CAMERA_DEVICE_CAMERA0 = 0, /**< Primary camera */
89 CAMERA_DEVICE_CAMERA1, /**< Secondary camera */
90 CAMERA_DEVICE_CAMERA2, /**< Third camera (Since 5.0) */
91 CAMERA_DEVICE_CAMERA3, /**< 4th camera (Since 5.0) */
92 CAMERA_DEVICE_CAMERA4, /**< 5th camera (Since 5.0) */
93 CAMERA_DEVICE_CAMERA5, /**< 6th camera (Since 5.0) */
94 CAMERA_DEVICE_CAMERA6, /**< 7th camera (Since 5.0) */
95 CAMERA_DEVICE_CAMERA7, /**< 8th camera (Since 5.0) */
96 CAMERA_DEVICE_CAMERA8, /**< 9th camera (Since 5.0) */
97 CAMERA_DEVICE_CAMERA9 /**< 10th camera (Since 5.0) */
101 * @brief Enumeration for the camera pixel format.
102 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
103 * @remarks If #CAMERA_PIXEL_FORMAT_INVZ is set, the type of display should be #CAMERA_DISPLAY_TYPE_NONE. \n
104 * Otherwise, camera_start_preview() will return #CAMERA_ERROR_INVALID_OPERATION. (Since 5.0)
107 CAMERA_PIXEL_FORMAT_INVALID = -1, /**< Invalid pixel format */
108 CAMERA_PIXEL_FORMAT_NV12, /**< NV12 pixel format */
109 CAMERA_PIXEL_FORMAT_NV12T, /**< NV12 Tiled pixel format */
110 CAMERA_PIXEL_FORMAT_NV16, /**< NV16 pixel format */
111 CAMERA_PIXEL_FORMAT_NV21, /**< NV21 pixel format */
112 CAMERA_PIXEL_FORMAT_YUYV, /**< YUYV(YUY2) pixel format */
113 CAMERA_PIXEL_FORMAT_UYVY, /**< UYVY pixel format */
114 CAMERA_PIXEL_FORMAT_422P, /**< YUV422(Y:U:V) planar pixel format */
115 CAMERA_PIXEL_FORMAT_I420, /**< I420 pixel format */
116 CAMERA_PIXEL_FORMAT_YV12, /**< YV12 pixel format */
117 CAMERA_PIXEL_FORMAT_RGB565, /**< RGB565 pixel format */
118 CAMERA_PIXEL_FORMAT_RGB888, /**< RGB888 pixel format */
119 CAMERA_PIXEL_FORMAT_RGBA, /**< RGBA pixel format */
120 CAMERA_PIXEL_FORMAT_ARGB, /**< ARGB pixel format */
121 CAMERA_PIXEL_FORMAT_JPEG, /**< Encoded pixel format */
122 CAMERA_PIXEL_FORMAT_H264 = 15, /**< Encoded pixel format : H264 (Since 3.0) */
123 CAMERA_PIXEL_FORMAT_INVZ /**< Depth pixel format : INVZ (Since 5.0) */
124 } camera_pixel_format_e;
127 * @brief Enumeration for the camera display type.
128 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
131 CAMERA_DISPLAY_TYPE_OVERLAY = 0, /**< Overlay surface display */
132 CAMERA_DISPLAY_TYPE_EVAS, /**< Evas object surface display */
133 CAMERA_DISPLAY_TYPE_NONE /**< This disposes off buffers */
134 } camera_display_type_e;
137 * @brief Enumeration for the camera policy.
138 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
141 CAMERA_POLICY_NONE = 0, /**< None */
142 CAMERA_POLICY_SECURITY = 4, /**< Security policy */
143 CAMERA_POLICY_RESOURCE_CONFLICT /**< Resource conflict (Since 3.0) */
147 * @brief Enumeration for the camera rotation type.
148 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
151 CAMERA_ROTATION_NONE, /**< No rotation */
152 CAMERA_ROTATION_90, /**< 90 degree rotation */
153 CAMERA_ROTATION_180, /**< 180 degree rotation */
154 CAMERA_ROTATION_270, /**< 270 degree rotation */
159 * @brief Enumeration for the camera flip type.
160 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
163 CAMERA_FLIP_NONE, /**< No Flip */
164 CAMERA_FLIP_HORIZONTAL, /**< Horizontal flip */
165 CAMERA_FLIP_VERTICAL, /**< Vertical flip */
166 CAMERA_FLIP_BOTH /** Horizontal and vertical flip */
170 * @brief Enumeration for the camera focus state.
171 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
174 CAMERA_FOCUS_STATE_RELEASED = 0, /**< Focus released */
175 CAMERA_FOCUS_STATE_ONGOING, /**< Focus in progress */
176 CAMERA_FOCUS_STATE_FOCUSED, /**< Focus succeeded */
177 CAMERA_FOCUS_STATE_FAILED, /**< Focus failed */
178 } camera_focus_state_e;
181 * @brief Enumeration for the facing direction of camera module
185 CAMERA_FACING_DIRECTION_REAR = 0, /**< Rear */
186 CAMERA_FACING_DIRECTION_FRONT, /**< Front */
187 } camera_facing_direction_e;
190 * @brief Enumeration for the current flash state.
194 CAMERA_FLASH_STATE_NOT_USED = 0, /**< Flash is not used now through camera API */
195 CAMERA_FLASH_STATE_USED, /**< Flash is used now through camera API */
196 } camera_flash_state_e;
199 * @brief The structure type of the image data.
200 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
203 unsigned char *data; /**< The image buffer */
204 unsigned int size; /**< The size of the buffer */
205 int width; /**< The width of the image */
206 int height; /**< The height of the image */
207 camera_pixel_format_e format; /**< The format of the image pixel */
208 unsigned char *exif; /**< The exif raw data */
209 unsigned int exif_size; /**< The size of the exif data */
210 } camera_image_data_s;
213 * @brief The structure type for face detection.
214 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
217 int id; /**< The ID of each face */
218 int score; /**< The confidence level for the detection of the face */
219 int x; /**< The x coordinates of the face */
220 int y; /**< The y coordinates of the face */
221 int width; /**< The width of the face */
222 int height; /**< The height of the face */
223 } camera_detected_face_s;
226 * @brief The structure type to preview stream data.
227 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
230 camera_pixel_format_e format; /**< The format of the frame pixel */
231 int width; /**< The width of the frame */
232 int height; /**< The height of the frame */
233 int num_of_planes; /**< The number of planes */
234 unsigned int timestamp; /**< The timestamp of the frame */
237 unsigned char *yuv; /**< The yuv data pointer */
238 unsigned int size; /**< The size of data */
239 } single_plane; /**< Single plane frame data */
242 unsigned char *y; /**< The y data pointer */
243 unsigned char *uv; /**< The uv data pointer */
244 unsigned int y_size; /**< The size of y data */
245 unsigned int uv_size; /**< The size of uv data */
246 } double_plane; /**< Double plane frame data */
249 unsigned char *y; /**< The y data pointer */
250 unsigned char *u; /**< The u data pointer */
251 unsigned char *v; /**< The v data pointer */
252 unsigned int y_size; /**< The size of y data */
253 unsigned int u_size; /**< The size of u data */
254 unsigned int v_size; /**< The size of v data */
255 } triple_plane; /**< Triple plane frame data */
258 unsigned char *data; /**< The encoded data pointer */
259 unsigned int size; /**< The size of encoded data */
260 } encoded_plane; /**< Encoded plane frame data */
263 unsigned char *data; /**< The depth data pointer */
264 unsigned int size; /**< The size of depth data */
265 } depth_plane; /**< Depth plane frame data (Since 5.0) */
267 } camera_preview_data_s;
270 * @brief The Camera handle.
271 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
272 * @see recorder_create_videorecorder()
274 typedef struct camera_cli_s *camera_h;
277 * @brief The Camera display handle.
278 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
280 typedef void *camera_display_h;
285 * @brief Gets a display handle.
286 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
288 #define GET_DISPLAY(x) (void*)(x)
297 * @addtogroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
302 * @brief Enumeration for the camera display mode.
303 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
306 CAMERA_DISPLAY_MODE_LETTER_BOX = 0, /**< Letter box */
307 CAMERA_DISPLAY_MODE_ORIGIN_SIZE, /**< Origin size */
308 CAMERA_DISPLAY_MODE_FULL, /**< Full screen */
309 CAMERA_DISPLAY_MODE_CROPPED_FULL, /**< Cropped full screen */
310 CAMERA_DISPLAY_MODE_ORIGIN_OR_LETTER_BOX, /**< Original size or letter box (Since 3.0) */
311 CAMERA_DISPLAY_MODE_CUSTOM_ROI, /**< Custom ROI (Since 3.0) */
312 } camera_display_mode_e;
319 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
324 * @brief Enumeration for the color tone, which provides the impression of looking through a tinted glass.
325 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
328 CAMERA_ATTR_EFFECT_NONE = 0, /**< None */
329 CAMERA_ATTR_EFFECT_MONO, /**< Mono */
330 CAMERA_ATTR_EFFECT_SEPIA, /**< Sepia */
331 CAMERA_ATTR_EFFECT_NEGATIVE, /**< Negative */
332 CAMERA_ATTR_EFFECT_BLUE, /**< Blue */
333 CAMERA_ATTR_EFFECT_GREEN, /**< Green */
334 CAMERA_ATTR_EFFECT_AQUA, /**< Aqua */
335 CAMERA_ATTR_EFFECT_VIOLET, /**< Violet */
336 CAMERA_ATTR_EFFECT_ORANGE, /**< Orange */
337 CAMERA_ATTR_EFFECT_GRAY, /**< Gray */
338 CAMERA_ATTR_EFFECT_RED, /**< Red */
339 CAMERA_ATTR_EFFECT_ANTIQUE, /**< Antique */
340 CAMERA_ATTR_EFFECT_WARM, /**< Warm */
341 CAMERA_ATTR_EFFECT_PINK, /**< Pink */
342 CAMERA_ATTR_EFFECT_YELLOW, /**< Yellow */
343 CAMERA_ATTR_EFFECT_PURPLE, /**< Purple */
344 CAMERA_ATTR_EFFECT_EMBOSS, /**< Emboss */
345 CAMERA_ATTR_EFFECT_OUTLINE, /**< Outline */
346 CAMERA_ATTR_EFFECT_SOLARIZATION, /**< Solarization */
347 CAMERA_ATTR_EFFECT_SKETCH, /**< Sketch */
348 CAMERA_ATTR_EFFECT_WASHED, /**< Washed */
349 CAMERA_ATTR_EFFECT_VINTAGE_WARM, /**< Vintage warm */
350 CAMERA_ATTR_EFFECT_VINTAGE_COLD, /**< Vintage cold */
351 CAMERA_ATTR_EFFECT_POSTERIZATION, /**< Posterization */
352 CAMERA_ATTR_EFFECT_CARTOON, /**< Cartoon */
353 CAMERA_ATTR_EFFECT_SELECTIVE_RED, /**< Selective color - Red */
354 CAMERA_ATTR_EFFECT_SELECTIVE_GREEN, /**< Selective color - Green */
355 CAMERA_ATTR_EFFECT_SELECTIVE_BLUE, /**< Selective color - Blue */
356 CAMERA_ATTR_EFFECT_SELECTIVE_YELLOW, /**< Selective color - Yellow */
357 CAMERA_ATTR_EFFECT_SELECTIVE_RED_YELLOW, /**< Selective color - Red and Yellow */
358 CAMERA_ATTR_EFFECT_OTHER_GRAPHICS, /**< Other Graphic effects */
359 } camera_attr_effect_mode_e;
362 * @brief Enumeration for the white balance levels of the camera.
363 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
366 CAMERA_ATTR_WHITE_BALANCE_NONE = 0, /**< None */
367 CAMERA_ATTR_WHITE_BALANCE_AUTOMATIC, /**< Automatic */
368 CAMERA_ATTR_WHITE_BALANCE_DAYLIGHT, /**< Daylight */
369 CAMERA_ATTR_WHITE_BALANCE_CLOUDY, /**< Cloudy */
370 CAMERA_ATTR_WHITE_BALANCE_FLUORESCENT, /**< Fluorescent */
371 CAMERA_ATTR_WHITE_BALANCE_INCANDESCENT, /**< Incandescent */
372 CAMERA_ATTR_WHITE_BALANCE_SHADE, /**< Shade */
373 CAMERA_ATTR_WHITE_BALANCE_HORIZON, /**< Horizon */
374 CAMERA_ATTR_WHITE_BALANCE_FLASH, /**< Flash */
375 CAMERA_ATTR_WHITE_BALANCE_CUSTOM, /**< Custom */
376 } camera_attr_whitebalance_e;
379 * @brief Enumeration for the scene mode.
380 * @details The mode of operation can be in daylight, night, or back-light.
381 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
384 CAMERA_ATTR_SCENE_MODE_NORMAL = 0, /**< Normal */
385 CAMERA_ATTR_SCENE_MODE_PORTRAIT, /**< Portrait */
386 CAMERA_ATTR_SCENE_MODE_LANDSCAPE, /**< Landscape */
387 CAMERA_ATTR_SCENE_MODE_SPORTS, /**< Sports */
388 CAMERA_ATTR_SCENE_MODE_PARTY_N_INDOOR, /**< Party & indoor */
389 CAMERA_ATTR_SCENE_MODE_BEACH_N_INDOOR, /**< Beach & indoor */
390 CAMERA_ATTR_SCENE_MODE_SUNSET, /**< Sunset */
391 CAMERA_ATTR_SCENE_MODE_DUSK_N_DAWN, /**< Dusk & dawn */
392 CAMERA_ATTR_SCENE_MODE_FALL_COLOR, /**< Fall */
393 CAMERA_ATTR_SCENE_MODE_NIGHT_SCENE, /**< Night scene */
394 CAMERA_ATTR_SCENE_MODE_FIREWORK, /**< Firework */
395 CAMERA_ATTR_SCENE_MODE_TEXT, /**< Text */
396 CAMERA_ATTR_SCENE_MODE_SHOW_WINDOW, /**< Show window */
397 CAMERA_ATTR_SCENE_MODE_CANDLE_LIGHT, /**< Candle light */
398 CAMERA_ATTR_SCENE_MODE_BACKLIGHT, /**< Backlight */
399 CAMERA_ATTR_SCENE_MODE_AQUA, /**< Aqua */
400 } camera_attr_scene_mode_e;
403 * @brief Enumeration for the auto focus mode.
404 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
407 CAMERA_ATTR_AF_NONE = 0, /**< auto-focus is not set */
408 CAMERA_ATTR_AF_NORMAL, /**< auto-focus in the normal mode */
409 CAMERA_ATTR_AF_MACRO, /**< auto-focus in the macro mode(close distance) */
410 CAMERA_ATTR_AF_FULL, /**< auto-focus in the full mode(all range scan, limited by device spec) */
411 } camera_attr_af_mode_e;
414 * @brief Enumeration for the ISO levels of the camera.
415 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
418 CAMERA_ATTR_ISO_AUTO = 0, /**< ISO auto mode */
419 CAMERA_ATTR_ISO_50, /**< ISO 50 */
420 CAMERA_ATTR_ISO_100, /**< ISO 100 */
421 CAMERA_ATTR_ISO_200, /**< ISO 200 */
422 CAMERA_ATTR_ISO_400, /**< ISO 400 */
423 CAMERA_ATTR_ISO_800, /**< ISO 800 */
424 CAMERA_ATTR_ISO_1600, /**< ISO 1600 */
425 CAMERA_ATTR_ISO_3200, /**< ISO 3200 */
429 * @brief Enumeration for the camera exposure modes.
430 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
433 CAMERA_ATTR_EXPOSURE_MODE_OFF = 0, /**< Off */
434 CAMERA_ATTR_EXPOSURE_MODE_ALL, /**< All mode */
435 CAMERA_ATTR_EXPOSURE_MODE_CENTER, /**< Center mode */
436 CAMERA_ATTR_EXPOSURE_MODE_SPOT, /**< Spot mode */
437 CAMERA_ATTR_EXPOSURE_MODE_CUSTOM, /**< Custom mode */
438 } camera_attr_exposure_mode_e;
441 * @brief Enumeration for the orientation values of tag.
442 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
445 CAMERA_ATTR_TAG_ORIENTATION_TOP_LEFT = 1, /**< Row #0 is at the top, Column #0 is to the left */
446 CAMERA_ATTR_TAG_ORIENTATION_TOP_RIGHT = 2, /**< Row #0 is at the top, Column #0 is to the right (flipped) */
447 CAMERA_ATTR_TAG_ORIENTATION_BOTTOM_RIGHT = 3, /**< Row #0 is at the bottom, Column #0 is to the right */
448 CAMERA_ATTR_TAG_ORIENTATION_BOTTOM_LEFT = 4, /**< Row #0 is at the bottom, Column #0 is to the left (flipped) */
449 CAMERA_ATTR_TAG_ORIENTATION_LEFT_TOP = 5, /**< Row #0 is to the left, Column #0 is at the top (flipped) */
450 CAMERA_ATTR_TAG_ORIENTATION_RIGHT_TOP = 6, /**< Row #0 is to the right, Column #0 is at the top */
451 CAMERA_ATTR_TAG_ORIENTATION_RIGHT_BOTTOM = 7, /**< Row #0 is to the right, Column #0 is at the bottom (flipped) */
452 CAMERA_ATTR_TAG_ORIENTATION_LEFT_BOTTOM = 8, /**< Row #0 is to the left, Column #0 is at the bottom */
453 } camera_attr_tag_orientation_e;
456 * @brief Enumeration for the flash mode.
457 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
460 CAMERA_ATTR_FLASH_MODE_OFF = 0, /**< Always off */
461 CAMERA_ATTR_FLASH_MODE_ON, /**< Always splashes */
462 CAMERA_ATTR_FLASH_MODE_AUTO, /**< Depending on intensity of light, strobe starts to flash */
463 CAMERA_ATTR_FLASH_MODE_REDEYE_REDUCTION, /**< Red eye reduction. Multiple flash before capturing */
464 CAMERA_ATTR_FLASH_MODE_SLOW_SYNC, /**< Slow sync curtain synchronization */
465 CAMERA_ATTR_FLASH_MODE_FRONT_CURTAIN, /**< Front curtain synchronization */
466 CAMERA_ATTR_FLASH_MODE_REAR_CURTAIN, /**< Rear curtain synchronization */
467 CAMERA_ATTR_FLASH_MODE_PERMANENT, /**< Keep turned on until turning off */
468 } camera_attr_flash_mode_e;
471 * @brief Enumeration to preview FPS.
472 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
475 CAMERA_ATTR_FPS_AUTO = 0, /**< AUTO FPS */
476 CAMERA_ATTR_FPS_7 = 7, /**< 7 FPS */
477 CAMERA_ATTR_FPS_8 = 8, /**< 8 FPS */
478 CAMERA_ATTR_FPS_15 = 15, /**< 15 FPS */
479 CAMERA_ATTR_FPS_20 = 20, /**< 20 FPS */
480 CAMERA_ATTR_FPS_24 = 24, /**< 24 FPS */
481 CAMERA_ATTR_FPS_25 = 25, /**< 25 FPS */
482 CAMERA_ATTR_FPS_30 = 30, /**< 30 FPS */
483 CAMERA_ATTR_FPS_60 = 60, /**< 60 FPS */
484 CAMERA_ATTR_FPS_90 = 90, /**< 90 FPS */
485 CAMERA_ATTR_FPS_120 = 120 /**< 120 FPS */
489 * @brief Enumeration for the theater mode.
490 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
493 CAMERA_ATTR_THEATER_MODE_DISABLE = 0, /**< Disable theater mode - External display shows same image as device display */
494 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 */
495 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 */
496 } camera_attr_theater_mode_e;
499 * @brief Enumeration for HDR capture mode.
500 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
503 CAMERA_ATTR_HDR_MODE_DISABLE = 0, /**< Disable HDR capture */
504 CAMERA_ATTR_HDR_MODE_ENABLE, /**< Enable HDR capture */
505 CAMERA_ATTR_HDR_MODE_KEEP_ORIGINAL /**< Enable HDR capture and keep original image data */
506 } camera_attr_hdr_mode_e;
509 * @brief Enumeration for PTZ(Pan Tilt Zoom) type.
513 CAMERA_ATTR_PTZ_TYPE_MECHANICAL = 0, /**< Move the camera device physically */
514 CAMERA_ATTR_PTZ_TYPE_ELECTRONIC /**< Zoom digitally and move into portion of the image */
515 } camera_attr_ptz_type_e;
518 * @brief Enumeration for PTZ(Pan Tilt Zoom) movement type.
522 CAMERA_ATTR_PTZ_MOVE_ABSOLUTE = 0, /**< Move to a specific coordinate position */
523 CAMERA_ATTR_PTZ_MOVE_RELATIVE /**< Move a specific distance from the current position */
524 } camera_attr_ptz_move_type_e;
532 * @addtogroup CAPI_MEDIA_CAMERA_MODULE
537 * @brief Called when the camera state is changed.
538 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
539 * @param[in] previous The previous state of the camera
540 * @param[in] current The current state of the camera
541 * @param[in] by_policy If @c true the state is changed by policy, otherwise @c false
542 * @param[in] user_data The user data passed from the callback registration function
543 * @pre camera_start_preview(), camera_start_capture() or camera_stop_preview()
544 * will invoke this callback if you register this callback using camera_set_state_changed_cb().
545 * @see camera_set_state_changed_cb()
547 typedef void (*camera_state_changed_cb)(camera_state_e previous, camera_state_e current, bool by_policy, void *user_data);
550 * @brief Called when the camera device state is changed.
552 * @param[in] device The hardware camera type
553 * @param[in] state The state of the camera device
554 * @param[in] user_data The user data passed from the callback registration function
555 * @see camera_add_device_state_changed_cb()
557 typedef void (*camera_device_state_changed_cb)(camera_device_e device, camera_device_state_e state, void *user_data);
560 * @brief Called when the camera is interrupted by policy.
561 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
562 * @remarks This callback is called after interrupt handling is completed.
563 * @param[in] policy The policy that interrupted the camera
564 * @param[in] previous The previous state of the camera
565 * @param[in] current The current state of the camera
566 * @param[in] user_data The user data passed from the callback registration function
567 * @see camera_set_interrupted_cb()
569 typedef void (*camera_interrupted_cb)(camera_policy_e policy, camera_state_e previous, camera_state_e current, void *user_data);
572 * @brief Called when the camera interrupt is started by policy.
574 * @remarks This callback is called before interrupt handling is started.
575 * @param[in] policy The policy that is interrupting the camera
576 * @param[in] state The current state of the camera
577 * @param[in] user_data The user data passed from the callback registration function
578 * @see camera_set_interrupt_started_cb()
580 typedef void (*camera_interrupt_started_cb)(camera_policy_e policy, camera_state_e state, void *user_data);
583 * @brief Called when the camera focus state is changed.
584 * @details When the camera auto focus completes or a change to the focus state occurs,
585 * this callback is invoked. \n \n
586 * Changes of focus state are as follows: \n
587 * #CAMERA_FOCUS_STATE_RELEASED -> start focusing -> #CAMERA_FOCUS_STATE_ONGOING -> working ->
588 * #CAMERA_FOCUS_STATE_FOCUSED or #CAMERA_FOCUS_STATE_FAILED.
589 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
591 * @param[in] state The current state of the auto-focus
592 * @param[in] user_data The user data passed from the callback registration function
593 * @pre camera_start_focusing() will invoke this callback if you register it using camera_set_focus_changed_cb().
594 * @see camera_set_focus_changed_cb()
595 * @see camera_unset_focus_changed_cb()
596 * @see camera_start_focusing()
597 * @see camera_cancel_focusing()
599 typedef void (*camera_focus_changed_cb)(camera_focus_state_e state, void *user_data);
602 * @brief Called to register for notifications about delivering a copy of the new preview frame when every preview frame is displayed.
603 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
605 * @remarks This function is issued in the context of internal framework so the UI update code should not be directly invoked.\n
606 * If the camera is used as a recorder then this callback function won't be called.
608 * @param[in] frame The reference pointer to preview stream data
609 * @param[in] user_data The user data passed from the callback registration function
610 * @pre camera_start_preview() will invoke this callback function if you register this callback using camera_set_preview_cb().
611 * @see camera_start_preview()
612 * @see camera_set_preview_cb()
613 * @see camera_unset_preview_cb()
615 typedef void (*camera_preview_cb)(camera_preview_data_s *frame, void *user_data);
618 * @brief Called to register for notifications about delivering media packet when every preview frame is displayed.
619 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
621 * @remarks This function is issued in the context of internal framework so the UI update code should not be directly invoked.\n
622 * If the camera is used as a recorder then this callback function won't be called.\n
623 * and the packet should be released by media_packet_destroy() after use.
625 * @param[in] pkt Reference pointer to media packet
626 * @param[in] user_data The user data passed from the callback registration function
627 * @pre camera_start_preview() will invoke this callback function if you register this callback using camera_set_media_packet_preview_cb().
628 * @see camera_start_preview()
629 * @see camera_set_media_packet_preview_cb()
630 * @see camera_unset_media_packet_preview_cb()
632 typedef void (*camera_media_packet_preview_cb)(media_packet_h pkt, void *user_data);
635 * @brief Called to get information about image data taken by the camera once per frame while capturing.
636 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
638 * @remarks This function is issued in the context of internal framework so the UI update code should not be directly invoked.
639 * You must not call camera_start_preview() within this callback.
641 * @param[in] image The image data of the captured picture
642 * @param[in] postview The image data of the postview
643 * @param[in] thumbnail The image data of the thumbnail (it should be @c NULL if the available thumbnail data does not exist)
644 * @param[in] user_data The user data passed from the callback registration function
645 * @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().
646 * @see camera_start_capture()
647 * @see camera_start_continuous_capture()
648 * @see camera_capture_completed_cb()
650 typedef void (*camera_capturing_cb)(camera_image_data_s *image, camera_image_data_s *postview, camera_image_data_s *thumbnail, void *user_data);
653 * @brief Called when the camera capturing completes.
654 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
656 * @remarks The callback is called after camera_capturing_cb() is completed.\n
657 * If you want to show the user a preview after capturing is finished, \n
658 * an application can use camera_start_preview() after calling this callback.
659 * @param[in] user_data The user data passed from the callback registration function
660 * @pre This callback function is invoked if it is registered using camera_start_capture() or camera_start_continuous_capture().
661 * @see camera_start_capture()
662 * @see camera_start_continuous_capture()
663 * @see camera_capturing_cb()
665 typedef void (*camera_capture_completed_cb)(void *user_data);
668 * @brief Called when an error occurs.
669 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
671 * @remarks This callback informs about a critical error situation.\n
672 * When this callback is invoked, the user should release the resource and terminate the application.\n
673 * In case of errors, one of these codes occur:\n
674 * #CAMERA_ERROR_DEVICE,\n
675 * #CAMERA_ERROR_INVALID_OPERATION,\n
676 * #CAMERA_ERROR_OUT_OF_MEMORY.
677 * @param[in] error The error code
678 * @param[in] current_state The current state of the camera
679 * @param[in] user_data The user data passed from the callback registration function
680 * @pre This callback function is invoked if it is registered using camera_set_error_cb().
681 * @see camera_set_error_cb()
682 * @see camera_unset_error_cb()
684 typedef void (*camera_error_cb)(camera_error_e error, camera_state_e current_state, void *user_data);
687 * @brief Called when a face is detected in the preview frame.
688 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
689 * @param[in] faces The detected face array
690 * @param[in] count The length of the array
691 * @param[in] user_data The user data passed from the callback registration function
692 * @see camera_start_face_detection()
694 typedef void (*camera_face_detected_cb)(camera_detected_face_s *faces, int count, void *user_data);
701 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
706 * @brief Called once for each supported preview resolution.
707 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
708 * @param[in] width The preview image width
709 * @param[in] height The preview image height
710 * @param[in] user_data The user data passed from the foreach function
711 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
712 * @pre camera_foreach_supported_preview_resolution() will invoke this callback.
713 * @see camera_foreach_supported_preview_resolution()
715 typedef bool (*camera_supported_preview_resolution_cb)(int width, int height, void *user_data);
718 * @brief Called once for each supported capture resolution.
719 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
720 * @param[in] width The capture resolution width
721 * @param[in] height The capture resolution height
722 * @param[in] user_data The user data passed from the foreach function
723 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
724 * @pre camera_foreach_supported_capture_resolution() will invoke this callback.
725 * @see camera_foreach_supported_capture_resolution()
727 typedef bool (*camera_supported_capture_resolution_cb)(int width, int height, void *user_data);
730 * @brief Called once for the pixel format of each supported capture format.
731 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
732 * @param[in] format The supported pixel format
733 * @param[in] user_data The user data passed from the foreach function
734 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
735 * @pre camera_foreach_supported_capture_format() will invoke this callback.
736 * @see camera_foreach_supported_capture_format()
738 typedef bool (*camera_supported_capture_format_cb)(camera_pixel_format_e format, void *user_data);
741 * @brief Called once for the pixel format of each supported preview format.
742 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
743 * @param[in] format The supported preview data format
744 * @param[in] user_data The user data passed from the foreach function
745 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
746 * @pre camera_foreach_supported_preview_format() will invoke this callback.
747 * @see camera_foreach_supported_preview_format()
749 typedef bool (*camera_supported_preview_format_cb)(camera_pixel_format_e format, void *user_data);
756 * @addtogroup CAPI_MEDIA_CAMERA_MODULE
761 * @brief Creates a new camera handle for controlling a camera.
763 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
764 * @remarks Multiple handles on a context at the same time are allowed to be created. However,
765 * camera cannot guarantee proper operation because of limited resources, such as
766 * camera device, audio device, and display device.\n.
767 * A @a camera must be released using camera_destroy().
768 * @remarks The privilege %http://tizen.org/privilege/camera is not required since 4.0,\n
769 * but it is required in all earlier versions.
770 * @param[in] device The hardware camera to access
771 * @param[out] camera A newly returned handle to the camera
772 * @return @c 0 on success, otherwise a negative error value
773 * @retval #CAMERA_ERROR_NONE Successful
774 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
775 * @retval #CAMERA_ERROR_OUT_OF_MEMORY Out of memory
776 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
777 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
778 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
779 * @post If it succeeds, the camera state will be #CAMERA_STATE_CREATED.
781 * @see camera_destroy()
783 int camera_create(camera_device_e device, camera_h *camera);
786 * @brief Changes the camera device.
789 * @remarks This function can be used to change camera device simply without camera_destroy() and camera_create().\n
790 * If display reuse hint is set by camera_set_display_reuse_hint() before stopping the preview,\n
791 * display handle will be reused and last frame on display can be kept even though camera device is changed.
792 * @param[in] camera The handle to the camera
793 * @param[in] device The hardware camera to access
794 * @return @c 0 on success, otherwise a negative error value
795 * @retval #CAMERA_ERROR_NONE Successful
796 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
797 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
798 * @retval #CAMERA_ERROR_OUT_OF_MEMORY Out of memory
799 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
800 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
801 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
802 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
803 * @post If it succeeds, the camera attributes and settings will be reset.
805 * @see camera_set_display_reuse_hint()
806 * @see camera_get_display_reuse_hint()
808 int camera_change_device(camera_h camera, camera_device_e device);
811 * @brief Destroys the camera handle and releases all its resources.
813 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
814 * @param[in] camera The handle to the camera
815 * @return @c 0 on success, otherwise a negative error value
816 * @retval #CAMERA_ERROR_NONE Successful
817 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
818 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
819 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
820 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
821 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
822 * @see camera_create()
824 int camera_destroy(camera_h camera);
827 * @brief Starts capturing and drawing preview frames on the screen.
829 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
831 * @privilege %http://tizen.org/privilege/camera
832 * @param[in] camera The handle to the camera
833 * @return @c 0 on success, otherwise a negative error value
834 * @retval #CAMERA_ERROR_NONE Successful
835 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
836 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
837 * @retval #CAMERA_ERROR_RESOURCE_CONFLICT Resource conflict error
838 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
839 * @retval #CAMERA_ERROR_DEVICE_BUSY The device is being used in another application or is performing other operations
840 * @retval #CAMERA_ERROR_DEVICE_NOT_FOUND No camera device
841 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
842 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
843 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
844 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_CAPTURED.\n
845 * You must set the display handle. \n
846 * If needed, modify preview FPS(camera_attr_set_preview_fps()),
847 * preview resolution(camera_set_preview_resolution()), or preview format(camera_set_preview_format()).
848 * @post If it succeeds, the camera state will be #CAMERA_STATE_PREVIEW.\n
849 * camera_preview_cb() will be called when preview image data becomes available.
851 * @see camera_stop_preview()
852 * @see camera_set_display()
853 * @see camera_set_preview_cb()
854 * @see camera_set_media_packet_preview_cb()
855 * @see camera_foreach_supported_preview_resolution()
856 * @see camera_set_preview_resolution()
857 * @see camera_get_preview_resolution()
858 * @see camera_foreach_supported_preview_format()
859 * @see camera_set_preview_format()
860 * @see camera_get_preview_format()
861 * @see camera_attr_foreach_supported_fps()
862 * @see camera_attr_set_preview_fps()
863 * @see camera_attr_get_preview_fps()
865 int camera_start_preview(camera_h camera);
868 * @brief Stops capturing and drawing preview frames.
869 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
871 * @privilege %http://tizen.org/privilege/camera
872 * @param[in] camera The handle to the camera
873 * @return @c 0 on success, otherwise a negative error value
874 * @retval #CAMERA_ERROR_NONE Successful
875 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
876 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
877 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
878 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
879 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
880 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
881 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
882 * @post The camera state will be #CAMERA_STATE_CREATED.
883 * @see camera_start_preview()
884 * @see camera_unset_preview_cb()
885 * @see camera_unset_media_packet_preview_cb()
887 int camera_stop_preview(camera_h camera);
890 * @brief Starts capturing of still images.
892 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
894 * @privilege %http://tizen.org/privilege/camera
895 * @remarks This function causes the transition of the camera state from #CAMERA_STATE_CAPTURING to #CAMERA_STATE_CAPTURED automatically\n
896 * and the corresponding callback function camera_capturing_cb() and camera_capture_completed_cb() will be invoked\n
897 * The captured image will be delivered through camera_capturing_cb().\n
898 * camera_capture_completed_cb() callback notifies about completion of camera_capturing_cb(). \n
899 * The camera's preview should be restarted by calling camera_start_preview().
900 * @param[in] camera The handle to the camera
901 * @param[in] capturing_cb The callback for capturing data
902 * @param[in] completed_cb The callback for notification of completion
903 * @param[in] user_data The user data
904 * @return @c 0 on success, otherwise a negative error value
905 * @retval #CAMERA_ERROR_NONE Successful
906 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
907 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
908 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
909 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
910 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
911 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
912 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW. \n
913 * If needed, modify capture resolution(camera_set_capture_resolution()),
914 * capture format(camera_set_capture_format()), or image quality(camera_attr_set_image_quality()).
915 * @post If it succeeds the camera state will be #CAMERA_STATE_CAPTURED.
917 * @see camera_start_preview()
918 * @see camera_start_continuous_capture();
919 * @see camera_foreach_supported_capture_resolution()
920 * @see camera_set_capture_resolution()
921 * @see camera_get_capture_resolution()
922 * @see camera_foreach_supported_capture_format()
923 * @see camera_set_capture_format()
924 * @see camera_get_capture_format()
925 * @see camera_attr_set_image_quality()
926 * @see camera_attr_get_image_quality()
928 int camera_start_capture(camera_h camera, camera_capturing_cb capturing_cb, camera_capture_completed_cb completed_cb, void *user_data);
931 * @brief Starts continuously capturing still images.
933 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
935 * @privilege %http://tizen.org/privilege/camera
936 * @remarks If this is not supported zero shutter lag occurs. The capture resolution could be changed to the preview resolution.\n
937 * This function causes the transition of the camera state from #CAMERA_STATE_CAPTURING to #CAMERA_STATE_CAPTURED automatically\n
938 * and the corresponding callback function camera_capturing_cb() and camera_capture_completed_cb() will be invoked\n
939 * Each Captured image will be delivered through camera_capturing_cb().\n
940 * The camera_capture_completed_cb() callback notifies about the completion of an entire capture.\n
941 * The camera's preview should be restarted by calling camera_start_preview().\n.
942 * @param[in] camera The handle to the camera
943 * @param[in] count The number of still images
944 * @param[in] interval The interval of the capture (millisecond)
945 * @param[in] capturing_cb The callback for capturing data
946 * @param[in] completed_cb The callback for notification of completion
947 * @param[in] user_data The user data
948 * @return @c 0 on success, otherwise a negative error value
949 * @retval #CAMERA_ERROR_NONE Successful
950 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
951 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
952 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
953 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
954 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
955 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
956 * @post If it succeeds the camera state will be #CAMERA_STATE_CAPTURED.
958 * @see camera_start_preview()
959 * @see camera_start_capture();
960 * @see camera_stop_continuous_capture()
961 * @see camera_is_supported_zero_shutter_lag()
963 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);
966 * @brief Aborts continuous capturing.
968 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
970 * @privilege %http://tizen.org/privilege/camera
971 * @remarks The camera state will be changed to #CAMERA_STATE_CAPTURED.
972 * @param[in] camera The handle to the camera
973 * @return @c 0 on success, otherwise a negative error value
974 * @retval #CAMERA_ERROR_NONE Successful
975 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
976 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
977 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
978 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
979 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
980 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
981 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
983 * @see camera_start_continuous_capture()
985 int camera_stop_continuous_capture(camera_h camera);
988 * @brief Gets the state of the camera.
990 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
991 * @param[in] camera The handle to the camera
992 * @param[out] state The current state of the camera
993 * @return @c 0 on success, otherwise a negative error value
994 * @retval #CAMERA_ERROR_NONE Successful
995 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
996 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
997 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
998 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
999 * @see camera_create()
1000 * @see camera_start_preview()
1001 * @see camera_stop_preview()
1002 * @see camera_start_capture()
1004 int camera_get_state(camera_h camera, camera_state_e *state);
1007 * @brief Starts camera auto-focusing, asynchronously.
1009 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1011 * @privilege %http://tizen.org/privilege/camera
1012 * @remarks If continuous status is @c true, the camera continuously tries to focus.
1013 * @param[in] camera The handle to the camera
1014 * @param[in] continuous The status of continuous focusing
1015 * @return @c 0 on success, otherwise a negative error value
1016 * @retval #CAMERA_ERROR_NONE Successful
1017 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1018 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1019 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
1020 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1021 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1022 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1023 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
1024 * @post The camera focus state will be #CAMERA_FOCUS_STATE_ONGOING.
1026 * @see camera_cancel_focusing()
1027 * @see camera_set_focus_changed_cb()
1028 * @see camera_focus_changed_cb()
1029 * @see camera_attr_set_af_mode()
1031 int camera_start_focusing(camera_h camera, bool continuous);
1034 * @brief Stops camera auto focusing.
1035 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1037 * @privilege %http://tizen.org/privilege/camera
1038 * @param[in] camera The handle to the camera
1039 * @return @c 0 on success, otherwise a negative error value
1040 * @retval #CAMERA_ERROR_NONE Successful
1041 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1042 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1043 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
1044 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1045 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1046 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1047 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
1049 * @see camera_start_focusing()
1050 * @see camera_focus_changed_cb()
1052 int camera_cancel_focusing(camera_h camera);
1055 * @brief Sets the display handle to show preview images.
1057 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1058 * @remarks This function must be called before previewing (see camera_start_preview()).
1059 * In Custom ROI display mode, camera_attr_set_display_roi_area() function must be called before calling this function.
1060 * @remarks This function must be called in main thread of the application.
1061 * Otherwise, it will return #CAMERA_ERROR_INVALID_OPERATION by internal restriction.
1062 * To avoid #CAMERA_ERROR_INVALID_OPERATION in sub thread, ecore_thread_main_loop_begin() and
1063 * ecore_thread_main_loop_end() can be used, but deadlock can occur if the main thread is busy.
1064 * So, it's not recommended to use them. (Since 5.0)
1065 * @param[in] camera The handle to the camera
1066 * @param[in] type The display type
1067 * @param[in] display The display handle from #GET_DISPLAY
1068 * @return @c 0 on success, otherwise a negative error value
1069 * @retval #CAMERA_ERROR_NONE Successful
1070 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1071 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1072 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
1073 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1074 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1075 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1076 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
1078 * @see camera_start_preview()
1080 * @see ecore_thread_main_loop_begin()
1081 * @see ecore_thread_main_loop_end()
1083 int camera_set_display(camera_h camera, camera_display_type_e type, camera_display_h display);
1086 * @brief Sets the resolution of the preview.
1088 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1089 * @remarks This function should be called before previewing (camera_start_preview()).
1090 * @param[in] camera The handle to the camera
1091 * @param[in] width The preview width
1092 * @param[in] height The preview height
1093 * @return @c 0 on success, otherwise a negative error value
1094 * @retval #CAMERA_ERROR_NONE Successful
1095 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1096 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1097 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1098 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1099 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1100 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
1102 * @see camera_start_preview()
1103 * @see camera_get_preview_resolution()
1104 * @see camera_foreach_supported_preview_resolution()
1106 int camera_set_preview_resolution(camera_h camera, int width, int height);
1109 * @brief Gets the resolution of the preview.
1111 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1112 * @param[in] camera The handle to the camera
1113 * @param[out] width The preview width
1114 * @param[out] height The preview height
1115 * @return @c 0 on success, otherwise a negative error value
1116 * @retval #CAMERA_ERROR_NONE Successful
1117 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1118 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1119 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1120 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1121 * @see camera_set_preview_resolution()
1122 * @see camera_foreach_supported_preview_resolution()
1124 int camera_get_preview_resolution(camera_h camera, int *width, int *height);
1127 * @brief Gets the recommended preview resolution.
1129 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1130 * @remarks Depending on the capture resolution aspect ratio and display resolution, the recommended preview resolution is determined.
1131 * @param[in] camera The handle to the camera
1132 * @param[out] width The preview width
1133 * @param[out] height The preview height
1134 * @return @c 0 on success, otherwise a negative error value
1135 * @retval #CAMERA_ERROR_NONE Successful
1136 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1137 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1138 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1139 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1140 * @see camera_set_preview_resolution()
1141 * @see camera_foreach_supported_preview_resolution()
1143 int camera_get_recommended_preview_resolution(camera_h camera, int *width, int *height);
1146 * @brief Starts face detection.
1147 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1149 * @privilege %http://tizen.org/privilege/camera
1150 * @remarks This should be called after the preview is started.\n
1151 * This callback will be invoked when the face is detected in the preview frame.\n
1152 * Internally it starts continuous focus and focusing on the detected face.\n
1153 * 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
1154 * 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.
1155 * @param[in] camera The handle to the camera
1156 * @param[in] callback The callback to notify face detection
1157 * @param[in] user_data The user data to be passed to the callback function
1159 * @return @c 0 on success, otherwise a negative error value
1160 * @retval #CAMERA_ERROR_NONE Successful
1161 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1162 * @retval #CAMERA_ERROR_INVALID_STATE Not preview state
1163 * @retval #CAMERA_ERROR_INVALID_OPERATION Not supported this feature
1164 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1165 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1166 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1167 * @pre The camera state must be #CAMERA_STATE_PREVIEW.
1169 * @see camera_stop_face_detection()
1170 * @see camera_face_detected_cb()
1171 * @see camera_is_supported_face_detection()
1173 int camera_start_face_detection(camera_h camera, camera_face_detected_cb callback, void *user_data);
1176 * @brief Stops face detection.
1178 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1180 * @privilege %http://tizen.org/privilege/camera
1181 * @param[in] camera The handle to the camera
1182 * @return @c 0 on success, otherwise a negative error value
1183 * @retval #CAMERA_ERROR_NONE Successful
1184 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1185 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1186 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1187 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1188 * @pre This should be called after face detection is started.
1190 * @see camera_start_face_detection()
1191 * @see camera_is_supported_face_detection()
1193 int camera_stop_face_detection(camera_h camera);
1200 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1205 * @brief Gets continuous capture feature's supported state.
1206 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1207 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1208 * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
1209 * @param[in] camera The handle to the camera
1210 * @return @c true on supported, otherwise false
1211 * @exception #CAMERA_ERROR_NONE Successful
1212 * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1213 * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1214 * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1217 bool camera_is_supported_continuous_capture(camera_h camera);
1220 * @brief Retrieves all supported camera preview resolutions by invoking the callback function once for each supported camera preview resolution.
1222 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1223 * @param[in] camera The handle to the camera
1224 * @param[in] callback The callback function to be invoked
1225 * @param[in] user_data The user data to be passed to the callback function
1226 * @return @c 0 on success, otherwise a negative error value
1227 * @retval #CAMERA_ERROR_NONE Successful
1228 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1229 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1230 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1231 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1232 * @post This function invokes camera_supported_preview_resolution_cb() repeatedly to retrieve each supported preview resolution.
1234 * @see camera_set_preview_resolution()
1235 * @see camera_get_preview_resolution()
1236 * @see camera_supported_preview_resolution_cb()
1238 int camera_foreach_supported_preview_resolution(camera_h camera, camera_supported_preview_resolution_cb callback, void *user_data);
1245 * @addtogroup CAPI_MEDIA_CAMERA_MODULE
1250 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1251 * @brief Sets the display rotation.
1253 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1254 * @remarks This function should be called before previewing (see camera_start_preview())
1255 * @param[in] camera The handle to the camera
1256 * @param[in] rotation The display rotation
1257 * @return @c 0 on success, otherwise a negative error value
1258 * @retval #CAMERA_ERROR_NONE Successful
1259 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1260 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1261 * @retval #CAMERA_ERROR_INVALID_OPERATION Display type is incorrect
1262 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1263 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1264 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1265 * @see camera_start_preview()
1266 * @see camera_get_display_rotation()
1268 int camera_set_display_rotation(camera_h camera, camera_rotation_e rotation);
1271 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1272 * @brief Gets the display rotation.
1274 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1275 * @param[in] camera The handle to the camera
1276 * @param[out] rotation The display rotation
1277 * @return @c 0 on success, otherwise a negative error value
1278 * @retval #CAMERA_ERROR_NONE Successful
1279 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1280 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1281 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1282 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1283 * @see camera_set_display_rotation()
1285 int camera_get_display_rotation(camera_h camera, camera_rotation_e *rotation);
1288 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1289 * @brief Sets the display flip.
1291 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1292 * @param[in] camera The handle to the camera
1293 * @param[in] flip The display flip
1294 * @return @c 0 on success, otherwise a negative error value
1295 * @retval #CAMERA_ERROR_NONE Successful
1296 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1297 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1298 * @retval #CAMERA_ERROR_INVALID_OPERATION Display type is incorrect
1299 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1300 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1301 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1302 * @see camera_get_display_flip()
1304 int camera_set_display_flip(camera_h camera, camera_flip_e flip);
1307 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1308 * @brief Gets the display flip.
1310 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1311 * @param[in] camera The handle to the camera
1312 * @param[out] flip The display flip
1313 * @return @c 0 on success, otherwise a negative error value
1314 * @retval #CAMERA_ERROR_NONE Successful
1315 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1316 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1317 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1318 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1319 * @see camera_set_display_flip()
1321 int camera_get_display_flip(camera_h camera, camera_flip_e *flip);
1324 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1325 * @brief Sets the visible property for display.
1327 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1328 * @param[in] camera The handle to the camera
1329 * @param[in] visible The display visibility property
1331 * @return @c 0 on success, otherwise a negative error value
1332 * @retval #CAMERA_ERROR_NONE Successful
1333 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1334 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1335 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1336 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1337 * @see camera_is_display_visible()
1339 int camera_set_display_visible(camera_h camera, bool visible);
1342 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1343 * @brief Gets the visible property of display.
1345 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1346 * @param[in] camera The handle to the camera
1347 * @param[out] visible @c true if camera display is visible, otherwise @c false
1349 * @return @c 0 on success, otherwise a negative error value
1350 * @retval #CAMERA_ERROR_NONE Successful
1351 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1352 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1353 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1354 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1355 * @see camera_set_display_visible()
1357 int camera_is_display_visible(camera_h camera, bool *visible);
1360 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1361 * @brief Sets the display mode.
1363 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1364 * @param[in] camera The handle to the camera
1365 * @param[in] mode The display mode
1367 * @return @c 0 on success, otherwise a negative error value
1368 * @retval #CAMERA_ERROR_NONE Successful
1369 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1370 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1371 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1372 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1373 * @see camera_get_display_mode()
1375 int camera_set_display_mode(camera_h camera, camera_display_mode_e mode);
1378 * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
1379 * @brief Gets the display mode.
1381 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1382 * @param[in] camera The handle to the camera
1383 * @param[out] mode The display mode
1385 * @return @c 0 on success, otherwise a negative error value
1386 * @retval #CAMERA_ERROR_NONE Successful
1387 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1388 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1389 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1390 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1391 * @see camera_set_display_mode()
1393 int camera_get_display_mode(camera_h camera, camera_display_mode_e *mode);
1396 * @brief Sets the hint for display reuse.
1398 * @details If the hint is set to true, the display will be reused when the camera device is changed with camera_change_device().
1399 * @remarks If the current display type is #CAMERA_DISPLAY_TYPE_NONE, this function will return #CAMERA_ERROR_INVALID_OPERATION.
1400 * @param[in] camera The handle to the camera
1401 * @param[in] hint The hint for display reuse; true - reuse the display, false - do not reuse
1402 * @return @c 0 on success, otherwise a negative error value
1403 * @retval #CAMERA_ERROR_NONE Successful
1404 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1405 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1406 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
1407 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1408 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
1409 * @see camera_get_display_reuse_hint()
1410 * @see camera_change_device()
1412 int camera_set_display_reuse_hint(camera_h camera, bool hint);
1415 * @brief Gets the hint for display reuse.
1417 * @remarks If the current display type is #CAMERA_DISPLAY_TYPE_NONE, this function will return #CAMERA_ERROR_INVALID_OPERATION.
1418 * @param[in] camera The handle to the camera
1419 * @param[out] hint The hint for display reuse; true - reuse the display, false - do not reuse
1420 * @return @c 0 on success, otherwise a negative error value
1421 * @retval #CAMERA_ERROR_NONE Successful
1422 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1423 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
1424 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1425 * @see camera_get_display_reuse_hint()
1426 * @see camera_change_device()
1428 int camera_get_display_reuse_hint(camera_h camera, bool *hint);
1431 * @brief Sets the resolution of the captured image.
1432 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1433 * @param[in] camera The handle to the camera
1434 * @param[in] width The capture width
1435 * @param[in] height The capture height
1436 * @return @c 0 on success, otherwise a negative error value
1437 * @retval #CAMERA_ERROR_NONE Successful
1438 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1439 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1440 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1441 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1442 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1443 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
1444 * @see camera_start_capture()
1445 * @see camera_get_capture_resolution()
1446 * @see camera_foreach_supported_capture_resolution()
1448 int camera_set_capture_resolution(camera_h camera, int width, int height);
1451 * @brief Gets the resolution of the captured image.
1452 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1453 * @param[in] camera The handle to the camera
1454 * @param[out] width The capture width
1455 * @param[out] height The capture height
1456 * @return @c 0 on success, otherwise a negative error value
1457 * @retval #CAMERA_ERROR_NONE Successful
1458 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1459 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1460 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1461 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1462 * @see camera_set_capture_resolution()
1463 * @see camera_foreach_supported_capture_resolution()
1465 int camera_get_capture_resolution(camera_h camera, int *width, int *height);
1472 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1477 * @brief Retrieves all supported camera captured resolutions by invoking the callback function once for each supported camera capture resolution.
1479 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1480 * @param[in] camera The handle to the camera
1481 * @param[in] callback The callback function to register
1482 * @param[in] user_data The user data to be passed to the callback function
1483 * @return @c 0 on success, otherwise a negative error value
1484 * @retval #CAMERA_ERROR_NONE Successful
1485 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
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 * @post This function invokes camera_supported_capture_resolution_cb() repeatedly to retrieve each supported capture resolution.
1490 * @see camera_set_capture_resolution()
1491 * @see camera_get_capture_resolution()
1492 * @see camera_supported_capture_resolution_cb()
1494 int camera_foreach_supported_capture_resolution(camera_h camera, camera_supported_capture_resolution_cb callback, void *user_data);
1501 * @addtogroup CAPI_MEDIA_CAMERA_MODULE
1506 * @brief Sets the format of an image to be captured.
1508 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1509 * @remarks This function should be called before capturing (see camera_start_capture()).
1510 * @param[in] camera The handle to the camera
1511 * @param[out] format The format of the image to be captured
1512 * @return @c 0 on success, otherwise a negative error value
1513 * @retval #CAMERA_ERROR_NONE Successful
1514 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1515 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1516 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1517 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1518 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1519 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
1520 * @see camera_start_capture()
1521 * @see camera_get_capture_format()
1522 * @see camera_foreach_supported_capture_format()
1524 int camera_set_capture_format(camera_h camera, camera_pixel_format_e format);
1527 * @brief Gets the format of the image to be captured.
1529 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1530 * @param[in] camera The handle to the camera
1531 * @param[out] format The format of the image to be captured
1532 * @return @c 0 on success, otherwise a negative error value
1533 * @retval #CAMERA_ERROR_NONE Successful
1534 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1535 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1536 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1537 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1538 * @see camera_set_capture_format()
1539 * @see camera_foreach_supported_capture_format()
1541 int camera_get_capture_format(camera_h camera, camera_pixel_format_e *format);
1548 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1553 * @brief Retrieves all supported camera capture formats by invoking the callback function once for each supported camera capture format.
1555 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1556 * @param[in] camera The handle to the camera
1557 * @param[in] callback The callback function to be invoked
1558 * @param[in] user_data The user data to be passed to the callback function
1559 * @return @c 0 on success, otherwise a negative error value
1560 * @retval #CAMERA_ERROR_NONE Successful
1561 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1562 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1563 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1564 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1565 * @post This function invokes camera_supported_capture_format_cb() repeatedly to retrieve each supported capture format.
1566 * @see camera_set_capture_format()
1567 * @see camera_get_capture_format()
1568 * @see camera_supported_capture_format_cb()
1570 int camera_foreach_supported_capture_format(camera_h camera, camera_supported_capture_format_cb callback, void *user_data);
1577 * @addtogroup CAPI_MEDIA_CAMERA_MODULE
1582 * @brief Sets the preview data format.
1583 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1584 * @remarks This function should be called before previewing (see camera_start_preview()).
1585 * @param[in] camera The handle to the camera
1586 * @param[in] format The preview data format
1587 * @return @c 0 on success, otherwise a negative error value
1588 * @retval #CAMERA_ERROR_NONE Successful
1589 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1590 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
1591 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1592 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1593 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1594 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
1595 * @see camera_start_preview()
1596 * @see camera_get_preview_format()
1597 * @see camera_foreach_supported_preview_format()
1599 int camera_set_preview_format(camera_h camera, camera_pixel_format_e format);
1602 * @brief Gets the format of the preview stream.
1603 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1604 * @param[in] camera The handle to the camera
1605 * @param[out] format The preview data format
1606 * @return @c 0 on success, otherwise a negative error value
1607 * @retval #CAMERA_ERROR_NONE Successful
1608 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1609 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1610 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1611 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1612 * @see camera_set_preview_format()
1613 * @see camera_foreach_supported_preview_format()
1615 int camera_get_preview_format(camera_h camera, camera_pixel_format_e *format);
1618 * @brief Gets the facing direction of camera module.
1620 * @param[in] camera The handle to the camera
1621 * @param[out] facing_direction The facing direction of camera module
1622 * @return @c 0 on success, otherwise a negative error value
1623 * @retval #CAMERA_ERROR_NONE Successful
1624 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
1625 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1626 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1627 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1629 int camera_get_facing_direction(camera_h camera, camera_facing_direction_e *facing_direction);
1632 * @brief Gets the camera's flash state.
1634 * @param[in] device The hardware camera to access
1635 * @param[out] state The current flash state
1636 * @return @c 0 on success, otherwise a negative error value
1637 * @retval #CAMERA_ERROR_NONE Successful
1638 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
1639 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1640 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1641 * @see camera_attr_set_flash_mode()
1642 * @see camera_attr_get_flash_mode()
1644 int camera_get_flash_state(camera_device_e device, camera_flash_state_e *state);
1651 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1656 * @brief Retrieves all supported camera preview formats by invoking the callback function once for each supported camera preview format.
1657 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1658 * @param[in] camera The handle to the camera
1659 * @param[in] callback The callback function to be invoked
1660 * @param[in] user_data The user data to be passed to the callback function
1661 * @return @c 0 on success, otherwise a negative error value
1662 * @retval #CAMERA_ERROR_NONE Successful
1663 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1664 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1665 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1666 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1667 * @post This function invokes camera_supported_preview_format_cb() repeatedly to retrieve each supported preview format.
1668 * @see camera_set_preview_format()
1669 * @see camera_get_preview_format()
1670 * @see camera_supported_preview_format_cb()
1672 int camera_foreach_supported_preview_format(camera_h camera, camera_supported_preview_format_cb callback, void *user_data);
1675 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1676 * @brief Gets the face detection feature's supported state.
1677 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1678 * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
1679 * @param[in] camera The handle to the camera
1680 * @return @c true if supported, otherwise @c false
1681 * @see camera_start_face_detection()
1682 * @see camera_stop_face_detection()
1683 * @exception #CAMERA_ERROR_NONE Successful
1684 * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1685 * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1686 * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1688 bool camera_is_supported_face_detection(camera_h camera);
1691 * @brief Gets the zero shutter lag feature's supported state.
1692 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1693 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1694 * @remarks If supporting zero shutter lag, continuous shot can be done with full capture size. \n
1695 * 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
1703 bool camera_is_supported_zero_shutter_lag(camera_h camera);
1706 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1707 * @brief Gets the camera device count.
1708 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1709 * @remarks If the device supports primary and secondary camera, this returns @c 2. If @c 1 is returned, the device only supports primary camera.
1710 * @param[in] camera The handle to the camera
1711 * @param[out] device_count The device count
1712 * @return @c 0 on success, otherwise a negative error value
1713 * @retval #CAMERA_ERROR_NONE Successful
1714 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1715 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1716 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1717 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1719 int camera_get_device_count(camera_h camera, int *device_count);
1722 * @brief Gets the media packet preview callback feature's supported state.
1723 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
1724 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1725 * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
1726 * @param[in] camera The handle to the camera
1727 * @return @c true if supported, otherwise @c false
1728 * @exception #CAMERA_ERROR_NONE Successful
1729 * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1730 * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1731 * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1734 bool camera_is_supported_media_packet_preview_cb(camera_h camera);
1741 * @addtogroup CAPI_MEDIA_CAMERA_MODULE
1746 * @brief Registers a callback function to be called once per frame when previewing.
1747 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1748 * @remarks This callback does not work in the video recorder mode.\n
1749 * Before 4.0, the only allowed state for calling this function was #CAMERA_STATE_CREATED.\n
1750 * Since 4.0, #CAMERA_STATE_PREVIEW has been added as an allowed state,\n
1751 * so that this function could be called before previewing or even while previewing.\n
1752 * A registered callback is called on the internal thread of the camera.\n
1753 * A video frame can be retrieved using a registered callback,\n
1754 * and the buffer is only available in a registered callback.\n
1755 * Since tizen 3.0, if you change the buffer in a registered callback,\n
1756 * it could not be displayed on the device in case of copied buffer.\n
1757 * and if camera_is_supported_media_packet_preview_cb() returns false,\n
1758 * it's copied buffer case.
1759 * @param[in] camera The handle to the camera
1760 * @param[in] callback The callback function to be registered
1761 * @param[in] user_data The user data to be passed to the callback function
1762 * @return @c 0 on success, otherwise a negative error value
1763 * @retval #CAMERA_ERROR_NONE Successful
1764 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1765 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1766 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1767 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1768 * @pre Before 4.0 : The camera state must be set to #CAMERA_STATE_CREATED.\n
1769 * Since 4.0 : The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
1770 * @see camera_start_preview()
1771 * @see camera_unset_preview_cb()
1772 * @see camera_preview_cb()
1774 int camera_set_preview_cb(camera_h camera, camera_preview_cb callback, void *user_data);
1777 * @brief Unregisters the callback function.
1778 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1779 * @param[in] camera The handle to the camera
1780 * @return @c 0 on success, otherwise a negative error value
1781 * @retval #CAMERA_ERROR_NONE Successful
1782 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1783 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1784 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1785 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1786 * @see camera_set_preview_cb()
1788 int camera_unset_preview_cb(camera_h camera);
1791 * @brief Registers a media packet callback function to be called once per frame when previewing.
1792 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1793 * @remarks This callback does not work in video recorder mode.\n
1794 * This function should be called before previewing (see camera_start_preview())\n
1795 * A registered callback is called on the internal thread of the camera.\n
1796 * A video frame can be retrieved using a registered callback as a media packet.\n
1797 * The callback function holds the same buffer that will be drawn on the display device.\n
1798 * So if you change the media packet in a registered callback, it will be displayed on the device\n
1799 * and the media packet is available until it's destroyed by media_packet_destroy().
1800 * @param[in] camera The handle to the camera
1801 * @param[in] callback The callback function to be registered
1802 * @param[in] user_data The user data to be passed to the callback function
1803 * @return 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 * @pre The camera's state should be #CAMERA_STATE_CREATED.
1810 * @see camera_start_preview()
1811 * @see camera_unset_media_packet_preview_cb()
1812 * @see camera_media_packet_preview_cb()
1814 int camera_set_media_packet_preview_cb(camera_h camera, camera_media_packet_preview_cb callback, void *user_data);
1817 * @brief Unregisters the media packet callback function.
1818 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1819 * @param[in] camera The handle to the camera
1820 * @return @c 0 on success, otherwise a negative error value
1821 * @retval #CAMERA_ERROR_NONE Successful
1822 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1823 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1824 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1825 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1826 * @see camera_set_media_packet_preview_cb()
1828 int camera_unset_media_packet_preview_cb(camera_h camera);
1831 * @brief Registers a callback function to be called when the camera state changes.
1832 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1833 * @param[in] camera The handle to the camera
1834 * @param[in] callback The callback function to register
1835 * @param[in] user_data The user data to be passed to the callback function
1836 * @return @c 0 on success, otherwise a negative error value
1837 * @retval #CAMERA_ERROR_NONE Successful
1838 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1839 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1840 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1841 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1842 * @post This function will invoke camera_state_changed_cb() when the camera state changes.
1843 * @see camera_unset_state_changed_cb()
1844 * @see camera_state_changed_cb()
1846 int camera_set_state_changed_cb(camera_h camera, camera_state_changed_cb callback, void *user_data);
1849 * @brief Unregisters the callback function.
1850 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1851 * @param[in] camera The handle to the camera
1852 * @return @c 0 on success, otherwise a negative error value
1853 * @retval #CAMERA_ERROR_NONE Successful
1854 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1855 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1856 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1857 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1858 * @see camera_set_state_changed_cb()
1860 int camera_unset_state_changed_cb(camera_h camera);
1863 * @brief Registers a callback function to be called when the camera is interrupted by policy.
1864 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1865 * @param[in] camera The handle to the camera
1866 * @param[in] callback The callback function to register
1867 * @param[in] user_data The user data to be passed to the callback function
1868 * @return @c 0 on success, otherwise a negative error value
1869 * @retval #CAMERA_ERROR_NONE Successful
1870 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1871 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1872 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1873 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1874 * @see camera_unset_interrupted_cb()
1875 * @see camera_interrupted_cb()
1877 int camera_set_interrupted_cb(camera_h camera, camera_interrupted_cb callback, void *user_data);
1880 * @brief Unregisters the callback function.
1881 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1882 * @param[in] camera The handle to the camera
1883 * @return @c 0 on success, otherwise a negative error value
1884 * @retval #CAMERA_ERROR_NONE Successful
1885 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1886 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1887 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1888 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1889 * @see camera_set_interrupted_cb()
1891 int camera_unset_interrupted_cb(camera_h camera);
1894 * @brief Registers a callback function to be called when the camera interrupt is started by policy.
1896 * @param[in] camera The handle to the camera
1897 * @param[in] callback The callback function to register
1898 * @param[in] user_data The user data to be passed to the callback function
1899 * @return @c 0 on success, otherwise a negative error value
1900 * @retval #CAMERA_ERROR_NONE Successful
1901 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1902 * @see camera_unset_interrupt_started_cb()
1903 * @see camera_interrupt_started_cb()
1905 int camera_set_interrupt_started_cb(camera_h camera, camera_interrupt_started_cb callback, void *user_data);
1908 * @brief Unregisters the callback function.
1910 * @param[in] camera The handle to the camera
1911 * @return @c 0 on success, otherwise a negative error value
1912 * @retval #CAMERA_ERROR_NONE Successful
1913 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1914 * @see camera_set_interrupt_started_cb()
1916 int camera_unset_interrupt_started_cb(camera_h camera);
1919 * @brief Registers a callback function to be called when the auto-focus state changes.
1920 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1921 * @param[in] camera The handle to the camera
1922 * @param[in] callback The callback function to register
1923 * @param[in] user_data The user data to be passed to the callback function
1924 * @return @c 0 on success, otherwise a negative error value
1925 * @retval #CAMERA_ERROR_NONE Successful
1926 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1927 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1928 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1929 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1930 * @post This function will invoke camera_focus_changed_cb() when the auto-focus state changes.
1931 * @see camera_start_focusing()
1932 * @see camera_cancel_focusing()
1933 * @see camera_unset_focus_changed_cb()
1934 * @see camera_focus_changed_cb()
1936 int camera_set_focus_changed_cb(camera_h camera, camera_focus_changed_cb callback, void *user_data);
1939 * @brief Unregisters the callback function.
1940 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1941 * @param[in] camera The handle to the camera
1942 * @return @c 0 on success, otherwise a negative error value
1943 * @retval #CAMERA_ERROR_NONE Successful
1944 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1945 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1946 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1947 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1948 * @see camera_set_focus_changed_cb()
1950 int camera_unset_focus_changed_cb(camera_h camera);
1953 * @brief Registers a callback function to be called when an asynchronous operation error occurs.
1954 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1955 * @remarks This callback informs about a critical error situation.\n
1956 * When this callback is invoked, the user should release the resource and terminate the application.\n
1957 * In case of errors, one of the following codes will occur:\n
1958 * #CAMERA_ERROR_DEVICE,\n
1959 * #CAMERA_ERROR_INVALID_OPERATION,\n
1960 * #CAMERA_ERROR_OUT_OF_MEMORY.
1961 * @param[in] camera The handle to the camera
1962 * @param[in] callback The callback function to register
1963 * @param[in] user_data The user data to be passed to the callback function
1964 * @return @c 0 on success, otherwise a negative error value
1965 * @retval #CAMERA_ERROR_NONE Successful
1966 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1967 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1968 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1969 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1970 * @post This function will invoke camera_error_cb() when an asynchronous operation error occurs.
1972 * @see camera_unset_error_cb()
1973 * @see camera_error_cb()
1975 int camera_set_error_cb(camera_h camera, camera_error_cb callback, void *user_data);
1978 * @brief Unregisters the callback function.
1979 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
1980 * @param[in] camera The handle to the camera
1981 * @return @c 0 on success, otherwise a negative error value
1982 * @retval #CAMERA_ERROR_NONE Successful
1983 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1984 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
1985 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
1986 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
1987 * @see camera_set_error_cb()
1989 int camera_unset_error_cb(camera_h camera);
1992 * @brief Gets the state of camera device.
1994 * @param[in] device The hardware camera type
1995 * @param[out] state The current state of the device
1996 * @return @c 0 on success, otherwise a negative error value
1997 * @retval #CAMERA_ERROR_NONE Successful
1998 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
1999 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
2000 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2002 int camera_get_device_state(camera_device_e device, camera_device_state_e *state);
2005 * @brief Registers a callback function to be called when the camera device state changes.
2007 * @param[in] callback The callback function to register
2008 * @param[in] user_data The user data to be passed to the callback function
2009 * @param[out] cb_id The id of registered callback
2010 * @return @c 0 on success, otherwise a negative error value
2011 * @retval #CAMERA_ERROR_NONE Successful
2012 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2013 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
2014 * @retval #CAMERA_ERROR_OUT_OF_MEMORY Out of memory
2015 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2016 * @post This function will invoke camera_device_state_changed_cb() when the camera device's state changes.
2017 * @see camera_remove_device_state_changed_cb()
2018 * @see camera_device_state_changed_cb()
2020 int camera_add_device_state_changed_cb(camera_device_state_changed_cb callback, void *user_data, int *cb_id);
2023 * @brief Unregisters the callback function.
2025 * @param[in] cb_id The id of registered callback
2026 * @return @c 0 on success, otherwise a negative error value
2027 * @retval #CAMERA_ERROR_NONE Successful
2028 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2029 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
2030 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2031 * @see camera_add_device_state_changed_cb()
2033 int camera_remove_device_state_changed_cb(int cb_id);
2040 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
2045 * @brief Called to get each supported auto-focus mode.
2046 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2047 * @param[in] mode The supported auto-focus mode
2048 * @param[in] user_data The user data passed from the foreach function
2049 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
2050 * @pre camera_attr_foreach_supported_af_mode() will invoke this callback.
2051 * @see camera_attr_foreach_supported_af_mode()
2053 typedef bool (*camera_attr_supported_af_mode_cb)(camera_attr_af_mode_e mode, void *user_data);
2056 * @brief Called to get each supported exposure mode.
2057 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2058 * @param[in] mode The supported exposure mode
2059 * @param[in] user_data The user data passed from the foreach function
2060 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
2061 * @pre camera_attr_foreach_supported_exposure_mode() will invoke this callback.
2062 * @see camera_attr_foreach_supported_exposure_mode()
2063 * @see #camera_attr_exposure_mode_e
2065 typedef bool (*camera_attr_supported_exposure_mode_cb)(camera_attr_exposure_mode_e mode, void *user_data);
2068 * @brief Called to get each supported ISO mode.
2069 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2070 * @param[in] iso The supported ISO mode
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 otherwise @c false to break out of the loop
2073 * @pre camera_attr_foreach_supported_iso() will invoke this callback.
2074 * @see camera_attr_foreach_supported_iso()
2076 typedef bool (*camera_attr_supported_iso_cb)(camera_attr_iso_e iso, void *user_data);
2079 * @brief Called to get each supported white balance.
2080 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2081 * @param[in] wb The supported white balance mode
2082 * @param[in] user_data The user data passed from the foreach function
2083 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
2084 * @pre camera_attr_foreach_supported_whitebalance() will invoke this callback.
2085 * @see camera_attr_foreach_supported_whitebalance()
2086 * @see #camera_attr_whitebalance_e
2088 typedef bool (*camera_attr_supported_whitebalance_cb)(camera_attr_whitebalance_e wb, void *user_data);
2091 * @brief Called to get each supported effect mode.
2092 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2093 * @param[in] effect The supported effect mode
2094 * @param[in] user_data The user data passed from the foreach function
2095 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
2096 * @pre camera_attr_foreach_supported_effect() will invoke this callback.
2097 * @see camera_attr_foreach_supported_effect()
2099 typedef bool (*camera_attr_supported_effect_cb)(camera_attr_effect_mode_e effect, void *user_data);
2102 * @brief Called to get each supported scene mode.
2103 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2104 * @param[in] mode The supported scene mode
2105 * @param[in] user_data The user data passed from the foreach function
2106 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
2107 * @pre camera_attr_foreach_supported_scene_mode() will invoke this callback.
2108 * @see camera_attr_foreach_supported_scene_mode()
2109 * @see #camera_attr_scene_mode_e
2111 typedef bool (*camera_attr_supported_scene_mode_cb)(camera_attr_scene_mode_e mode, void *user_data);
2114 * @brief Called to get each supported flash mode.
2115 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2116 * @param[in] mode The supported flash mode
2117 * @param[in] user_data The user data passed from the foreach function
2118 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
2119 * @pre camera_attr_foreach_supported_flash_mode() will invoke this callback.
2120 * @see camera_attr_foreach_supported_flash_mode()
2122 typedef bool (*camera_attr_supported_flash_mode_cb)(camera_attr_flash_mode_e mode, void *user_data);
2125 * @brief Called to get each supported FPS mode.
2126 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2127 * @param[in] mode The supported FPS mode
2128 * @param[in] user_data The user data passed from the foreach function
2129 * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
2130 * @pre camera_attr_foreach_supported_fps() will invoke this callback.
2131 * @see camera_attr_foreach_supported_fps()
2133 typedef bool (*camera_attr_supported_fps_cb)(camera_attr_fps_e fps, void *user_data);
2136 * @brief Called to get each supported stream flip mode.
2137 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2138 * @param[in] mode The supported stream flip mode
2139 * @param[in] user_data The user data passed from the foreach function
2140 * @return @c true to continue with the next iteration of the loop, \n @c false to break out of the loop
2141 * @pre camera_attr_foreach_supported_stream_flip() will invoke this callback.
2142 * @see camera_attr_foreach_supported_stream_flip()
2144 typedef bool (*camera_attr_supported_stream_flip_cb)(camera_flip_e flip, void *user_data);
2147 * @brief Called to get each supported stream rotation mode.
2148 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2149 * @param[in] mode The supported stream rotation mode
2150 * @param[in] user_data The user data passed from the foreach function
2151 * @return @c true to continue with the next iteration of the loop, \n @c false to break out of the loop
2152 * @pre camera_attr_foreach_supported_stream_rotation() will invoke this callback.
2153 * @see camera_attr_foreach_supported_stream_rotation()
2155 typedef bool (*camera_attr_supported_stream_rotation_cb)(camera_rotation_e rotation, void *user_data);
2158 * @brief Called to get each supported theater mode.
2159 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2160 * @param[in] mode The supported theater mode
2161 * @param[in] user_data The user data passed from the foreach function
2162 * @return @c true to continue with the next iteration of the loop, \n @c false to break out of the loop
2163 * @pre camera_attr_foreach_supported_theater_mode() will invoke this callback.
2164 * @see camera_attr_foreach_supported_theater_mode()
2166 typedef bool (*camera_attr_supported_theater_mode_cb)(camera_attr_theater_mode_e mode, void *user_data);
2169 * @brief Called to get each supported PTZ(Pan Tilt Zoom) type.
2171 * @param[in] type The supported ptz type
2172 * @param[in] user_data The user data passed from the foreach function
2173 * @return @c true to continue with the next iteration of the loop, \n @c false to break out of the loop
2174 * @pre camera_attr_foreach_supported_ptz_mode() will invoke this callback.
2175 * @see camera_attr_foreach_supported_ptz_mode()
2177 typedef bool (*camera_attr_supported_ptz_type_cb)(camera_attr_ptz_type_e type, void *user_data);
2185 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
2190 * @brief Sets the preview frame rate.
2191 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2192 * @remarks This function should be called before previewing (see camera_start_preview()).
2193 * @param[in] camera The handle to the camera
2194 * @param[in] fps The frame rate
2195 * @return @c 0 on success, otherwise a negative error value
2196 * @retval #CAMERA_ERROR_NONE Successful
2197 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2198 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2199 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2200 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2201 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2202 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
2203 * @see camera_start_preview()
2204 * @see camera_attr_get_preview_fps()
2205 * @see camera_attr_foreach_supported_fps()
2207 int camera_attr_set_preview_fps(camera_h camera, camera_attr_fps_e fps);
2210 * @brief Gets the frames per second of a preview video stream.
2211 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2212 * @param[in] camera The handle to the camera
2213 * @param[out] fps The frames per second of the preview video stream
2214 * @return @c 0 on success, otherwise a negative error value
2215 * @retval #CAMERA_ERROR_NONE Successful
2216 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2217 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2218 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2219 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2220 * @see camera_attr_set_preview_fps()
2221 * @see camera_attr_foreach_supported_fps()
2223 int camera_attr_get_preview_fps(camera_h camera, camera_attr_fps_e *fps);
2230 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
2235 * @brief Retrieves all supported FPS modes by invoking the callback function once for each supported FPS mode.
2236 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2237 * @param[in] camera The handle to the camera
2238 * @param[in] callback The callback function to invoke
2239 * @param[in] user_data The user data to be passed to the callback function
2240 * @return @c 0 on success, otherwise a negative error value
2241 * @retval #CAMERA_ERROR_NONE Successful
2242 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2243 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
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 * @post This function invokes camera_attr_supported_fps_cb() repeatedly to get each supported FPS mode.
2247 * @see camera_attr_set_preview_fps()
2248 * @see camera_attr_get_preview_fps()
2249 * @see camera_attr_supported_fps_cb()
2251 int camera_attr_foreach_supported_fps(camera_h camera, camera_attr_supported_fps_cb callback, void *user_data);
2254 * @brief Retrieves all supported FPS modes by invoking the callback function once for each supported FPS mode.
2255 * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
2256 * @param[in] camera The handle to the camera
2257 * @param[in] width Required preview resolution's width
2258 * @param[in] height Required preview resolution's height
2259 * @param[in] callback The callback function to invoke
2260 * @param[in] user_data The user data to be passed to the callback function
2261 * @return @c 0 on success, otherwise a negative error value
2262 * @retval #CAMERA_ERROR_NONE Successful
2263 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2264 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2265 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2266 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2267 * @post This function invokes camera_attr_supported_fps_cb() repeatedly to get each supported FPS mode.
2268 * @see camera_attr_set_preview_fps()
2269 * @see camera_attr_get_preview_fps()
2270 * @see camera_attr_supported_fps_cb()
2272 int camera_attr_foreach_supported_fps_by_resolution(camera_h camera, int width, int height, camera_attr_supported_fps_cb callback, void *user_data);
2279 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
2284 * @brief Sets quality of the image.
2285 * @details The range for image quality is 1 to 100. If @a quality is out of range, #CAMERA_ERROR_INVALID_PARAMETER error occurred.
2286 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2287 * @param[in] camera The handle to the camera
2288 * @param[in] quality The quality of image (1 ~ 100)
2289 * @return @c 0 on success, otherwise a negative error value
2290 * @retval #CAMERA_ERROR_NONE Successful
2291 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2292 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2293 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2294 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2295 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2296 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2297 * @see camera_start_preview()
2298 * @see camera_attr_get_image_quality()
2300 int camera_attr_set_image_quality(camera_h camera, int quality);
2303 * @brief Gets the quality of a still image, which is captured.
2304 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2305 * @param[in] camera The handle to the camera
2306 * @param[out] quality The quality of the image(1 ~ 100)
2307 * @return @c 0 on success, otherwise a negative error value
2308 * @retval #CAMERA_ERROR_NONE Successful
2309 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2310 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2311 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2312 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2313 * @see camera_attr_set_image_quality()
2315 int camera_attr_get_image_quality(camera_h camera, int *quality);
2318 * @brief Gets the bit rate of encoded preview.
2320 * @param[in] camera The handle to the camera
2321 * @param[out] bitrate The bit rate of encoded preview
2322 * @return @c 0 on success, otherwise a negative error value
2323 * @retval #CAMERA_ERROR_NONE Successful
2324 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
2325 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2326 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2327 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2328 * @see camera_attr_set_encoded_preview_bitrate()
2330 int camera_attr_get_encoded_preview_bitrate(camera_h camera, int *bitrate);
2333 * @brief Sets the bit rate of encoded preview.
2335 * @remarks The recommended range is from 1,000 (1 kbps) to 100,000,000 (100 Mbps). \n
2336 * But, due to codec limitations, it may not apply.
2337 * @param[in] camera The handle to the camera
2338 * @param[in] bitrate The bit rate of encoded preview
2339 * @return @c 0 on success, otherwise a negative error value
2340 * @retval #CAMERA_ERROR_NONE Successful
2341 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
2342 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2343 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2344 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2345 * @see camera_attr_get_encoded_preview_bitrate()
2347 int camera_attr_set_encoded_preview_bitrate(camera_h camera, int bitrate);
2350 * @brief Gets the GOP(Group Of Pictures) interval of encoded preview.
2352 * @param[in] camera The handle to the camera
2353 * @param[out] interval the GOP interval of encoded preview (millisecond)
2354 * @return @c 0 on success, otherwise a negative error value
2355 * @retval #CAMERA_ERROR_NONE Successful
2356 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
2357 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2358 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2359 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2360 * @see camera_attr_set_encoded_preview_gop_interval()
2362 int camera_attr_get_encoded_preview_gop_interval(camera_h camera, int *interval);
2365 * @brief Sets the GOP(Group Of Pictures) interval of encoded preview.
2367 * @remarks The recommended range is from 1,000 (1 second) to 600,000 (10 minutes). \n
2368 * But, due to codec limitations, it may not apply.
2369 * @param[in] camera The handle to the camera
2370 * @param[in] interval the GOP interval of encoded preview (millisecond)
2371 * @return @c 0 on success, otherwise a negative error value
2372 * @retval #CAMERA_ERROR_NONE Successful
2373 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
2374 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2375 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2376 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2377 * @see camera_attr_get_encoded_preview_gop_interval()
2379 int camera_attr_set_encoded_preview_gop_interval(camera_h camera, int interval);
2382 * @brief Sets the zoom level.
2383 * @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.
2384 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2385 * @param[in] camera The handle to the camera
2386 * @param[in] zoom The zoom level
2387 * @return @c 0 on success, otherwise a negative error value
2388 * @retval #CAMERA_ERROR_NONE Successful
2389 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
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_get_zoom()
2396 * @see camera_attr_get_zoom_range()
2398 int camera_attr_set_zoom(camera_h camera, int zoom);
2401 * @brief Gets the zoom level.
2402 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2403 * @param[in] camera The handle to the camera
2404 * @param[out] zoom The zoom level
2405 * @return @c 0 on success, otherwise a negative error value
2406 * @retval #CAMERA_ERROR_NONE Successful
2407 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2408 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2409 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2410 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2411 * @see camera_attr_set_zoom()
2412 * @see camera_attr_get_zoom_range()
2414 int camera_attr_get_zoom(camera_h camera, int *zoom);
2417 * @brief Gets the available zoom level.
2418 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2419 * @remarks If the min value is greater than the max value, it means that this feature is not supported.
2420 * @param[in] camera The handle to the camera
2421 * @param[out] min The minimum zoom level
2422 * @param[out] max The maximum zoom level
2423 * @return @c 0 on success, otherwise a negative error value
2424 * @retval #CAMERA_ERROR_NONE Successful
2425 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2426 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2427 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2428 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2429 * @see camera_attr_set_zoom()
2430 * @see camera_attr_get_zoom()
2432 int camera_attr_get_zoom_range(camera_h camera, int *min, int *max);
2436 * @brief Sets the auto focus mode.
2437 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2438 * @param[in] camera The handle to the camera
2439 * @param[in] mode The auto focus mode
2440 * @return @c 0 on success, otherwise a negative error value
2441 * @retval #CAMERA_ERROR_NONE Successful
2442 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2443 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2444 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2445 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2446 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2447 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2448 * @see camera_attr_get_af_mode()
2449 * @see camera_attr_foreach_supported_af_mode()
2450 * @see #camera_attr_af_mode_e
2452 int camera_attr_set_af_mode(camera_h camera, camera_attr_af_mode_e mode);
2455 * @brief Gets the auto focus mode.
2456 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2457 * @param[in] camera The handle to the camera
2458 * @param[out] mode The auto focus mode
2459 * @return @c 0 on success, otherwise a negative error value
2460 * @retval #CAMERA_ERROR_NONE Successful
2461 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2462 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2463 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2464 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2465 * @see camera_attr_foreach_supported_af_mode()
2466 * @see camera_attr_set_af_mode()
2467 * @see #camera_attr_af_mode_e
2469 int camera_attr_get_af_mode(camera_h camera, camera_attr_af_mode_e *mode);
2472 * @brief Sets auto focus area.
2473 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2474 * @remarks This API is invalid in the #CAMERA_ATTR_AF_NONE mode.\n
2475 * The coordinates are mapped to preview area.
2476 * @param[in] camera The handle to the camera
2477 * @param[in] x The x coordinates of the focus area
2478 * @param[in] y The y coordinates of the focus area
2479 * @return @c 0 on success, otherwise a negative error value
2480 * @retval #CAMERA_ERROR_NONE Successful
2481 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2482 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
2483 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
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 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2488 * @see camera_attr_set_af_mode()
2489 * @see camera_attr_clear_af_area()
2491 int camera_attr_set_af_area(camera_h camera, int x, int y);
2494 * @brief Clears the auto focus area.
2495 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2496 * @remarks The focusing area is set to the center.
2497 * @param[in] camera The handle to the camera
2498 * @return @c 0 on success, otherwise a negative error value
2499 * @retval #CAMERA_ERROR_NONE Successful
2500 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2501 * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation
2502 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2503 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2504 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2505 * @see camera_attr_set_af_mode()
2506 * @see camera_attr_set_af_area()
2508 int camera_attr_clear_af_area(camera_h camera);
2515 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
2520 * @brief Retrieves all supported auto focus modes by invoking the callback function once for each supported auto focus mode.
2521 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2522 * @param[in] camera The handle to the camera
2523 * @param[in] callback The callback function to invoke
2524 * @param[in] user_data The user data to be passed to the callback function
2525 * @return @c 0 on success, otherwise a negative error value
2526 * @retval #CAMERA_ERROR_NONE Successful
2527 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2528 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2529 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2530 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2531 * @post This function invokes camera_attr_supported_af_mode_cb() to get all the supported auto focus modes.
2532 * @see camera_attr_set_af_mode()
2533 * @see camera_attr_get_af_mode()
2534 * @see camera_attr_supported_af_mode_cb()
2536 int camera_attr_foreach_supported_af_mode(camera_h camera, camera_attr_supported_af_mode_cb callback, void *user_data);
2543 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
2548 * @brief Sets the exposure mode.
2549 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2550 * @param[in] camera The handle to the camera
2551 * @param[in] mode The exposure mode
2552 * @return @c 0 on success, otherwise a negative error value
2553 * @retval #CAMERA_ERROR_NONE Successful
2554 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2555 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2556 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2557 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2558 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2559 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2560 * @see camera_attr_get_exposure_mode()
2561 * @see camera_attr_foreach_supported_exposure_mode()
2563 int camera_attr_set_exposure_mode(camera_h camera, camera_attr_exposure_mode_e mode);
2566 * @brief Gets the exposure mode.
2567 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2568 * @param[in] camera The handle to the camera
2569 * @param[out] mode The exposure mode
2570 * @return @c 0 on success, otherwise a negative error value
2571 * @retval #CAMERA_ERROR_NONE Successful
2572 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2573 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2574 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2575 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2576 * @see camera_attr_set_exposure_mode()
2577 * @see camera_attr_foreach_supported_exposure_mode()
2579 int camera_attr_get_exposure_mode(camera_h camera, camera_attr_exposure_mode_e *mode);
2586 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
2591 * @brief Retrieves all supported exposure modes by invoking the callback function once for each supported exposure mode.
2592 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2593 * @param[in] camera The handle to the camera
2594 * @param[in] callback The callback function to be invoked
2595 * @param[in] user_data The user data to be passed to the callback function
2596 * @return @c 0 on success, otherwise a negative error value
2597 * @retval #CAMERA_ERROR_NONE Successful
2598 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2599 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2600 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2601 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2602 * @post This function invokes camera_attr_supported_exposure_mode_cb() to get all the supported exposure modes.
2603 * @see camera_attr_set_exposure_mode()
2604 * @see camera_attr_get_exposure_mode()
2605 * @see camera_attr_supported_exposure_mode_cb()
2607 int camera_attr_foreach_supported_exposure_mode(camera_h camera, camera_attr_supported_exposure_mode_cb callback, void *user_data);
2614 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
2619 * @brief Sets the exposure value.
2620 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2621 * @param[in] camera The handle to the camera
2622 * @param[in] value The exposure value
2623 * @return @c 0 on success, otherwise a negative error value
2624 * @retval #CAMERA_ERROR_NONE Successful
2625 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2626 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2627 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2628 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2629 * @see camera_attr_get_exposure()
2631 int camera_attr_set_exposure(camera_h camera, int value);
2634 * @brief Gets the exposure value.
2635 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2636 * @param[in] camera The handle to the camera
2637 * @param[out] value The exposure value
2638 * @return @c 0 on success, otherwise a negative error value
2639 * @retval #CAMERA_ERROR_NONE Successful
2640 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2641 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2642 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2643 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2644 * @see camera_attr_set_exposure()
2646 int camera_attr_get_exposure(camera_h camera, int *value);
2649 * @brief Gets the available exposure value.
2650 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2651 * @remarks If the min value is greater than the max value, it means that this feature is not supported.
2652 * @param[in] camera The handle to the camera
2653 * @param[out] min The minimum exposure value
2654 * @param[out] max The maximum exposure value
2655 * @return @c 0 on success, otherwise a negative error value
2656 * @retval #CAMERA_ERROR_NONE Successful
2657 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2658 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2659 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2660 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2661 * @see camera_attr_set_exposure()
2663 int camera_attr_get_exposure_range(camera_h camera, int *min, int *max);
2666 * @brief Sets the ISO level.
2667 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2668 * @param[in] camera The handle to the camera
2669 * @param[in] iso The ISO level
2670 * @return @c 0 on success, otherwise a negative error value
2671 * @retval #CAMERA_ERROR_NONE Successful
2672 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2673 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2674 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2675 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2676 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2677 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2678 * @see camera_attr_get_iso()
2679 * @see camera_attr_foreach_supported_iso()
2681 int camera_attr_set_iso(camera_h camera, camera_attr_iso_e iso);
2684 * @brief Gets the ISO level.
2685 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2686 * @param[in] camera The handle to the camera
2687 * @param[out] iso The ISO level
2688 * @return @c 0 on success, otherwise a negative error value
2689 * @retval #CAMERA_ERROR_NONE Successful
2690 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2691 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2692 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2693 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2694 * @see camera_attr_set_iso()
2695 * @see camera_attr_foreach_supported_iso()
2697 int camera_attr_get_iso(camera_h camera, camera_attr_iso_e *iso);
2704 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
2709 * @brief Retrieves all supported ISO levels by invoking the callback function once for each supported ISO level.
2710 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2711 * @param[in] camera The handle to the camera
2712 * @param[in] callback The callback function to be invoked
2713 * @param[in] user_data The user data to be passed to the callback function
2714 * @return @c 0 on success, otherwise a negative error value
2715 * @retval #CAMERA_ERROR_NONE Successful
2716 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2717 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2718 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2719 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2720 * @post This function invokes camera_attr_supported_iso_cb() to get all the supported ISO levels.
2721 * @see camera_attr_set_iso()
2722 * @see camera_attr_get_iso()
2723 * @see camera_attr_supported_iso_cb()
2725 int camera_attr_foreach_supported_iso(camera_h camera, camera_attr_supported_iso_cb callback, void *user_data);
2732 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
2737 * @brief Sets the theater mode.
2738 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2739 * @remarks If you want to display the preview image on the external display with the full screen mode, use this function.
2740 * @param[in] camera The handle to the camera
2741 * @param[in] mode The mode to change
2742 * @return @c 0 on success, otherwise a negative error value
2743 * @retval #CAMERA_ERROR_NONE Successful
2744 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2745 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2746 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2747 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2748 * @pre This function is valid only when the external display is connected.
2749 * @see camera_attr_get_theater_mode()
2751 int camera_attr_set_theater_mode(camera_h camera, camera_attr_theater_mode_e mode);
2754 * @brief Gets the theater mode.
2755 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2756 * @param[in] camera The handle to the camera
2757 * @param[in] mode Current theater mode
2758 * @return @c 0 on success, otherwise a negative error value
2759 * @retval #CAMERA_ERROR_NONE Successful
2760 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2761 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2762 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2763 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2764 * @see camera_attr_get_theater_mode()
2766 int camera_attr_get_theater_mode(camera_h camera, camera_attr_theater_mode_e *mode);
2773 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
2778 * @brief Retrieves all supported theater modes by invoking callback function once for each supported theater modes.
2779 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2780 * @param[in] camera The handle to the camera
2781 * @param[in] callback The callback function to be invoked
2782 * @param[in] user_data The user data to be passed to the callback function
2783 * @return @c 0 on success, otherwise a negative error value
2784 * @retval #CAMERA_ERROR_NONE Successful
2785 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2786 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2787 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2788 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2789 * @post This function invokes camera_attr_supported_theater_mode_cb() to get all supported theater modes.
2790 * @see camera_attr_set_theater_mode()
2791 * @see camera_attr_get_theater_mode()
2792 * @see camera_attr_supported_theater_mode_cb()
2794 int camera_attr_foreach_supported_theater_mode(camera_h camera, camera_attr_supported_theater_mode_cb callback, void *user_data);
2802 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
2807 * @brief Sets the brightness level.
2808 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2809 * @remarks If the min value is greater than the max value from camera_attr_get_brightness_range(), \n
2810 * it means that this feature is not supported.
2811 * @param[in] camera The handle to the camera
2812 * @param[in] level The brightness level
2813 * @return @c 0 on success, otherwise a negative error value
2814 * @retval #CAMERA_ERROR_NONE Successful
2815 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2816 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2817 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2818 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2819 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2820 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2821 * @see camera_attr_get_brightness()
2822 * @see camera_attr_get_brightness_range()
2824 int camera_attr_set_brightness(camera_h camera, int level);
2827 * @brief Gets the brightness level.
2828 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2829 * @param[in] camera The handle to the camera
2830 * @param[out] level The brightness level
2831 * @return @c 0 on success, otherwise a negative error value
2832 * @retval #CAMERA_ERROR_NONE Successful
2833 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2834 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2835 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2836 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2837 * @see camera_attr_set_brightness()
2838 * @see camera_attr_get_brightness_range()
2840 int camera_attr_get_brightness(camera_h camera, int *level);
2843 * @brief Gets the available brightness level.
2844 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2845 * @remarks If the min value is greater than the max value, it means that this feature is not supported.
2846 * @param[in] camera The handle to the camera
2847 * @param[out] min The minimum brightness level
2848 * @param[out] max The maximum brightness level
2849 * @return @c 0 on success, otherwise a negative error value
2850 * @retval #CAMERA_ERROR_NONE Successful
2851 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2852 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2853 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2854 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2855 * @see camera_attr_set_brightness()
2856 * @see camera_attr_get_brightness()
2858 int camera_attr_get_brightness_range(camera_h camera, int *min, int *max);
2861 * @brief Sets the contrast level.
2862 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2863 * @param[in] camera The handle to the camera
2864 * @param[in] level The contrast level
2865 * @return @c 0 on success, otherwise a negative error value
2866 * @retval #CAMERA_ERROR_NONE Successful
2867 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2868 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2869 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2870 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2871 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2872 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2873 * @see camera_attr_get_contrast()
2874 * @see camera_attr_get_contrast_range()
2876 int camera_attr_set_contrast(camera_h camera, int level);
2879 * @brief Gets the contrast level.
2880 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2881 * @param[in] camera The handle to the camera
2882 * @param[out] level The contrast level
2883 * @return @c 0 on success, otherwise a negative error value
2884 * @retval #CAMERA_ERROR_NONE Successful
2885 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2886 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2887 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2888 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2889 * @see camera_attr_set_contrast()
2890 * @see camera_attr_get_contrast_range()
2892 int camera_attr_get_contrast(camera_h camera, int *level);
2895 * @brief Gets the available contrast level.
2896 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2897 * @remarks If the min value is greater than the max value, it means that this feature is not supported.
2898 * @param[in] camera The handle to the camera
2899 * @param[out] min The minimum contrast level
2900 * @param[out] max The maximum contrast level
2901 * @return @c 0 on success, otherwise a negative error value
2902 * @retval #CAMERA_ERROR_NONE Successful
2903 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2904 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2905 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2906 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2907 * @see camera_attr_set_contrast()
2908 * @see camera_attr_get_contrast()
2910 int camera_attr_get_contrast_range(camera_h camera, int *min, int *max);
2913 * @brief Sets the hue level.
2915 * @param[in] camera The handle to the camera
2916 * @param[in] level The hue level
2917 * @return @c 0 on success, otherwise a negative error value
2918 * @retval #CAMERA_ERROR_NONE Successful
2919 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2920 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2921 * @see camera_attr_get_hue()
2922 * @see camera_attr_get_hue_range()
2924 int camera_attr_set_hue(camera_h camera, int level);
2927 * @brief Gets the hue level.
2929 * @param[in] camera The handle to the camera
2930 * @param[out] level The hue level
2931 * @return @c 0 on success, otherwise a negative error value
2932 * @retval #CAMERA_ERROR_NONE Successful
2933 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2934 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2935 * @see camera_attr_set_hue()
2936 * @see camera_attr_get_hue_range()
2938 int camera_attr_get_hue(camera_h camera, int *level);
2941 * @brief Gets the available hue level.
2943 * @remarks If the min value is greater than the max value, it means that this feature is not supported.
2944 * @param[in] camera The handle to the camera
2945 * @param[out] min The minimum hue level
2946 * @param[out] max The maximum hue level
2947 * @return @c 0 on success, otherwise a negative error value
2948 * @retval #CAMERA_ERROR_NONE Successful
2949 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2950 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2951 * @see camera_attr_set_hue()
2952 * @see camera_attr_get_hue()
2954 int camera_attr_get_hue_range(camera_h camera, int *min, int *max);
2957 * @brief Sets the white balance mode.
2958 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2959 * @param[in] camera The handle to the camera
2960 * @param[in] whitebalance The white balance mode
2961 * @return @c 0 on success, otherwise a negative error value
2962 * @retval #CAMERA_ERROR_NONE Successful
2963 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2964 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
2965 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2966 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2967 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2968 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
2969 * @see camera_attr_foreach_supported_whitebalance()
2970 * @see camera_attr_get_whitebalance()
2972 int camera_attr_set_whitebalance(camera_h camera, camera_attr_whitebalance_e whitebalance);
2975 * @brief Gets the white balance mode.
2976 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
2977 * @param[in] camera The handle to the camera
2978 * @param[out] whitebalance The white balance mode
2979 * @return @c 0 on success, otherwise a negative error value
2980 * @retval #CAMERA_ERROR_NONE Successful
2981 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
2982 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
2983 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
2984 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
2985 * @see camera_attr_foreach_supported_whitebalance()
2986 * @see camera_attr_set_whitebalance()
2988 int camera_attr_get_whitebalance(camera_h camera, camera_attr_whitebalance_e *whitebalance);
2995 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3000 * @brief Retrieves all supported white balances by invoking the callback function once for each supported white balance.
3001 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3002 * @param[in] camera The handle to the camera
3003 * @param[in] callback The callback function to be invoked
3004 * @param[in] user_data The user data to be passed to the callback function
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 * @post This function invokes camera_attr_supported_whitebalance_cb() to get all the supported white balances.
3012 * @see camera_attr_set_whitebalance()
3013 * @see camera_attr_get_whitebalance()
3014 * @see camera_attr_supported_whitebalance_cb()
3016 int camera_attr_foreach_supported_whitebalance(camera_h camera, camera_attr_supported_whitebalance_cb callback, void *user_data);
3023 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
3028 * @brief Sets the camera effect mode.
3029 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3030 * @param[in] camera The handle to the camera
3031 * @param[in] effect The camera effect mode
3032 * @return @c 0 on success, otherwise a negative error value
3033 * @retval #CAMERA_ERROR_NONE Successful
3034 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3035 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3036 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3037 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3038 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3039 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
3040 * @see camera_attr_foreach_supported_effect()
3041 * @see camera_attr_get_effect()
3043 int camera_attr_set_effect(camera_h camera, camera_attr_effect_mode_e effect);
3047 * @brief Gets the camera effect mode.
3048 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3049 * @param[in] camera The handle to the camera
3050 * @param[out] effect The camera effect mode
3051 * @return @c 0 on success, otherwise a negative error value
3052 * @retval #CAMERA_ERROR_NONE Successful
3053 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3054 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3055 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3056 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3057 * @see camera_attr_foreach_supported_effect()
3058 * @see camera_attr_set_effect()
3060 int camera_attr_get_effect(camera_h camera, camera_attr_effect_mode_e *effect);
3067 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3072 * @brief Retrieves all supported effect modes by invoking the callback function once for each supported effect mode.
3073 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3074 * @param[in] camera The handle to the camera
3075 * @param[in] callback The callback function to invoke
3076 * @param[in] user_data The user data to be passed to the callback function
3077 * @return @c 0 on success, otherwise a negative error value
3078 * @retval #CAMERA_ERROR_NONE Successful
3079 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3080 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3081 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3082 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3083 * @post This function invokes camera_attr_supported_effect_cb() to get all the supported effect modes.
3084 * @see camera_attr_set_effect()
3085 * @see camera_attr_get_effect()
3086 * @see camera_attr_supported_effect_cb()
3088 int camera_attr_foreach_supported_effect(camera_h camera, camera_attr_supported_effect_cb callback, void *user_data);
3095 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
3100 * @brief Sets the scene mode.
3101 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3102 * @param[in] camera The handle to the camera
3103 * @param[in] mode The scene mode
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_INVALID_STATE Invalid state
3108 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3109 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3110 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3111 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
3112 * @see camera_attr_foreach_supported_scene_mode()
3113 * @see camera_attr_get_scene_mode()
3115 int camera_attr_set_scene_mode(camera_h camera, camera_attr_scene_mode_e mode);
3118 * @brief Gets the scene mode.
3119 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3120 * @param[in] camera The handle to the camera
3121 * @param[out] mode The scene mode
3122 * @return @c 0 on success, otherwise a negative error value
3123 * @retval #CAMERA_ERROR_NONE Successful
3124 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3125 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3126 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3127 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3128 * @see camera_attr_foreach_supported_scene_mode()
3129 * @see camera_attr_set_scene_mode()
3131 int camera_attr_get_scene_mode(camera_h camera, camera_attr_scene_mode_e *mode);
3138 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3143 * @brief Retrieves all supported scene modes by invoking the callback function once for each supported scene mode.
3144 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3145 * @param[in] camera The handle to the camera
3146 * @param[in] callback The callback function to invoke
3147 * @param[in] user_data The user data to be passed to the callback function
3148 * @return @c 0 on success, otherwise a negative error value
3149 * @retval #CAMERA_ERROR_NONE Successful
3150 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3151 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3152 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3153 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3154 * @post This function invokes camera_attr_supported_scene_mode_cb() to get all the supported scene modes.
3155 * @see camera_attr_set_scene_mode()
3156 * @see camera_attr_get_scene_mode()
3157 * @see camera_attr_supported_scene_mode_cb()
3159 int camera_attr_foreach_supported_scene_mode(camera_h camera, camera_attr_supported_scene_mode_cb callback, void *user_data);
3166 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
3171 * @brief Enables to write EXIF(Exchangeable image file format) tags in a JPEG file.
3172 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3173 * @param[in] camera The handle to the camera
3174 * @param[in] enable If @c true writing EXIF tags in a JPEG file is enabled, otherwise @c false
3175 * @return @c 0 on success, otherwise a negative error value
3176 * @retval #CAMERA_ERROR_NONE Successful
3177 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3178 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3179 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3180 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3181 * @see camera_attr_is_enabled_tag()
3183 int camera_attr_enable_tag(camera_h camera, bool enable);
3186 * @brief Gets the value that indicates whether writing EXIF(Exchangeable image file format) tags in a JPEG file is enabled.
3187 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3188 * @param[in] camera The handle to the camera
3189 * @param[out] enabled If @c true camera information is enabled, otherwise @c false
3190 * @return @c 0 on success, otherwise a negative error value
3191 * @retval #CAMERA_ERROR_NONE Successful
3192 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3193 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3194 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3195 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3196 * @see camera_attr_enable_tag()
3198 int camera_attr_is_enabled_tag(camera_h camera, bool *enabled);
3201 * @brief Sets the camera image description in the EXIF(Exchangeable image file format) tag.
3202 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3203 * @param[in] camera The handle to the camera
3204 * @param[in] description The string with description
3205 * @return @c 0 on success, otherwise a negative error value
3206 * @retval #CAMERA_ERROR_NONE Successful
3207 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3208 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3209 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3210 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3211 * @see camera_attr_get_tag_image_description()
3213 int camera_attr_set_tag_image_description(camera_h camera, const char *description);
3216 * @brief Gets the camera image description in EXIF(Exchangeable image file format) tag.
3217 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3218 * @remarks You must release @a description using free().
3219 * @param[in] camera The handle to the camera
3220 * @param[out] description A pointer to a string
3221 * @return @c 0 on success, otherwise a negative error value
3222 * @retval #CAMERA_ERROR_NONE Successful
3223 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3224 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3225 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3226 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3227 * @see camera_attr_set_tag_image_description()
3229 int camera_attr_get_tag_image_description(camera_h camera, char **description);
3232 * @brief Sets the camera orientation in the EXIF(Exchangeable image file format) tag.
3233 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3234 * @param[in] camera The handle to the camera
3235 * @param[in] orientation The camera orientation
3236 * @return @c 0 on success, otherwise a negative error value
3237 * @retval #CAMERA_ERROR_NONE Successful
3238 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3239 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3240 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3241 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3242 * @see camera_attr_get_tag_orientation()
3244 int camera_attr_set_tag_orientation(camera_h camera, camera_attr_tag_orientation_e orientation);
3247 * @brief Gets the camera orientation in the EXIF(Exchangeable image file format) tag.
3248 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3249 * @param[in] camera The handle to the camera
3250 * @param[out] orientation The camera orientation
3251 * @return @c 0 on success, otherwise a negative error value
3252 * @retval #CAMERA_ERROR_NONE Successful
3253 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3254 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3255 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3256 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3257 * @see camera_attr_set_tag_orientation()
3259 int camera_attr_get_tag_orientation(camera_h camera, camera_attr_tag_orientation_e *orientation);
3262 * @brief Sets the software information in the EXIF(Exchangeable image file format) tag.
3263 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3264 * @param[in] camera The handle to the camera
3265 * @param[in] software The software information tag
3266 * @return @c 0 on success, otherwise a negative error value
3267 * @retval #CAMERA_ERROR_NONE Successful
3268 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3269 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3270 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3271 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3272 * @see camera_attr_get_tag_software()
3274 int camera_attr_set_tag_software(camera_h camera, const char *software);
3277 * @brief Gets the software information in the EXIF(Exchangeable image file format) tag.
3278 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3279 * @remarks You must release @a software using free().
3280 * @param[in] camera The handle to the camera
3281 * @param[out] software A pointer to a string
3282 * @return @c 0 on success, otherwise a negative error value
3283 * @retval #CAMERA_ERROR_NONE Successful
3284 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3285 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3286 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3287 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3288 * @see camera_attr_set_tag_software()
3290 int camera_attr_get_tag_software(camera_h camera, char **software);
3293 * @brief Sets the geotag(GPS data) in the EXIF(Exchangeable image file format) tag.
3294 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3295 * @param[in] camera The handle to the camera
3296 * @param[in] latitude The latitude data
3297 * @param[in] longitude The longitude data
3298 * @param[in] altitude The altitude data
3299 * @return @c 0 on success, otherwise a negative error value
3300 * @retval #CAMERA_ERROR_NONE Successful
3301 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3302 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3303 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3304 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3305 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3306 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
3307 * @see camera_attr_get_geotag()
3308 * @see camera_attr_remove_geotag()
3310 int camera_attr_set_geotag(camera_h camera, double latitude, double longitude, double altitude);
3313 * @brief Gets the geotag(GPS data) in the EXIF(Exchangeable image file format) tag.
3314 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3315 * @param[in] camera The handle to the camera
3316 * @param[out] latitude The latitude data
3317 * @param[out] longitude The longitude data
3318 * @param[out] altitude The altitude data
3319 * @return @c 0 on success, otherwise a negative error value
3320 * @retval #CAMERA_ERROR_NONE Successful
3321 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3322 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3323 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3324 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3325 * @see camera_attr_set_geotag()
3326 * @see camera_attr_remove_geotag()
3328 int camera_attr_get_geotag(camera_h camera, double *latitude, double *longitude, double *altitude);
3331 * @brief Removes the geotag(GPS data) in the EXIF(Exchangeable image file format) tag.
3332 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3333 * @param[in] camera The handle to the camera
3334 * @return @c 0 on success, otherwise a negative error value
3335 * @retval #CAMERA_ERROR_NONE Successful
3336 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3337 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3338 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3339 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3340 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3341 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
3342 * @see camera_attr_set_geotag()
3343 * @see camera_attr_get_geotag()
3345 int camera_attr_remove_geotag(camera_h camera);
3348 * @brief Sets the camera's flash mode.
3349 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3350 * @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
3351 * then this function returns #CAMERA_ERROR_DEVICE_BUSY error.
3352 * @param[in] camera The handle to the camera
3353 * @param[in] mode The flash mode
3354 * @return @c 0 on success, otherwise a negative error value
3355 * @retval #CAMERA_ERROR_NONE Successful
3356 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3357 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3358 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3359 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3360 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3361 * @retval #CAMERA_ERROR_DEVICE_BUSY The flash was preempted by other API
3362 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
3363 * @see camera_attr_foreach_supported_flash_mode()
3364 * @see camera_attr_get_flash_mode()
3366 int camera_attr_set_flash_mode(camera_h camera, camera_attr_flash_mode_e mode);
3369 * @brief Gets the camera's flash mode.
3370 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3371 * @param[in] camera The handle to the camera
3372 * @param[out] mode The flash mode
3373 * @return @c 0 on success, otherwise a negative error value
3374 * @retval #CAMERA_ERROR_NONE Successful
3375 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3376 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3377 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3378 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3379 * @see camera_attr_foreach_supported_flash_mode()
3380 * @see camera_attr_set_flash_mode()
3382 int camera_attr_get_flash_mode(camera_h camera, camera_attr_flash_mode_e *mode);
3389 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3394 * @brief Retrieves all supported flash modes by invoking the callback function once for each supported flash mode.
3395 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3396 * @param[in] camera The handle to the camera
3397 * @param[in] callback The callback function to invoke
3398 * @param[in] user_data The user data passed to the callback registration function
3399 * @return @c 0 on success, otherwise a negative error value
3400 * @retval #CAMERA_ERROR_NONE Successful
3401 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3402 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3403 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3404 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3405 * @post This function invokes camera_attr_supported_flash_mode_cb() to get all supported flash modes.
3406 * @see camera_attr_set_flash_mode()
3407 * @see camera_attr_get_flash_mode()
3408 * @see camera_attr_supported_flash_mode_cb()
3410 int camera_attr_foreach_supported_flash_mode(camera_h camera, camera_attr_supported_flash_mode_cb callback, void *user_data);
3417 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
3422 * @brief Gets the camera len's orientation angle.
3423 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3424 * @param[in] camera The handle to the camera
3425 * @param[out] angle The orientation angle
3426 * @return @c 0 on success, otherwise a negative error value
3427 * @retval #CAMERA_ERROR_NONE Successful
3428 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3429 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3430 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3431 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3432 * @see camera_set_display_rotation()
3434 int camera_attr_get_lens_orientation(camera_h camera, int *angle);
3437 * @brief Sets the stream rotation.
3438 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3439 * @param[in] camera The handle to the camera
3440 * @param[in] rotation The stream rotation
3441 * @return @c 0 on success, otherwise a negative error value
3442 * @retval #CAMERA_ERROR_NONE Successful
3443 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3444 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3445 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3446 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3447 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
3448 * @see camera_attr_get_stream_rotation()
3450 int camera_attr_set_stream_rotation(camera_h camera, camera_rotation_e rotation);
3453 * @brief Gets the stream rotation.
3454 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3455 * @param[in] camera The handle to the camera
3456 * @param[out] rotation The stream rotation
3457 * @return @c 0 on success, otherwise a negative error value
3458 * @retval #CAMERA_ERROR_NONE Successful
3459 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3460 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3461 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3462 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3463 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
3464 * @see camera_attr_set_stream_rotation()
3466 int camera_attr_get_stream_rotation(camera_h camera, camera_rotation_e *rotation);
3473 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3478 * @brief Retrieves all supported stream rotation modes by invoking callback function once for each supported stream rotation mode.
3479 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3480 * @param[in] camera The handle to the camera
3481 * @param[in] callback The callback function to invoke
3482 * @param[in] user_data The user data to be passed to the callback function
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_PERMISSION_DENIED The access to the resources can not be granted
3487 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3488 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3489 * @post This function invokes camera_attr_supported_stream_rotation_cb() to get all supported stream rotation mode.
3490 * @see camera_attr_set_stream_rotation()
3491 * @see camera_attr_get_stream_rotation()
3492 * @see camera_attr_supported_stream_rotation_cb()
3494 int camera_attr_foreach_supported_stream_rotation(camera_h camera, camera_attr_supported_stream_rotation_cb callback, void *user_data);
3501 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
3506 * @brief Sets the stream flip.
3507 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3508 * @param[in] camera The handle to the camera
3509 * @param[in] flip The stream flip
3510 * @return @c 0 on success, otherwise a negative error value
3511 * @retval #CAMERA_ERROR_NONE Successful
3512 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3513 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3514 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3515 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3516 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3517 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
3518 * @see camera_attr_set_stream_rotation()
3520 int camera_attr_set_stream_flip(camera_h camera, camera_flip_e flip);
3523 * @brief Gets the stream flip.
3524 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3525 * @param[in] camera The handle to the camera
3526 * @param[out] flip The stream flip
3527 * @return @c 0 on success, otherwise a negative error value
3528 * @retval #CAMERA_ERROR_NONE Successful
3529 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3530 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3531 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3532 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3533 * @pre The camera state must be set to #CAMERA_STATE_CREATED.
3534 * @see camera_attr_set_stream_rotation()
3536 int camera_attr_get_stream_flip(camera_h camera, camera_flip_e *flip);
3543 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3548 * @brief Retrieves all supported stream flip modes by invoking callback function once for each supported stream flip mode.
3549 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3550 * @param[in] camera The handle to the camera
3551 * @param[in] callback The callback function to invoke
3552 * @param[in] user_data The user data to be passed to the callback function
3553 * @return @c 0 on success, otherwise a negative error value
3554 * @retval #CAMERA_ERROR_NONE Successful
3555 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3556 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3557 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3558 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3559 * @post This function invokes camera_attr_supported_stream_flip_cb() to get all supported stream flip mode.
3560 * @see camera_attr_set_stream_flip()
3561 * @see camera_attr_get_stream_flip()
3562 * @see camera_attr_supported_stream_flip_cb()
3564 int camera_attr_foreach_supported_stream_flip(camera_h camera, camera_attr_supported_stream_flip_cb callback, void *user_data);
3571 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
3576 * @brief Called when the HDR capture process is updated.
3577 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3578 * @param[in] percent The progress percentage of HDR capture
3579 * @param[in] user_data The user data passed from the callback registration function
3580 * @pre camera_start_capture() will invoke this callback if you register it using camera_attr_set_hdr_capture_progress_cb().
3581 * @see camera_attr_get_hdr_mode()
3582 * @see camera_attr_set_hdr_capture_progress_cb()
3583 * @see camera_attr_unset_hdr_capture_progress_cb()
3584 * @see camera_attr_is_supported_hdr_capture()
3586 typedef void (*camera_attr_hdr_progress_cb)(int percent, void *user_data);
3589 * @brief Sets the mode of HDR(High dynamic range) capture.
3590 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3591 * @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
3592 * If this attribute is set to @c true. camera_attr_hdr_progress_cb() is invoked during capture.\n
3593 * 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.
3594 * @param[in] camera The handle to the camera
3595 * @param[in] mode The mode of HDR capture
3596 * @return @c 0 on success, otherwise a negative error value
3597 * @retval #CAMERA_ERROR_NONE Successful
3598 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3599 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
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 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
3604 * @see camera_attr_get_hdr_mode()
3605 * @see camera_attr_set_hdr_capture_progress_cb()
3606 * @see camera_attr_unset_hdr_capture_progress_cb()
3607 * @see camera_attr_is_supported_hdr_capture()
3610 int camera_attr_set_hdr_mode(camera_h camera, camera_attr_hdr_mode_e mode);
3613 * @brief Gets the mode of HDR(High dynamic range) capture.
3614 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3615 * @param[in] camera The handle to the camera
3616 * @param[out] mode The mode of HDR capture
3617 * @return @c 0 on success, otherwise a negative error value
3618 * @retval #CAMERA_ERROR_NONE Successful
3619 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3620 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3621 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3622 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3623 * @see camera_attr_set_hdr_mode()
3624 * @see camera_attr_set_hdr_capture_progress_cb()
3625 * @see camera_attr_unset_hdr_capture_progress_cb()
3626 * @see camera_attr_is_supported_hdr_capture()
3628 int camera_attr_get_hdr_mode(camera_h camera, camera_attr_hdr_mode_e *mode);
3631 * @brief Registers a callback function to be called when HDR capture is progressing.
3632 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3633 * @remarks This callback notifies progress of the HDR process.
3634 * @param[in] camera The handle to the camera
3635 * @param[in] callback The callback function to invoke
3636 * @param[in] user_data The user data passed to the callback registration function
3637 * @return @c 0 on success, otherwise a negative error value
3638 * @retval #CAMERA_ERROR_NONE Successful
3639 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3640 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3641 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3642 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3643 * @see camera_attr_set_hdr_mode()
3644 * @see camera_attr_get_hdr_mode()
3645 * @see camera_attr_unset_hdr_capture_progress_cb()
3646 * @see camera_attr_is_supported_hdr_capture()
3648 int camera_attr_set_hdr_capture_progress_cb(camera_h camera, camera_attr_hdr_progress_cb callback, void* user_data);
3651 * @brief Unregisters the callback function.
3652 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3653 * @param[in] camera The handle to the camera
3654 * @return @c 0 on success, otherwise a negative error value
3655 * @retval #CAMERA_ERROR_NONE Successful
3656 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3657 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3658 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3659 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3660 * @see camera_attr_set_hdr_mode()
3661 * @see camera_attr_get_hdr_mode()
3662 * @see camera_attr_set_hdr_capture_progress_cb()
3663 * @see camera_attr_is_supported_hdr_capture()
3665 int camera_attr_unset_hdr_capture_progress_cb(camera_h camera);
3668 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3669 * @brief Gets the support state of HDR capture.
3670 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3671 * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
3672 * @param[in] camera The handle to the camera
3673 * @return @c true if supported, otherwise @c false
3674 * @exception #CAMERA_ERROR_NONE Successful
3675 * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3676 * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3677 * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3678 * @see camera_attr_set_hdr_mode()
3679 * @see camera_attr_get_hdr_mode()
3680 * @see camera_attr_set_hdr_capture_progress_cb()
3681 * @see camera_attr_unset_hdr_capture_progress_cb()
3683 bool camera_attr_is_supported_hdr_capture(camera_h camera);
3686 * @brief Enables/Disables the anti-shake feature.
3687 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3688 * @remarks This feature is used for image capture.
3689 * @param[in] camera The handle to the camera
3690 * @param[in] enable If @c true the anti-shake feature is enabled, otherwise @c false
3691 * @return @c 0 on success, otherwise a negative error value
3692 * @retval #CAMERA_ERROR_NONE Successful
3693 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3694 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3695 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3696 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3697 * @see camera_attr_is_enabled_anti_shake()
3698 * @see camera_attr_is_supported_anti_shake()
3701 int camera_attr_enable_anti_shake(camera_h camera, bool enable);
3704 * @brief Gets the state of the anti-shake feature.
3705 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3706 * @param[in] camera The handle to the camera
3707 * @param[out] enabled The state of anti-shake
3708 * @return @c 0 on success, otherwise a negative error value
3709 * @retval #CAMERA_ERROR_NONE Successful
3710 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3711 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3712 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3713 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3714 * @see camera_attr_enable_anti_shake()
3715 * @see camera_attr_is_supported_anti_shake()
3717 int camera_attr_is_enabled_anti_shake(camera_h camera, bool *enabled);
3720 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3721 * @brief Gets the support state of the anti-shake feature.
3722 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3723 * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
3724 * @param[in] camera The handle to the camera
3725 * @return @c true if supported, otherwise @c false
3726 * @exception #CAMERA_ERROR_NONE Successful
3727 * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3728 * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3729 * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3730 * @see camera_attr_enable_anti_shake()
3731 * @see camera_attr_is_enabled_anti_shake()
3733 bool camera_attr_is_supported_anti_shake(camera_h camera);
3736 * @brief Enables/Disables the video stabilization feature.
3737 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3738 * @remarks If video stabilization is enabled, zero shutter lag is disabled.\n
3739 * This feature is used to record a video.
3740 * @param[in] camera The handle to the camera
3741 * @param[in] enable If @c true video stabilization is enabled, otherwise @c false
3742 * @return @c 0 on success, otherwise a negative error value
3743 * @retval #CAMERA_ERROR_NONE Successful
3744 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3745 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3746 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3747 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3748 * @see camera_attr_is_enabled_video_stabilization()
3749 * @see camera_attr_is_supported_video_stabilization()
3752 int camera_attr_enable_video_stabilization(camera_h camera, bool enable);
3755 * @brief Gets the state of the video stabilization feature.
3756 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3757 * @param[in] camera The handle to the camera
3758 * @param[out] enabled The state of video stabilization
3759 * @return @c 0 on success, otherwise a negative error value
3760 * @retval #CAMERA_ERROR_NONE Successful
3761 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3762 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3763 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3764 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3765 * @see camera_attr_enable_video_stabilization()
3766 * @see camera_attr_is_supported_video_stabilization()
3768 int camera_attr_is_enabled_video_stabilization(camera_h camera, bool *enabled);
3771 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3772 * @brief Gets the support state of the video stabilization feature.
3773 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3774 * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
3775 * @param[in] camera The handle to the camera
3776 * @return @c true if supported, otherwise @c false
3777 * @exception #CAMERA_ERROR_NONE Successful
3778 * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3779 * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3780 * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3781 * @see camera_attr_enable_video_stabilization()
3782 * @see camera_attr_is_enabled_video_stabilization()
3784 bool camera_attr_is_supported_video_stabilization(camera_h camera);
3787 * @brief Enables/Disables auto contrast.
3788 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3789 * @param[in] camera The handle to the camera
3790 * @param[in] enable If @c true auto contrast is enabled, otherwise @c false
3791 * @return @c 0 on success, otherwise a negative error value
3792 * @retval #CAMERA_ERROR_NONE Successful
3793 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3794 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3795 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3796 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3797 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3798 * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW.
3799 * @see camera_attr_is_enabled_auto_contrast()
3801 int camera_attr_enable_auto_contrast(camera_h camera, bool enable);
3804 * @brief Gets the state of auto contrast.
3805 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3806 * @param[in] camera The handle to the camera
3807 * @param[out] enabled The state of auto contrast
3808 * @return @c 0 on success, otherwise a negative error value
3809 * @retval #CAMERA_ERROR_NONE Successful
3810 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3811 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3812 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3813 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3814 * @see camera_attr_enable_auto_contrast()
3816 int camera_attr_is_enabled_auto_contrast(camera_h camera, bool *enabled);
3823 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3828 * @brief Gets state of support of auto contrast feature.
3829 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
3830 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3831 * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
3832 * @param[in] camera The handle to the camera
3833 * @return true on supported, otherwise false
3834 * @exception #CAMERA_ERROR_NONE Successful
3835 * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3836 * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3837 * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3838 * @see camera_attr_enable_auto_contrast()
3839 * @see camera_attr_is_enabled_auto_contrast()
3841 bool camera_attr_is_supported_auto_contrast(camera_h camera);
3848 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
3853 * @brief Disables shutter sound.
3854 * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
3855 * @remarks In some countries, this operation is not permitted.
3856 * @param[in] camera The handle to the camera
3857 * @param[in] disable If @c true shutter sound is disabled, otherwise @c false
3858 * @return @c 0 on success, otherwise a negative error value
3859 * @retval #CAMERA_ERROR_NONE Successful
3860 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3861 * @retval #CAMERA_ERROR_INVALID_OPERATION Disabling shutter sound is not permitted
3862 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
3863 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3864 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3866 int camera_attr_disable_shutter_sound(camera_h camera, bool disable);
3869 * @brief Sets the position to move horizontally.
3871 * @param[in] camera The handle to the camera
3872 * @param[in] move_type The PTZ(Pan Tilt Zoom) move type
3873 * @param[in] pan_step The step to move the camera
3874 * @return @c 0 on success, otherwise a negative error value
3875 * @retval #CAMERA_ERROR_NONE Successful
3876 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3877 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3878 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3879 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3880 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3881 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
3882 * @see camera_attr_get_pan()
3883 * @see camera_attr_get_pan_range()
3885 int camera_attr_set_pan(camera_h camera, camera_attr_ptz_move_type_e move_type, int pan_step);
3888 * @brief Gets the current position of the camera.
3890 * @param[in] camera The handle to the camera
3891 * @param[out] pan_step The current horizontal distance from the starting point.
3892 * @return @c 0 on success, otherwise a negative error value
3893 * @retval #CAMERA_ERROR_NONE Successful
3894 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3895 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3896 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3897 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3898 * @see camera_attr_set_pan()
3899 * @see camera_attr_get_pan_range()
3901 int camera_attr_get_pan(camera_h camera, int *pan_step);
3904 * @brief Gets lower limit and upper limit for pan position.
3906 * @remarks If the min value is greater than the max value, it means that this feature is not supported.
3907 * @param[in] camera The handle to the camera
3908 * @param[out] min The lower limit for pan
3909 * @param[out] max The upper limit for pan
3910 * @return @c 0 on success, otherwise a negative error value
3911 * @retval #CAMERA_ERROR_NONE Successful
3912 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3913 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3914 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3915 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3916 * @see camera_attr_set_pan()
3917 * @see camera_attr_get_pan()
3919 int camera_attr_get_pan_range(camera_h camera, int *min, int *max);
3922 * @brief Sets the position to move vertically.
3924 * @param[in] camera The handle to the camera
3925 * @param[in] move_type The PTZ(Pan Tilt Zoom) move type
3926 * @param[in] tilt_step The step to move the camera
3927 * @return @c 0 on success, otherwise a negative error value
3928 * @retval #CAMERA_ERROR_NONE Successful
3929 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3930 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3931 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3932 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3933 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3934 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
3935 * @see camera_attr_get_tilt()
3936 * @see camera_attr_get_tilt_range()
3938 int camera_attr_set_tilt(camera_h camera, camera_attr_ptz_move_type_e move_type, int tilt_step);
3941 * @brief Gets the current position of the camera.
3943 * @param[in] camera The handle to the camera
3944 * @param[out] tilt_step The current vertical distance from the starting point.
3945 * @return @c 0 on success, otherwise a negative error value
3946 * @retval #CAMERA_ERROR_NONE Successful
3947 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3948 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3949 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3950 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3951 * @see camera_attr_set_tilt()
3952 * @see camera_attr_get_tilt_range()
3954 int camera_attr_get_tilt(camera_h camera, int *tilt_step);
3957 * @brief Gets lower limit and upper limit for tilt position.
3959 * @remarks If the min value is greater than the max value, it means that this feature is not supported.
3960 * @param[in] camera The handle to the camera
3961 * @param[out] min The lower limit for tilt
3962 * @param[out] max The upper limit for tilt
3963 * @return @c 0 on success, otherwise a negative error value
3964 * @retval #CAMERA_ERROR_NONE Successful
3965 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3966 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3967 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3968 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3969 * @see camera_attr_set_tilt()
3970 * @see camera_attr_get_tilt()
3972 int camera_attr_get_tilt_range(camera_h camera, int *min, int *max);
3975 * @brief Sets the type of PTZ(Pan Tilt Zoom).
3977 * @param[in] camera The handle to the camera
3978 * @param[in] ptz_type PTZ type
3979 * @return @c 0 on success, otherwise a negative error value
3980 * @retval #CAMERA_ERROR_NONE Successful
3981 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
3982 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
3983 * @retval #CAMERA_ERROR_INVALID_STATE Invalid state
3984 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
3985 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
3986 * @pre The camera state must be set to #CAMERA_STATE_PREVIEW.
3987 * @see camera_attr_get_pan()
3988 * @see camera_attr_set_pan()
3989 * @see camera_attr_get_pan_range()
3990 * @see camera_attr_get_tilt()
3991 * @see camera_attr_set_tilt()
3992 * @see camera_attr_get_tilt_range()
3993 * @see camera_attr_foreach_supported_ptz_type()
3995 int camera_attr_set_ptz_type(camera_h camera, camera_attr_ptz_type_e ptz_type);
4002 * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
4007 * @brief Retrieves all supported PTZ(Pan Tilt Zoom) types by invoking callback function once for each supported ptz type.
4009 * @param[in] camera The handle to the camera
4010 * @param[in] callback The callback function to invoke
4011 * @param[in] user_data The user data to be passed to the callback function
4012 * @return @c 0 on success, otherwise a negative error value
4013 * @retval #CAMERA_ERROR_NONE Successful
4014 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
4015 * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted
4016 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
4017 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
4018 * @post This function invokes camera_attr_supported_ptz_type_cb() to get all supported ptz type.
4019 * @see camera_attr_set_ptz_type()
4021 int camera_attr_foreach_supported_ptz_type(camera_h camera, camera_attr_supported_ptz_type_cb callback, void *user_data);
4028 * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE
4033 * @brief Sets the ROI(Region Of Interest) area of display.
4035 * @remarks If no display is set, no operation is performed and
4036 * the ROI area is valid only in #CAMERA_DISPLAY_MODE_CUSTOM_ROI display mode.
4037 * @remarks The minimum value of width and height are 1.
4038 * @remarks ROI area can be set before setting ROI display mode. (since 4.0)
4039 * @param[in] camera The handle to the camera
4040 * @param[in] x X coordinate of area
4041 * @param[in] y Y coordinate of area
4042 * @param[in] width Width of area
4043 * @param[in] height Height of area
4044 * @return @c 0 on success, otherwise a negative error value
4045 * @retval #CAMERA_ERROR_NONE Successful
4046 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
4047 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
4048 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
4049 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
4050 * @see camera_attr_get_display_roi_area()
4052 int camera_attr_set_display_roi_area(camera_h camera, int x, int y, int width, int height);
4055 * @brief Gets the ROI(Region Of Interest) area of display.
4057 * @param[in] camera The handle to the camera
4058 * @param[out] x X coordinate of area
4059 * @param[out] y Y coordinate of area
4060 * @param[out] width Width of area
4061 * @param[out] height Height of area
4062 * @return @c 0 on success, otherwise a negative error value
4063 * @retval #CAMERA_ERROR_NONE Successful
4064 * @retval #CAMERA_ERROR_INVALID_OPERATION Internal error
4065 * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter
4066 * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported
4067 * @retval #CAMERA_ERROR_SERVICE_DISCONNECTED The socket to multimedia server is disconnected
4068 * @see camera_attr_set_display_roi_area()
4070 int camera_attr_get_display_roi_area(camera_h camera, int *x, int *y, int *width, int *height);
4079 #endif /* __TIZEN_MULTIMEDIA_CAMERA_H__ */