diff options
Diffstat (limited to 'include/camera.h')
-rw-r--r--[-rwxr-xr-x] | include/camera.h | 3395 |
1 files changed, 1889 insertions, 1506 deletions
diff --git a/include/camera.h b/include/camera.h index 0261436..8c730f1 100755..100644 --- a/include/camera.h +++ b/include/camera.h @@ -14,35 +14,32 @@ * limitations under the License. */ - - #ifndef __TIZEN_MULTIMEDIA_CAMERA_H__ #define __TIZEN_MULTIMEDIA_CAMERA_H__ #include <tizen.h> +#include <media_packet.h> #ifdef __cplusplus extern "C" { #endif - -#define CAMERA_ERROR_CLASS TIZEN_ERROR_MULTIMEDIA_CLASS | 0x00 - - /** * @file camera.h - * @brief This file contains the Camera API, related structures and enumerations + * @brief This file contains the Camera API, related structures and enumerations. + * @since_tizen 2.3 */ - /** * @addtogroup CAPI_MEDIA_CAMERA_MODULE * @{ */ +#define CAMERA_ERROR_CLASS TIZEN_ERROR_CAMERA | 0x00 /** - * @brief Enumerations of the error code for Camera. + * @brief Enumeration for the error codes of Camera. + * @since_tizen 2.3 */ typedef enum { @@ -54,28 +51,31 @@ typedef enum CAMERA_ERROR_INVALID_OPERATION = TIZEN_ERROR_INVALID_OPERATION, /**< Internal error */ CAMERA_ERROR_SOUND_POLICY = CAMERA_ERROR_CLASS | 0x06, /**< Blocked by Audio Session Manager */ CAMERA_ERROR_SECURITY_RESTRICTED = CAMERA_ERROR_CLASS | 0x07, /**< Restricted by security system policy */ - CAMERA_ERROR_DEVICE_BUSY = CAMERA_ERROR_CLASS | 0x08, /**< The device is using in other applications or working some operation */ + CAMERA_ERROR_DEVICE_BUSY = CAMERA_ERROR_CLASS | 0x08, /**< The device is using another application or working on some operation */ CAMERA_ERROR_DEVICE_NOT_FOUND = CAMERA_ERROR_CLASS | 0x09, /**< No camera device */ CAMERA_ERROR_SOUND_POLICY_BY_CALL = CAMERA_ERROR_CLASS | 0x0a, /**< Blocked by Audio Session Manager - CALL */ CAMERA_ERROR_SOUND_POLICY_BY_ALARM = CAMERA_ERROR_CLASS | 0x0b, /**< Blocked by Audio Session Manager - ALARM */ + CAMERA_ERROR_ESD = CAMERA_ERROR_CLASS | 0x0c, /**< ESD situation */ + CAMERA_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED, /**< The access to the resources can not be granted*/ + CAMERA_ERROR_NOT_SUPPORTED = TIZEN_ERROR_NOT_SUPPORTED, /**< The feature is not supported */ } camera_error_e; - /** - * @brief Enumerations of the camera state. + * @brief Enumeration for the camera state. + * @since_tizen 2.3 */ typedef enum { - CAMERA_STATE_NONE, /**< Before create */ + CAMERA_STATE_NONE, /**< Before creating */ CAMERA_STATE_CREATED, /**< Created, but not initialized yet */ CAMERA_STATE_PREVIEW, /**< Preview */ CAMERA_STATE_CAPTURING, /**< While capturing */ CAMERA_STATE_CAPTURED /**< After capturing */ } camera_state_e; - /** - * @brief Enumerations of the camera device. + * @brief Enumeration for the camera device. + * @since_tizen 2.3 */ typedef enum { @@ -83,13 +83,13 @@ typedef enum CAMERA_DEVICE_CAMERA1 /**< Secondary camera */ } camera_device_e; - /** - * @brief Enumerations of the camera pixel format. + * @brief Enumeration for the camera pixel format. + * @since_tizen 2.3 */ typedef enum { - CAMERA_PIXEL_FORMAT_INVALID = -1, /**< Invalid pixel format */ + CAMERA_PIXEL_FORMAT_INVALID = -1, /**< Invalid pixel format */ CAMERA_PIXEL_FORMAT_NV12, /**< NV12 pixel format */ CAMERA_PIXEL_FORMAT_NV12T, /**< NV12 Tiled pixel format */ CAMERA_PIXEL_FORMAT_NV16, /**< NV16 pixel format */ @@ -106,53 +106,33 @@ typedef enum CAMERA_PIXEL_FORMAT_JPEG, /**< Encoded pixel format */ } camera_pixel_format_e; - /** - * @brief Enumerations of the camera display type. + * @brief Enumeration for the camera display type. + * @since_tizen 2.3 */ typedef enum { - CAMERA_DISPLAY_TYPE_X11 = 0, /**< X surface display */ - CAMERA_DISPLAY_TYPE_EVAS = 1, /**< Evas object surface display */ - CAMERA_DISPLAY_TYPE_NONE = 3 /**< This disposes of buffers */ + CAMERA_DISPLAY_TYPE_OVERLAY = 0, /**< Overlay surface display */ + CAMERA_DISPLAY_TYPE_EVAS, /**< Evas object surface display */ + CAMERA_DISPLAY_TYPE_NONE /**< This disposes off buffers */ } camera_display_type_e; - -/** - * @brief The handle to the camera. - * @see recorder_create_videorecorder() - */ -typedef struct camera_s *camera_h; - - -/** - * @brief The handle to the camera display. - */ -typedef void *camera_display_h; - - -#ifndef GET_DISPLAY - -/** - * @brief Gets a display handle from x window id or evas object - */ -#define GET_DISPLAY(x) (void*)(x) - -#endif - -/** - * @} - */ - - /** - * @addtogroup CAPI_MEDIA_CAMERA_X11_DISPLAY_MODULE - * @{ + * @brief Enumeration for the camera policy. + * @since_tizen 2.3 */ - +typedef enum +{ + CAMERA_POLICY_NONE = 0, /**< None */ + CAMERA_POLICY_SOUND, /**< Sound policy */ + CAMERA_POLICY_SOUND_BY_CALL, /**< Sound policy by CALL */ + CAMERA_POLICY_SOUND_BY_ALARM, /**< Sound policy by ALARM */ + CAMERA_POLICY_SECURITY /**< Security policy */ +} camera_policy_e; /** - * @brief Enumerations of the camera rotation type. + * @brief Enumeration for the camera rotation type. + * @since_tizen 2.3 */ typedef enum { @@ -164,155 +144,188 @@ typedef enum /** - * @brief Enumerations of the camera flip type. + * @brief Enumeration for the camera flip type. + * @since_tizen 2.3 */ typedef enum { - CAMERA_FLIP_NONE, /**< No Flip */ - CAMERA_FLIP_HORIZONTAL, /**< Horizontal flip */ - CAMERA_FLIP_VERTICAL, /**< Vertical flip */ + CAMERA_FLIP_NONE, /**< No Flip */ + CAMERA_FLIP_HORIZONTAL, /**< Horizontal flip */ + CAMERA_FLIP_VERTICAL, /**< Vertical flip */ CAMERA_FLIP_BOTH /** Horizontal and vertical flip */ -}camera_flip_e; +} camera_flip_e; /** - * @brief Enumerations of the camera display mode. + * @brief Enumeration for the camera focus state. + * @since_tizen 2.3 */ typedef enum { - CAMERA_DISPLAY_MODE_LETTER_BOX = 0, /**< Letter box*/ - CAMERA_DISPLAY_MODE_ORIGIN_SIZE, /**< Origin size*/ - CAMERA_DISPLAY_MODE_FULL, /**< full screen*/ - CAMERA_DISPLAY_MODE_CROPPED_FULL, /**< Cropped full screen*/ -} camera_display_mode_e; - -/** - * @brief Enumerations of the camera policy. - */ -typedef enum -{ - CAMERA_POLICY_NONE = 0, /**< None */ - CAMERA_POLICY_SOUND, /**< Sound policy */ - CAMERA_POLICY_SOUND_BY_CALL, /**< Sound policy by CALL */ - CAMERA_POLICY_SOUND_BY_ALARM, /**< Sound policy by ALARM */ - CAMERA_POLICY_SECURITY /**< Security policy */ -} camera_policy_e; - + CAMERA_FOCUS_STATE_RELEASED = 0, /**< Focus released */ + CAMERA_FOCUS_STATE_ONGOING, /**< Focus in progress */ + CAMERA_FOCUS_STATE_FOCUSED, /**< Focus succeeded */ + CAMERA_FOCUS_STATE_FAILED, /**< Focus failed */ +} camera_focus_state_e; /** - * @brief Struct of the image data + * @brief The structure type of the image data. + * @since_tizen 2.3 */ typedef struct { - unsigned char *data; /**< The image buffer */ - unsigned int size; /**< The size of buffer */ - int width; /**< The width of image */ - int height; /**< The height of image */ - camera_pixel_format_e format; /**< The format of image pixel */ - unsigned char *exif; /**< The exif raw data */ - unsigned int exif_size; /**< The size of exif data */ -}camera_image_data_s; - + unsigned char *data; /**< The image buffer */ + unsigned int size; /**< The size of the buffer */ + int width; /**< The width of the image */ + int height; /**< The height of the image */ + camera_pixel_format_e format; /**< The format of the image pixel */ + unsigned char *exif; /**< The exif raw data */ + unsigned int exif_size; /**< The size of the exif data */ +} camera_image_data_s; /** - * @brief Struct of the face detection + * @brief The structure type for face detection. + * @since_tizen 2.3 */ typedef struct { - int id; /**< The id of each face */ - int score; /**< The confidence level for the detection of the face */ - int x; /**< The x coordinates of face */ - int y; /**< The y coordinates of face */ - int width; /**< The width of face */ - int height; /**< The height of face */ -}camera_detected_face_s; - + int id; /**< The ID of each face */ + int score; /**< The confidence level for the detection of the face */ + int x; /**< The x coordinates of the face */ + int y; /**< The y coordinates of the face */ + int width; /**< The width of the face */ + int height; /**< The height of the face */ +} camera_detected_face_s; /** - * @brief Struct of the preview stream data + * @brief The structure type to preview stream data. + * @since_tizen 2.3 */ typedef struct { - camera_pixel_format_e format; /**< The format of frame pixel */ - int width; /**< The width of frame */ - int height; /**< The height of frame */ - int num_of_planes; /**< The number of planes */ - unsigned int timestamp; /**< The timestamp of frame */ + camera_pixel_format_e format; /**< The format of the frame pixel */ + int width; /**< The width of the frame */ + int height; /**< The height of the frame */ + int num_of_planes; /**< The number of planes */ + unsigned int timestamp; /**< The timestamp of the frame */ union { struct { - unsigned char *yuv; /**< The yuv data pointer*/ - unsigned int size; /**< The size of data*/ - } single_plane; /**< single plane frame data */ + unsigned char *yuv; /**< The yuv data pointer */ + unsigned int size; /**< The size of data */ + } single_plane; /**< single plane frame data */ struct { - unsigned char *y; /**< The y data pointer*/ - unsigned char *uv; /**< The uv data pointer*/ - unsigned int y_size; /**< The size of y data*/ - unsigned int uv_size; /**< The size of uv data*/ - } double_plane; /**< double plane frame data */ + unsigned char *y; /**< The y data pointer */ + unsigned char *uv; /**< The uv data pointer */ + unsigned int y_size; /**< The size of y data */ + unsigned int uv_size; /**< The size of uv data */ + } double_plane; /**< double plane frame data */ struct { - unsigned char *y; /**< The y data pointer*/ - unsigned char *u; /**< The u data pointer*/ - unsigned char *v; /**< The v data pointer*/ - unsigned int y_size; /**< The size of y data*/ - unsigned int u_size; /**< The size of u data*/ - unsigned int v_size; /**< The size of v data*/ - } triple_plane; /**< triple plane frame data */ + unsigned char *y; /**< The y data pointer */ + unsigned char *u; /**< The u data pointer */ + unsigned char *v; /**< The v data pointer */ + unsigned int y_size; /**< The size of y data */ + unsigned int u_size; /**< The size of u data */ + unsigned int v_size; /**< The size of v data */ + } triple_plane; /**< triple plane frame data */ } data; -}camera_preview_data_s; +} camera_preview_data_s; +/** + * @brief The Camera handle. + * @since_tizen 2.3 + * @see recorder_create_videorecorder() + */ +typedef struct camera_s *camera_h; + +/** + * @brief The Camera display handle. + * @since_tizen 2.3 + */ +typedef void *camera_display_h; + +#ifndef GET_DISPLAY + +/** + * @brief Gets a display handle. + * @since_tizen 2.3 + */ +#define GET_DISPLAY(x) (void*)(x) + +#endif /** * @} */ +/** + * @addtogroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE + * @{ + */ + +/** + * @brief Enumeration for the camera display mode. + * @since_tizen 2.3 + */ +typedef enum +{ + CAMERA_DISPLAY_MODE_LETTER_BOX = 0, /**< Letter box */ + CAMERA_DISPLAY_MODE_ORIGIN_SIZE, /**< Origin size */ + CAMERA_DISPLAY_MODE_FULL, /**< Full screen */ + CAMERA_DISPLAY_MODE_CROPPED_FULL, /**< Cropped full screen */ +} camera_display_mode_e; + +/** + * @} + */ /** * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE * @{ */ - /** - * @brief Enumerations of the color tone which provides an impression of looking through a tinted glass. + * @brief Enumeration for the color tone, which provides the impression of looking through a tinted glass. + * @since_tizen 2.3 */ typedef enum { - CAMERA_ATTR_EFFECT_NONE = 0, /**< None */ - CAMERA_ATTR_EFFECT_MONO, /**< Mono */ - CAMERA_ATTR_EFFECT_SEPIA, /**< Sepia */ - CAMERA_ATTR_EFFECT_NEGATIVE, /**< Negative */ - CAMERA_ATTR_EFFECT_BLUE, /**< Blue */ - CAMERA_ATTR_EFFECT_GREEN, /**< Green */ - CAMERA_ATTR_EFFECT_AQUA, /**< Aqua */ - CAMERA_ATTR_EFFECT_VIOLET, /**< Violet */ - CAMERA_ATTR_EFFECT_ORANGE, /**< Orange */ - CAMERA_ATTR_EFFECT_GRAY, /**< Gray */ - CAMERA_ATTR_EFFECT_RED, /**< Red */ - CAMERA_ATTR_EFFECT_ANTIQUE, /**< Antique */ - CAMERA_ATTR_EFFECT_WARM, /**< Warm */ - CAMERA_ATTR_EFFECT_PINK, /**< Pink */ - CAMERA_ATTR_EFFECT_YELLOW, /**< Yellow */ - CAMERA_ATTR_EFFECT_PURPLE, /**< Purple */ - CAMERA_ATTR_EFFECT_EMBOSS, /**< Emboss */ - CAMERA_ATTR_EFFECT_OUTLINE, /**< Outline */ - CAMERA_ATTR_EFFECT_SOLARIZATION, /**< Solarization */ - CAMERA_ATTR_EFFECT_SKETCH, /**< Sketch */ - CAMERA_ATTR_EFFECT_WASHED, /**< Washed */ - CAMERA_ATTR_EFFECT_VINTAGE_WARM, /**< Vintage warm */ - CAMERA_ATTR_EFFECT_VINTAGE_COLD, /**< Vintage cold */ - CAMERA_ATTR_EFFECT_POSTERIZATION, /**< Posterization */ - CAMERA_ATTR_EFFECT_CARTOON, /**< Cartoon */ - CAMERA_ATTR_EFFECT_SELECTIVE_RED, /**< Selective color - Red */ - CAMERA_ATTR_EFFECT_SELECTIVE_GREEN, /**< Selective color - Green */ - CAMERA_ATTR_EFFECT_SELECTIVE_BLUE, /**< Selective color - Blue */ - CAMERA_ATTR_EFFECT_SELECTIVE_YELLOW, /**< Selective color - Yellow */ - CAMERA_ATTR_EFFECT_SELECTIVE_RED_YELLOW, /**< Selective color - Red and Yellow */ + CAMERA_ATTR_EFFECT_NONE = 0, /**< None */ + CAMERA_ATTR_EFFECT_MONO, /**< Mono */ + CAMERA_ATTR_EFFECT_SEPIA, /**< Sepia */ + CAMERA_ATTR_EFFECT_NEGATIVE, /**< Negative */ + CAMERA_ATTR_EFFECT_BLUE, /**< Blue */ + CAMERA_ATTR_EFFECT_GREEN, /**< Green */ + CAMERA_ATTR_EFFECT_AQUA, /**< Aqua */ + CAMERA_ATTR_EFFECT_VIOLET, /**< Violet */ + CAMERA_ATTR_EFFECT_ORANGE, /**< Orange */ + CAMERA_ATTR_EFFECT_GRAY, /**< Gray */ + CAMERA_ATTR_EFFECT_RED, /**< Red */ + CAMERA_ATTR_EFFECT_ANTIQUE, /**< Antique */ + CAMERA_ATTR_EFFECT_WARM, /**< Warm */ + CAMERA_ATTR_EFFECT_PINK, /**< Pink */ + CAMERA_ATTR_EFFECT_YELLOW, /**< Yellow */ + CAMERA_ATTR_EFFECT_PURPLE, /**< Purple */ + CAMERA_ATTR_EFFECT_EMBOSS, /**< Emboss */ + CAMERA_ATTR_EFFECT_OUTLINE, /**< Outline */ + CAMERA_ATTR_EFFECT_SOLARIZATION, /**< Solarization */ + CAMERA_ATTR_EFFECT_SKETCH, /**< Sketch */ + CAMERA_ATTR_EFFECT_WASHED, /**< Washed */ + CAMERA_ATTR_EFFECT_VINTAGE_WARM, /**< Vintage warm */ + CAMERA_ATTR_EFFECT_VINTAGE_COLD, /**< Vintage cold */ + CAMERA_ATTR_EFFECT_POSTERIZATION, /**< Posterization */ + CAMERA_ATTR_EFFECT_CARTOON, /**< Cartoon */ + CAMERA_ATTR_EFFECT_SELECTIVE_RED, /**< Selective color - Red */ + CAMERA_ATTR_EFFECT_SELECTIVE_GREEN, /**< Selective color - Green */ + CAMERA_ATTR_EFFECT_SELECTIVE_BLUE, /**< Selective color - Blue */ + CAMERA_ATTR_EFFECT_SELECTIVE_YELLOW, /**< Selective color - Yellow */ + CAMERA_ATTR_EFFECT_SELECTIVE_RED_YELLOW, /**< Selective color - Red and Yellow */ + CAMERA_ATTR_EFFECT_OTHER_GRAPHICS, /**< Other Graphic effects */ } camera_attr_effect_mode_e; - /** - * @brief Enumerations of the white balance levels of the camera. + * @brief Enumeration for the white balance levels of the camera. + * @since_tizen 2.3 */ typedef enum { @@ -328,10 +341,10 @@ typedef enum CAMERA_ATTR_WHITE_BALANCE_CUSTOM, /**< Custom */ } camera_attr_whitebalance_e; - /** - * @brief Enumerations of the scene mode. - * The mode of operation can be in daylight, night and back-light. + * @brief Enumeration for the scene mode. + * @details The mode of operation can be in daylight, night, or back-light. + * @since_tizen 2.3 */ typedef enum { @@ -350,126 +363,120 @@ typedef enum CAMERA_ATTR_SCENE_MODE_SHOW_WINDOW, /**< Show window */ CAMERA_ATTR_SCENE_MODE_CANDLE_LIGHT, /**< Candle light */ CAMERA_ATTR_SCENE_MODE_BACKLIGHT, /**< Backlight */ + CAMERA_ATTR_SCENE_MODE_AQUA, /**< Aqua */ } camera_attr_scene_mode_e; - /** - * @brief Enumerations of the auto focus mode. + * @brief Enumeration for the auto focus mode. + * @since_tizen 2.3 */ typedef enum { CAMERA_ATTR_AF_NONE = 0, /**< auto-focus is not set */ - CAMERA_ATTR_AF_NORMAL, /**< auto-focus normally */ - CAMERA_ATTR_AF_MACRO, /**< auto-focus in macro mode(close distance) */ - CAMERA_ATTR_AF_FULL, /**< auto-focus in full mode(all range scan, limited by dev spec) */ + CAMERA_ATTR_AF_NORMAL, /**< auto-focus in the normal mode */ + CAMERA_ATTR_AF_MACRO, /**< auto-focus in the macro mode(close distance) */ + CAMERA_ATTR_AF_FULL, /**< auto-focus in the full mode(all range scan, limited by device spec) */ } camera_attr_af_mode_e; - -/** - * @brief Enumerations of the camera focus state. - */ -typedef enum -{ - CAMERA_FOCUS_STATE_RELEASED = 0, /**< Focus released.*/ - CAMERA_FOCUS_STATE_ONGOING, /**< Focus in progress*/ - CAMERA_FOCUS_STATE_FOCUSED, /**< Focus success*/ - CAMERA_FOCUS_STATE_FAILED, /**< Focus failed*/ -} camera_focus_state_e; - - /** - * @brief Enumerations for the ISO levels of the camera. + * @brief Enumeration for the ISO levels of the camera. + * @since_tizen 2.3 */ typedef enum { - CAMERA_ATTR_ISO_AUTO = 0, /**< ISO auto mode*/ - CAMERA_ATTR_ISO_50, /**< ISO 50*/ - CAMERA_ATTR_ISO_100, /**< ISO 100*/ - CAMERA_ATTR_ISO_200, /**< ISO 200*/ - CAMERA_ATTR_ISO_400, /**< ISO 400*/ - CAMERA_ATTR_ISO_800, /**< ISO 800*/ - CAMERA_ATTR_ISO_1600, /**< ISO 1600*/ - CAMERA_ATTR_ISO_3200, /**< ISO 3200*/ + CAMERA_ATTR_ISO_AUTO = 0, /**< ISO auto mode */ + CAMERA_ATTR_ISO_50, /**< ISO 50 */ + CAMERA_ATTR_ISO_100, /**< ISO 100 */ + CAMERA_ATTR_ISO_200, /**< ISO 200 */ + CAMERA_ATTR_ISO_400, /**< ISO 400 */ + CAMERA_ATTR_ISO_800, /**< ISO 800 */ + CAMERA_ATTR_ISO_1600, /**< ISO 1600 */ + CAMERA_ATTR_ISO_3200, /**< ISO 3200 */ } camera_attr_iso_e; - /** - * @brief Enumerations of the camera exposure modes. + * @brief Enumeration for the camera exposure modes. + * @since_tizen 2.3 */ typedef enum { - CAMERA_ATTR_EXPOSURE_MODE_OFF = 0, /**< Off*/ - CAMERA_ATTR_EXPOSURE_MODE_ALL, /**< All mode*/ - CAMERA_ATTR_EXPOSURE_MODE_CENTER, /**< Center mode*/ - CAMERA_ATTR_EXPOSURE_MODE_SPOT, /**< Spot mode*/ - CAMERA_ATTR_EXPOSURE_MODE_CUSTOM, /**< Custom mode*/ + CAMERA_ATTR_EXPOSURE_MODE_OFF = 0, /**< Off */ + CAMERA_ATTR_EXPOSURE_MODE_ALL, /**< All mode */ + CAMERA_ATTR_EXPOSURE_MODE_CENTER, /**< Center mode */ + CAMERA_ATTR_EXPOSURE_MODE_SPOT, /**< Spot mode */ + CAMERA_ATTR_EXPOSURE_MODE_CUSTOM, /**< Custom mode */ } camera_attr_exposure_mode_e; - /** - * @brief Enumerations for the orientation values of tag. + * @brief Enumeration for the orientation values of tag. + * @since_tizen 2.3 */ typedef enum { - CAMERA_ATTR_TAG_ORIENTATION_TOP_LEFT = 1, /**< Row #0 is top, Column #0 is left */ - CAMERA_ATTR_TAG_ORIENTATION_TOP_RIGHT = 2, /**< Row #0 is top, Column #0 is right (flipped) */ - CAMERA_ATTR_TAG_ORIENTATION_BOTTOM_RIGHT = 3, /**< Row #0 is bottom, Column #0 is right */ - CAMERA_ATTR_TAG_ORIENTATION_BOTTOM_LEFT = 4, /**< Row #0 is bottom, Column #0 is left (flipped) */ - CAMERA_ATTR_TAG_ORIENTATION_LEFT_TOP = 5, /**< Row #0 is left, Column #0 is top (flipped) */ - CAMERA_ATTR_TAG_ORIENTATION_RIGHT_TOP = 6, /**< Row #0 is right, Column #0 is top */ - CAMERA_ATTR_TAG_ORIENTATION_RIGHT_BOTTOM = 7, /**< Row #0 is right, Column #0 is bottom (flipped) */ - CAMERA_ATTR_TAG_ORIENTATION_LEFT_BOTTOM = 8, /**< Row #0 is left, Column #0 is bottom */ + CAMERA_ATTR_TAG_ORIENTATION_TOP_LEFT = 1, /**< Row #0 is at the top, Column #0 is to the left */ + CAMERA_ATTR_TAG_ORIENTATION_TOP_RIGHT = 2, /**< Row #0 is at the top, Column #0 is to the right (flipped) */ + CAMERA_ATTR_TAG_ORIENTATION_BOTTOM_RIGHT = 3, /**< Row #0 is at the bottom, Column #0 is to the right */ + CAMERA_ATTR_TAG_ORIENTATION_BOTTOM_LEFT = 4, /**< Row #0 is at the bottom, Column #0 is to the left (flipped) */ + CAMERA_ATTR_TAG_ORIENTATION_LEFT_TOP = 5, /**< Row #0 is to the left, Column #0 is at the top (flipped) */ + CAMERA_ATTR_TAG_ORIENTATION_RIGHT_TOP = 6, /**< Row #0 is to the right, Column #0 is at the top */ + CAMERA_ATTR_TAG_ORIENTATION_RIGHT_BOTTOM = 7, /**< Row #0 is to the right, Column #0 is at the bottom (flipped) */ + CAMERA_ATTR_TAG_ORIENTATION_LEFT_BOTTOM = 8, /**< Row #0 is to the left, Column #0 is at the bottom */ } camera_attr_tag_orientation_e; - /** - * @brief Enumerations of the flash mode. + * @brief Enumeration for the flash mode. + * @since_tizen 2.3 */ typedef enum { CAMERA_ATTR_FLASH_MODE_OFF = 0, /**< Always off */ CAMERA_ATTR_FLASH_MODE_ON, /**< Always splashes */ - CAMERA_ATTR_FLASH_MODE_AUTO, /**< Depending on intensity of light, strobe starts to flash. */ - CAMERA_ATTR_FLASH_MODE_REDEYE_REDUCTION, /**< Red eye reduction. Multiple flash before capturing. */ - CAMERA_ATTR_FLASH_MODE_SLOW_SYNC, /**< Slow sync curtain synchronization*/ - CAMERA_ATTR_FLASH_MODE_FRONT_CURTAIN, /**< Front curtain synchronization. */ - CAMERA_ATTR_FLASH_MODE_REAR_CURTAIN, /**< Rear curtain synchronization. */ - CAMERA_ATTR_FLASH_MODE_PERMANENT, /**< keep turned on until turning off */ + CAMERA_ATTR_FLASH_MODE_AUTO, /**< Depending on intensity of light, strobe starts to flash */ + CAMERA_ATTR_FLASH_MODE_REDEYE_REDUCTION, /**< Red eye reduction. Multiple flash before capturing */ + CAMERA_ATTR_FLASH_MODE_SLOW_SYNC, /**< Slow sync curtain synchronization */ + CAMERA_ATTR_FLASH_MODE_FRONT_CURTAIN, /**< Front curtain synchronization */ + CAMERA_ATTR_FLASH_MODE_REAR_CURTAIN, /**< Rear curtain synchronization */ + CAMERA_ATTR_FLASH_MODE_PERMANENT, /**< Keep turned on until turning off */ } camera_attr_flash_mode_e; - /** - * @brief Enumerations of the preview fps. + * @brief Enumeration to preview FPS. + * @since_tizen 2.3 */ typedef enum { CAMERA_ATTR_FPS_AUTO = 0, /**< AUTO FPS */ + CAMERA_ATTR_FPS_7 = 7, /**< 7 FPS */ CAMERA_ATTR_FPS_8 = 8, /**< 8 FPS */ CAMERA_ATTR_FPS_15 = 15, /**< 15 FPS */ + CAMERA_ATTR_FPS_20 = 20, /**< 20 FPS */ CAMERA_ATTR_FPS_24 = 24, /**< 24 FPS */ CAMERA_ATTR_FPS_25 = 25, /**< 25 FPS */ CAMERA_ATTR_FPS_30 = 30, /**< 30 FPS */ CAMERA_ATTR_FPS_60 = 60, /**< 60 FPS */ + CAMERA_ATTR_FPS_90 = 90, /**< 90 FPS */ CAMERA_ATTR_FPS_120 = 120 /**< 120 FPS */ } camera_attr_fps_e; /** - * @brief Enumerations of the theater mode + * @brief Enumeration for the theater mode. + * @since_tizen 2.3 */ typedef enum { - CAMERA_ATTR_THEATER_MODE_DISABLE = 0, /**< Disable theater mode - External display show same image with device display. */ - 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. */ - CAMERA_ATTR_THEATER_MODE_CLONE = 1 /**< Clone mode - Preview image is displayed on external display with full screen mode. Also preview image is shown with UI on device display*/ + CAMERA_ATTR_THEATER_MODE_DISABLE = 0, /**< Disable theater mode - External display shows same image as device display */ + 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 */ + 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 */ } camera_attr_theater_mode_e; /** - * @brief Enumerations of HDR capture mode + * @brief Enumeration for HDR capture mode. + * @since_tizen 2.3 */ typedef enum { - CAMERA_ATTR_HDR_MODE_DISABLE = 0, /**< Disable HDR capture */ - CAMERA_ATTR_HDR_MODE_ENABLE, /**< Enable HDR capture */ + CAMERA_ATTR_HDR_MODE_DISABLE = 0, /**< Disable HDR capture */ + CAMERA_ATTR_HDR_MODE_ENABLE, /**< Enable HDR capture */ CAMERA_ATTR_HDR_MODE_KEEP_ORIGINAL /**< Enable HDR capture and keep original image data */ } camera_attr_hdr_mode_e; @@ -483,45 +490,45 @@ typedef enum * @{ */ - /** - * @brief Called when the camera state changes. + * @brief Called when the camera state is changed. + * @since_tizen 2.3 * - * @param[in] previous The previous state of the camera - * @param[in] current The current state of the camera - * @param[in] by_policy @c true if the state is changed by policy, otherwise @c false - * @param[in] user_data The user data passed from the callback registration function + * @param[in] previous The previous state of the camera + * @param[in] current The current state of the camera + * @param[in] by_policy If @c true the state is changed by policy, otherwise @c false + * @param[in] user_data The user data passed from the callback registration function * @pre camera_start_preview(), camera_start_capture() or camera_stop_preview() - * will invoke this callback if you registers this callback unsing camera_set_state_changed_cb(). + * will invoke this callback if you register this callback using camera_set_state_changed_cb(). * @see camera_set_state_changed_cb() */ typedef void (*camera_state_changed_cb)(camera_state_e previous, camera_state_e current, bool by_policy, void *user_data); /** - * @brief Called when the camera interrupted by policy + * @brief Called when the camera is interrupted by policy. + * @since_tizen 2.3 * - * @param[in] policy The policy that interrupting the camera - * @param[in] previous The previous state of the camera - * @param[in] current The current state of the camera - * @param[in] user_data The user data passed from the callback registration function + * @param[in] policy The policy that interrupted the camera + * @param[in] previous The previous state of the camera + * @param[in] current The current state of the camera + * @param[in] user_data The user data passed from the callback registration function * @see camera_set_interrupted_cb() */ typedef void (*camera_interrupted_cb)(camera_policy_e policy, camera_state_e previous, camera_state_e current, void *user_data); - - /** - * @brief Called when the camera focus state changes. + * @brief Called when the camera focus state is changed. * @details When the camera auto focus completes or a change to the focus state occurs, - * this callback is invoked. \n \n - * Changes of focus state are as follows: \n - * #CAMERA_FOCUS_STATE_RELEASED -> start focusing -> #CAMERA_FOCUS_STATE_ONGOING -> working -> - * #CAMERA_FOCUS_STATE_FOCUSED or #CAMERA_FOCUS_STATE_FAILED + * this callback is invoked. \n \n + * Changes of focus state are as follows: \n + * #CAMERA_FOCUS_STATE_RELEASED -> start focusing -> #CAMERA_FOCUS_STATE_ONGOING -> working -> + * #CAMERA_FOCUS_STATE_FOCUSED or #CAMERA_FOCUS_STATE_FAILED. + * @since_tizen 2.3 * - * @param[in] state The current state of the auto-focus - * @param[in] user_data The user data passed from the callback registration function - * @pre camera_start_focusing() will invoke this callback if you register it using camera_set_focus_changed_cb (). + * @param[in] state The current state of the auto-focus + * @param[in] user_data The user data passed from the callback registration function + * @pre camera_start_focusing() will invoke this callback if you register it using camera_set_focus_changed_cb(). * @see camera_set_focus_changed_cb() * @see camera_unset_focus_changed_cb() * @see camera_start_focusing() @@ -529,15 +536,15 @@ typedef void (*camera_interrupted_cb)(camera_policy_e policy, camera_state_e pre */ typedef void (*camera_focus_changed_cb)(camera_focus_state_e state, void *user_data); - /** - * @brief Called to be notified for delivering copy of new preview frame when every preview frame is displayed. + * @brief Called to register for notifications about delivering a copy of the new preview frame when every preview frame is displayed. + * @since_tizen 2.3 * - * @remarks This function is issued in the context of gstreamer (video sink thread) so you should not directly invoke UI update code.\n - * When camera is used as a recorder then this callback function won't be called. + * @remarks This function is issued in the context of gstreamer so the UI update code should not be directly invoked.\n + * If the camera is used as a recorder then this callback function won't be called. * - * @param[in] frame Reference pointer to preview stream data - * @param[in] user_data The user data passed from the callback registration function + * @param[in] frame The reference pointer to preview stream data + * @param[in] user_data The user data passed from the callback registration function * @pre camera_start_preview() will invoke this callback function if you register this callback using camera_set_preview_cb(). * @see camera_start_preview() * @see camera_set_preview_cb() @@ -546,68 +553,81 @@ typedef void (*camera_focus_changed_cb)(camera_focus_state_e state, void *user_d typedef void (*camera_preview_cb)(camera_preview_data_s *frame, void *user_data); /** - * @brief Called to get information about image data taken by the camera once per frame while capturing. + * @brief Called to register for notifications about delivering media packet when every preview frame is displayed. + * @since_tizen 2.3 + * + * @remarks This function is issued in the context of gstreamer so the UI update code should not be directly invoked.\n + * If the camera is used as a recorder then this callback function won't be called.\n + * and the packet should be released by media_packet_destroy() after use. + * + * @param[in] pkt Reference pointer to media packet + * @param[in] user_data The user data passed from the callback registration function + * @pre camera_start_preview() will invoke this callback function if you register this callback using camera_set_media_packet_preview_cb(). + * @see camera_start_preview() + * @see camera_set_media_packet_preview_cb() + * @see camera_unset_media_packet_preview_cb() + */ +typedef void (*camera_media_packet_preview_cb)(media_packet_h pkt, void *user_data); + +/** + * @brief Called to get information about image data taken by the camera once per frame while capturing. + * @since_tizen 2.3 * - * @remarks This function is issued in the context of gstreamer (video source thread) so you should not directly invoke UI update code. - * You must not call camera_start_preview() within this callback. + * @remarks This function is issued in the context of gstreamer (video source thread) so the UI update code should not be directly invoked. + * You must not call camera_start_preview() within this callback. * - * @param[in] image The image data of captured picture - * @param[in] postview The image data of postvew - * @param[in] thumbnail The image data of thumbnail ( It could be NULL, if available thumbnail data is not existed. ) - * @param[in] user_data The user data passed from the callback registration function - * @pre camera_start_capture() or camera_start_continuous_capture() will invoke this callback function if you register this callback using camera_start_capture() or camera_start_continuous_capture() + * @param[in] image The image data of the captured picture + * @param[in] postview The image data of the postview + * @param[in] thumbnail The image data of the thumbnail (it should be @c NULL if the available thumbnail data does not exist) + * @param[in] user_data The user data passed from the callback registration function + * @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(). * @see camera_start_capture() * @see camera_start_continuous_capture() * @see camera_capture_completed_cb() */ typedef void (*camera_capturing_cb)(camera_image_data_s* image, camera_image_data_s* postview, camera_image_data_s* thumbnail, void *user_data); - - /** - * @brief Called when the camera capturing completes. - * - * @remarks The callback is called after end of camera_capturing_cb().\n - * If you want to show the user preview after finishing capturing, an application can use camera_start_preview() after calling this callback. + * @brief Called when the camera capturing completes. + * @since_tizen 2.3 * - * @param[in] user_data The user data passed from the callback registration function + * @remarks The callback is called after camera_capturing_cb() is completed.\n + * If you want to show the user a preview after capturing is finished, an application can use camera_start_preview() after calling this callback. * - * @pre This callback function is invoked if you register this callback using camera_start_capture() or camera_start_continuous_capture(). + * @param[in] user_data The user data passed from the callback registration function + * @pre This callback function is invoked if it is registered using camera_start_capture() or camera_start_continuous_capture(). * @see camera_start_capture() * @see camera_start_continuous_capture() * @see camera_capturing_cb() */ typedef void (*camera_capture_completed_cb)(void *user_data); - /** - * @brief Called when the error occurred. - * - * @remarks - * This callback inform critical error situation.\n - * When invoked this callback, user should release the resource and terminate application.\n - * These error code will be occurred\n - * #CAMERA_ERROR_DEVICE\n - * #CAMERA_ERROR_INVALID_OPERATION\n - * #CAMERA_ERROR_OUT_OF_MEMORY\n + * @brief Called when an error occurs. + * @since_tizen 2.3 * - * @param[in] error The error code - * @param[in] current_state The current state of the camera - * @param[in] user_data The user data passed from the callback registration function + * @remarks This callback informs about a critical error situation.\n + * When this callback is invoked, the user should release the resource and terminate the application.\n + * In case of errors, one of these codes occur:\n + * #CAMERA_ERROR_DEVICE,\n + * #CAMERA_ERROR_INVALID_OPERATION,\n + * #CAMERA_ERROR_OUT_OF_MEMORY.\n * - * @pre This callback function is invoked if you register this callback using camera_set_error_cb(). + * @param[in] error The error code + * @param[in] current_state The current state of the camera + * @param[in] user_data The user data passed from the callback registration function + * @pre This callback function is invoked if it is registered using camera_set_error_cb(). * @see camera_set_error_cb() * @see camera_unset_error_cb() */ typedef void (*camera_error_cb)(camera_error_e error, camera_state_e current_state, void *user_data); /** - * @brief Called when face detected in the preview frame - * + * @brief Called when a face is detected in the preview frame. + * @since_tizen 2.3 * @param[in] faces The detected face array - * @param[in] count The length of array + * @param[in] count The length of the array * @param[in] user_data The user data passed from the callback registration function - * * @see camera_start_face_detection() */ typedef void (*camera_face_detected_cb)(camera_detected_face_s *faces, int count, void *user_data); @@ -622,56 +642,48 @@ typedef void (*camera_face_detected_cb)(camera_detected_face_s *faces, int count */ /** - * @brief Called once for each supported preview resolution. - * - * @param[in] width The preview image width - * @param[in] height The preview image height - * @param[in] user_data The user data passed from the foreach function - * - * @return @c true to continue with the next iteration of the loop, \n @c false to break outsp of the loop. - * @pre camera_foreach_supported_preview_resolution() will invoke this callback. - * + * @brief Called once for each supported preview resolution. + * @since_tizen 2.3 + * @param[in] width The preview image width + * @param[in] height The preview image height + * @param[in] user_data The user data passed from the foreach function + * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop + * @pre camera_foreach_supported_preview_resolution() will invoke this callback. * @see camera_foreach_supported_preview_resolution() */ typedef bool (*camera_supported_preview_resolution_cb)(int width, int height, void *user_data); - /** - * @brief Called once for each supported capture resolution. - * - * @param[in] width The capture resolution width - * @param[in] height The capture resolution height - * @param[in] user_data The user data passed from the foreach function - * - * @return @c true to continue with the next iteration of the loop, \n @c false to break outsp of the loop. - * @pre camera_foreach_supported_capture_resolution() will invoke this callback. - * + * @brief Called once for each supported capture resolution. + * @since_tizen 2.3 + * @param[in] width The capture resolution width + * @param[in] height The capture resolution height + * @param[in] user_data The user data passed from the foreach function + * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop + * @pre camera_foreach_supported_capture_resolution() will invoke this callback. * @see camera_foreach_supported_capture_resolution() */ typedef bool (*camera_supported_capture_resolution_cb)(int width, int height, void *user_data); - /** - * @brief Called once for the pixel format of each supported capture format. - * - * @param[in] format The supported pixel format - * @param[in] user_data The user data passed from the foreach function - * @return @c true to continue with the next iteration of the loop, \n @c false to break outsp of the loop. - * @pre camera_foreach_supported_capture_format() will invoke this callback. - * + * @brief Called once for the pixel format of each supported capture format. + * @since_tizen 2.3 + * @param[in] format The supported pixel format + * @param[in] user_data The user data passed from the foreach function + * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop + * @pre camera_foreach_supported_capture_format() will invoke this callback. * @see camera_foreach_supported_capture_format() */ typedef bool (*camera_supported_capture_format_cb)(camera_pixel_format_e format, void *user_data); /** - * @brief Called once for the pixel format of each supported preview format. - * - * @param[in] format The supported preview data format - * @param[in] user_data The user data passed from the foreach function - * @return @c true to continue with the next iteration of the loop, \n @c false to break outsp of the loop. - * @pre camera_foreach_supported_preview_format() will invoke this callback. - * + * @brief Called once for the pixel format of each supported preview format. + * @since_tizen 2.3 + * @param[in] format The supported preview data format + * @param[in] user_data The user data passed from the foreach function + * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop + * @pre camera_foreach_supported_preview_format() will invoke this callback. * @see camera_foreach_supported_preview_format() */ typedef bool (*camera_supported_preview_format_cb)(camera_pixel_format_e format, @@ -689,20 +701,24 @@ typedef bool (*camera_supported_preview_format_cb)(camera_pixel_format_e format, /** * @brief Creates a new camera handle for controlling a camera. * - * @remarks You can create multiple handles on a context at the same time. However, - * camera cannot guarantee proper operation because of limitation of resources, such as - * camera device, audio device, and display device.\n - * a @a camera must be released with camera_destroy() by you. - * - * @param[in] device The hardware camera to access - * @param[out] camera A newly returned handle to the camera - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #CAMERA_ERROR_OUT_OF_MEMORY Out of memory - * @retval #CAMERA_ERROR_SOUND_POLICY Sound policy error - * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation - * @post If it succeeds the camera state will be #CAMERA_STATE_CREATED. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @remarks Multiple handles on a context at the same time are allowed to be created. However, + * camera cannot guarantee proper operation because of limited resources, such as + * camera device, audio device, and display device.\n. + * A @a camera must be released using camera_destroy(). + * @param[in] device The hardware camera to access + * @param[out] camera A newly returned handle to the camera + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_OUT_OF_MEMORY Out of memory + * @retval #CAMERA_ERROR_SOUND_POLICY Sound policy error + * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @post If it succeeds, the camera state will be #CAMERA_STATE_CREATED. * * @see camera_destroy() */ @@ -711,13 +727,17 @@ int camera_create(camera_device_e device, camera_h *camera); /** * @brief Destroys the camera handle and releases all its resources. * - * @param[in] camera The handle to the camera - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #CAMERA_ERROR_INVALID_STATE Invalid state - * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation - * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @param[in] camera The handle to the camera + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_INVALID_STATE Invalid state + * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_create() */ int camera_destroy(camera_h camera); @@ -725,25 +745,31 @@ int camera_destroy(camera_h camera); /** * @brief Starts capturing and drawing preview frames on the screen. * - * @param[in] camera The handle to the camera - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #CAMERA_ERROR_INVALID_STATE Invalid state - * @retval #CAMERA_ERROR_SOUND_POLICY Sound policy error - * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation - * @retval #CAMERA_ERROR_DEVICE_BUSY The device is using in other applications or working some operation - * @retval #CAMERA_ERROR_DEVICE_NOT_FOUND No camera device - * @pre The camera state should be #CAMERA_STATE_CREATED, or #CAMERA_STATE_CAPTURED.\n - * You must set display handle. \n - * If needed, modify preview fps(camera_attr_set_preview_fps()), - * preview resolution(camera_set_preview_resolution()) or preview format(camera_set_preview_format()) + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @param[in] camera The handle to the camera + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_INVALID_STATE Invalid state + * @retval #CAMERA_ERROR_SOUND_POLICY Sound policy error + * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation + * @retval #CAMERA_ERROR_DEVICE_BUSY The device is being used in another application or is performing other operations + * @retval #CAMERA_ERROR_DEVICE_NOT_FOUND No camera device + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_CAPTURED.\n + * You must set the display handle. \n + * If needed, modify preview FPS(camera_attr_set_preview_fps()), + * preview resolution(camera_set_preview_resolution()), or preview format(camera_set_preview_format()). * @post If it succeeds, the camera state will be #CAMERA_STATE_PREVIEW.\n - * camera_preview_cb() will be called when preview image data becomes available. + * camera_preview_cb() will be called when preview image data becomes available. * * @see camera_stop_preview() * @see camera_set_display() * @see camera_set_preview_cb() + * @see camera_set_media_packet_preview_cb() * @see camera_foreach_supported_preview_resolution() * @see camera_set_preview_resolution() * @see camera_get_preview_resolution() @@ -757,45 +783,52 @@ int camera_destroy(camera_h camera); int camera_start_preview(camera_h camera); /** - * @brief Stops capturing and drawing preview frames. - * - * @param[in] camera The handle to the camera - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #CAMERA_ERROR_INVALID_STATE Invalid state - * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation - * @pre The camera state should be #CAMERA_STATE_PREVIEW. - * @post The camera state will be #CAMERA_STATE_CREATED. - * + * @brief Stops capturing and drawing preview frames. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @param[in] camera The handle to the camera + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_INVALID_STATE Invalid state + * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @pre The camera state must be set to #CAMERA_STATE_PREVIEW. + * @post The camera state will be #CAMERA_STATE_CREATED. * @see camera_start_preview() * @see camera_unset_preview_cb() + * @see camera_unset_media_packet_preview_cb() */ int camera_stop_preview(camera_h camera); /** * @brief Starts capturing of still images. * - * @remarks This function causes the transition of camera state from #CAMERA_STATE_CAPTURING to #CAMERA_STATE_CAPTURED automatically\n - * and the corresponding callback function camera_capturing_cb() and camera_capture_completed_cb() will be invoked\n - * Captured image will be delivered through camera_capturing_cb().\n - * You will be notified by camera_capture_completed_cb() callback when camera_capturing_cb() gets completed. \n - * You should restart camera's preview with calling camera_start_preview(). - * - * @param[in] camera The handle to the camera + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @remarks This function causes the transition of the camera state from #CAMERA_STATE_CAPTURING to #CAMERA_STATE_CAPTURED automatically\n + * and the corresponding callback function camera_capturing_cb() and camera_capture_completed_cb() will be invoked\n + * The captured image will be delivered through camera_capturing_cb().\n + * camera_capture_completed_cb() callback notifies about completion of camera_capturing_cb(). \n + * The camera's preview should be restarted by calling camera_start_preview(). + * @param[in] camera The handle to the camera * @param[in] capturing_cb The callback for capturing data - * @param[in] completed_cb The callback for notification of completed + * @param[in] completed_cb The callback for notification of completion * @param[in] user_data The user data - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #CAMERA_ERROR_INVALID_STATE Invalid state - * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation - * - * @pre The camera state must be #CAMERA_STATE_PREVIEW. \n - * If needed, modify capture resolution(camera_set_capture_resolution()), - * capture format(camera_set_capture_format()), or image quality(camera_attr_set_image_quality()) - * @post If it succeeds the camera state will be #CAMERA_STATE_CAPTURED. + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_INVALID_STATE Invalid state + * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @pre The camera state must be set to #CAMERA_STATE_PREVIEW. \n + * If needed, modify capture resolution(camera_set_capture_resolution()), + * capture format(camera_set_capture_format()), or image quality(camera_attr_set_image_quality()). + * @post If it succeeds the camera state will be #CAMERA_STATE_CAPTURED. * * @see camera_start_preview() * @see camera_start_continuous_capture(); @@ -811,28 +844,30 @@ int camera_stop_preview(camera_h camera); int camera_start_capture(camera_h camera, camera_capturing_cb capturing_cb , camera_capture_completed_cb completed_cb , void *user_data); /** - * @brief Starts continuous capturing of still images. - * - * @remarks - * If not supported zero shutter lag. the capture resolution could be changed to the preview resolution.\n - * This function causes the transition of camera state from #CAMERA_STATE_CAPTURING to #CAMERA_STATE_CAPTURED automatically\n - * and the corresponding callback function camera_capturing_cb() and camera_capture_completed_cb() will be invoked\n - * Each Captured image will be delivered through camera_capturing_cb().\n - * You will be notified by camera_capture_completed_cb() callback when entire capture is completed.\n - * You should restart camera's preview with calling camera_start_preview().\n + * @brief Starts continuously capturing still images. * - * @param[in] camera The handle to the camera - * @param[in] count The number of still images - * @param[in] interval The interval of capture ( millisecond ) + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @remarks If this is not supported zero shutter lag occurs. The capture resolution could be changed to the preview resolution.\n + * This function causes the transition of the camera state from #CAMERA_STATE_CAPTURING to #CAMERA_STATE_CAPTURED automatically\n + * and the corresponding callback function camera_capturing_cb() and camera_capture_completed_cb() will be invoked\n + * Each Captured image will be delivered through camera_capturing_cb().\n + * The camera_capture_completed_cb() callback notifies about the completion of an entire capture.\n + * The camera's preview should be restarted by calling camera_start_preview().\n. + * @param[in] camera The handle to the camera + * @param[in] count The number of still images + * @param[in] interval The interval of the capture (millisecond) * @param[in] capturing_cb The callback for capturing data - * @param[in] completed_cb The callback for notification of completed + * @param[in] completed_cb The callback for notification of completion * @param[in] user_data The user data - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #CAMERA_ERROR_INVALID_STATE Invalid state - * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation - * + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_INVALID_STATE Invalid state + * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @post If it succeeds the camera state will be #CAMERA_STATE_CAPTURED. * * @see camera_start_preview() @@ -843,31 +878,37 @@ int camera_start_capture(camera_h camera, camera_capturing_cb capturing_cb , cam 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); /** - * @brief Abort continuous capturing. + * @brief Aborts continuous capturing. * - * @remarks The camera state will be changed to the #CAMERA_STATE_CAPTURED state - * @param[in] camera The handle to the camera - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #CAMERA_ERROR_INVALID_STATE Invalid state - * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation - * @pre The camera state should be #CAMERA_STATE_PREVIEW + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @remarks The camera state will be changed to #CAMERA_STATE_CAPTURED. + * @param[in] camera The handle to the camera + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_INVALID_STATE Invalid state + * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @pre The camera state must be set to #CAMERA_STATE_PREVIEW. * * @see camera_start_continuous_capture() */ int camera_stop_continuous_capture(camera_h camera); - /** * @brief Gets the state of the camera. * - * @param[in] camera The handle to the camera - * @param[out] state The current state of camera - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] state The current state of the camera + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_create() * @see camera_start_preview() * @see camera_stop_preview() @@ -876,19 +917,23 @@ int camera_stop_continuous_capture(camera_h camera); int camera_get_state(camera_h camera, camera_state_e *state); /** - * @brief Starts camera auto-focusing, Asynchronously + * @brief Starts camera auto-focusing, asynchronously. * - * @remarks If continuous status is true, the camera continuously tries to focus - * - * @param[in] camera The handle to the camera - * @param[in] continuous The status of continuous focusing - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #CAMERA_ERROR_INVALID_STATE Invalid state - * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation - * @pre The camera state should be #CAMERA_STATE_PREVIEW - * @post The camera focus state will be #CAMERA_FOCUS_STATE_ONGOING. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @remarks If continuous status is @c true, the camera continuously tries to focus. + * @param[in] camera The handle to the camera + * @param[in] continuous The status of continuous focusing + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_INVALID_STATE Invalid state + * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @pre The camera state must be set to #CAMERA_STATE_PREVIEW. + * @post The camera focus state will be #CAMERA_FOCUS_STATE_ONGOING. * * @see camera_cancel_focusing() * @see camera_set_focus_changed_cb() @@ -899,14 +944,18 @@ int camera_start_focusing(camera_h camera, bool continuous); /** * @brief Stops camera auto focusing. - * - * @param[in] camera The handle to the camera - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #CAMERA_ERROR_INVALID_STATE Invalid state - * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation - * @pre The camera state should be #CAMERA_STATE_PREVIEW + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @param[in] camera The handle to the camera + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_INVALID_STATE Invalid state + * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @pre The camera state must be set to #CAMERA_STATE_PREVIEW. * * @see camera_start_focusing() * @see camera_focus_changed_cb() @@ -914,37 +963,43 @@ int camera_start_focusing(camera_h camera, bool continuous); int camera_cancel_focusing(camera_h camera); /** - * @brief Sets the display handle to show preview images + * @brief Sets the display handle to show preview images. * + * @since_tizen 2.3 * @remarks This function must be called before previewing (see camera_start_preview()). - * - * @param[in] camera The handle to the camera - * @param[in] type The display type - * @param[in] display The display handle from #GET_DISPLAY() - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #CAMERA_ERROR_INVALID_STATE Invalid state - * @pre The camera state must be #CAMERA_STATE_CREATED + * @param[in] camera The handle to the camera + * @param[in] type The display type + * @param[in] display The display handle from #GET_DISPLAY + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_INVALID_STATE Invalid state + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @pre The camera state must be set to #CAMERA_STATE_CREATED. * * @see camera_start_preview() - * @see GET_DISPLAY() + * @see #GET_DISPLAY */ int camera_set_display(camera_h camera, camera_display_type_e type, camera_display_h display); /** - * @brief Sets the resolution of preview. - * - * @remarks This function should be called before previewing (camera_start_preview()). + * @brief Sets the resolution of the preview. * - * @param[in] camera The handle to the camera - * @param[in] width The preview width - * @param[in] height The preview height - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #CAMERA_ERROR_INVALID_STATE Invalid state - * @pre The camera state must be #CAMERA_STATE_CREATED + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @remarks This function should be called before previewing (camera_start_preview()). + * @param[in] camera The handle to the camera + * @param[in] width The preview width + * @param[in] height The preview height + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_INVALID_STATE Invalid state + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW. * * @see camera_start_preview() * @see camera_get_preview_resolution() @@ -953,57 +1008,62 @@ int camera_set_display(camera_h camera, camera_display_type_e type, camera_displ int camera_set_preview_resolution(camera_h camera, int width, int height); /** - * @brief Gets the resolution of preview. - * - * @param[in] camera The handle to the camera - * @param[out] width The preview width - * @param[out] height The preview height - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @brief Gets the resolution of the preview. * + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] width The preview width + * @param[out] height The preview height + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_set_preview_resolution() * @see camera_foreach_supported_preview_resolution() */ int camera_get_preview_resolution(camera_h camera, int *width, int *height); /** - * @brief Gets the recommended preview resolution - * - * @remarks Depend on capture resolution aspect ratio and display resolution, the recommended preview resolution is determined. - * - * @param[in] camera The handle to the camera - * @param[out] width The preview width - * @param[out] height The preview height - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @brief Gets the recommended preview resolution. * + * @since_tizen 2.3 + * @remarks Depending on the capture resolution aspect ratio and display resolution, the recommended preview resolution is determined. + * @param[in] camera The handle to the camera + * @param[out] width The preview width + * @param[out] height The preview height + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_set_preview_resolution() * @see camera_foreach_supported_preview_resolution() */ int camera_get_recommended_preview_resolution(camera_h camera, int *width, int *height); /** - * @brief Starts the face detection. - * @remarks - * This should be called after preview is started.\n - * The callback will invoked when face detected in preview frame.\n - * Internally starting continuous focus and focusing on detected face.\n - * When the face detection is running, 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 - * If invoke camera_stop_preview(), face detection is stopped. and then resuming preview with camera_start_preview(), you should call this method again to resume face detection. - * - * @param[in] camera The handle to the camera - * @param[in] callback The callback for notify detected face - * @param[in] user_data The user data to be passed to the callback function - * - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #CAMERA_ERROR_INVALID_STATE Not preview state - * @retval #CAMERA_ERROR_INVALID_OPERATION Not supported this feature - * - * @pre The camera state must be #CAMERA_STATE_PREVIEW + * @brief Starts face detection. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @remarks This should be called after the preview is started.\n + * This callback will be invoked when the face is detected in the preview frame.\n + * Internally it starts continuous focus and focusing on the detected face.\n + * 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 + * 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. + * @param[in] camera The handle to the camera + * @param[in] callback The callback to notify face detection + * @param[in] user_data The user data to be passed to the callback function + * + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_INVALID_STATE Not preview state + * @retval #CAMERA_ERROR_INVALID_OPERATION Not supported this feature + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @pre The camera state must be #CAMERA_STATE_PREVIEW. * * @see camera_stop_face_detection() * @see camera_face_detected_cb() @@ -1012,14 +1072,18 @@ int camera_get_recommended_preview_resolution(camera_h camera, int *width, int * int camera_start_face_detection(camera_h camera, camera_face_detected_cb callback, void * user_data); /** - * @brief Stops the face detection. - * - * @param[in] camera The handle to the camera - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @brief Stops face detection. * - * @pre This should be called after face detection was started. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @param[in] camera The handle to the camera + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @pre This should be called after face detection is started. * * @see camera_start_face_detection() * @see camera_is_supported_face_detection() @@ -1027,40 +1091,6 @@ int camera_start_face_detection(camera_h camera, camera_face_detected_cb callbac int camera_stop_face_detection(camera_h camera); /** - * @brief Zooming on the detected face - * - * @remarks The face id is getting from camera_face_detected_cb().\n - * - * @param[in] camera The handle to the camera - * @param[in] face_id The face id to zoom - * - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #CAMERA_ERROR_INVALID_STATE face zoom was already enabled. - * @retval #CAMERA_ERROR_INVALID_OPERATION Not supported this feature - * - * @pre This should be called after face detection was started. - * - * @see camera_cancel_face_zoom() - * @see camera_start_face_detection() - */ -int camera_face_zoom(camera_h camera, int face_id); - -/** - * @brief Cancel zooming on the face - * - * @param[in] camera The handle to the camera - * - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * - * @see camera_face_zoom() - * @see camera_start_face_detection() - */ -int camera_cancel_face_zoom(camera_h camera); - -/** * @} */ @@ -1070,15 +1100,33 @@ int camera_cancel_face_zoom(camera_h camera); */ /** - * @brief Retrieves all supported camera preview resolutions by invoking callback function once for each supported camera preview resolution. + * @brief Gets continuous capture feature's supported state. + * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE + * @since_tizen 2.3 + * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section. + * @param[in] camera The handle to the camera + * @return @c true on supported, otherwise false + * @exception #CAMERA_ERROR_NONE Successful + * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * - * @param[in] camera The handle to the camera - * @param[in] callback The callback function to invoke - * @param[in] user_data The user data to be passed to the callback function - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @post This function invokes camera_supported_preview_resolution_cb() repeatly to retrieve each supported preview resolution. + */ + bool camera_is_supported_continuous_capture(camera_h camera); + +/** + * @brief Retrieves all supported camera preview resolutions by invoking the callback function once for each supported camera preview resolution. + * + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] callback The callback function to be invoked + * @param[in] user_data The user data to be passed to the callback function + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @post This function invokes camera_supported_preview_resolution_cb() repeatedly to retrieve each supported preview resolution. * * @see camera_set_preview_resolution() * @see camera_get_preview_resolution() @@ -1096,177 +1144,182 @@ int camera_foreach_supported_preview_resolution(camera_h camera, * @{ */ - /** + * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE * @brief Sets the display rotation. - * @ingroup CAPI_MEDIA_CAMERA_X11_DISPLAY_MODULE - * - * - * @remarks This function should be called before previewing (see camera_start_preview())\n - * This function is valid only for #CAMERA_DISPLAY_TYPE_X11 - * - * @param[in] camera The handle to the camera - * @param[in] rotation The display rotation - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #CAMERA_ERROR_INVALID_STATE Invalid state - * @retval #CAMERA_ERROR_INVALID_OPERATION Display type is not X11 * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @remarks This function should be called before previewing (see camera_start_preview()) + * @param[in] camera The handle to the camera + * @param[in] rotation The display rotation + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_INVALID_STATE Invalid state + * @retval #CAMERA_ERROR_INVALID_OPERATION Display type is incorrect + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_start_preview() - * @see camera_get_x11_display_rotation() + * @see camera_get_display_rotation() */ -int camera_set_x11_display_rotation(camera_h camera, camera_rotation_e rotation); +int camera_set_display_rotation(camera_h camera, camera_rotation_e rotation); /** + * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE * @brief Gets the display rotation. - * @ingroup CAPI_MEDIA_CAMERA_X11_DISPLAY_MODULE - * - * @remarks This function is valid only for #CAMERA_DISPLAY_TYPE_X11. * - * @param[in] camera The handle to the camera - * @param[out] rotation The display rotation - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * - * @see camera_set_x11_display_rotation() + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] rotation The display rotation + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @see camera_set_display_rotation() */ -int camera_get_x11_display_rotation(camera_h camera, camera_rotation_e *rotation); +int camera_get_display_rotation(camera_h camera, camera_rotation_e *rotation); /** + * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE * @brief Sets the display flip. - * @ingroup CAPI_MEDIA_CAMERA_X11_DISPLAY_MODULE - * * - * @remarks This function is valid only for #CAMERA_DISPLAY_TYPE_X11 - * - * @param[in] camera The handle to the camera + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @param[in] camera The handle to the camera * @param[in] flip The display flip - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #CAMERA_ERROR_INVALID_STATE Invalid state - * @retval #CAMERA_ERROR_INVALID_OPERATION Display type is not X11 - * - * @see camera_get_x11_display_flip() + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_INVALID_STATE Invalid state + * @retval #CAMERA_ERROR_INVALID_OPERATION Display type is incorrect + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @see camera_get_display_flip() */ -int camera_set_x11_display_flip(camera_h camera, camera_flip_e flip); +int camera_set_display_flip(camera_h camera, camera_flip_e flip); /** + * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE * @brief Gets the display flip. - * @ingroup CAPI_MEDIA_CAMERA_X11_DISPLAY_MODULE - * - * @remarks This function is valid only for #CAMERA_DISPLAY_TYPE_X11. - * - * @param[in] camera The handle to the camera - * @param[out] flip The display flip - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter * - * @see camera_set_x11_display_flip() + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] flip The display flip + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @see camera_set_display_flip() */ -int camera_get_x11_display_flip(camera_h camera, camera_flip_e *flip); - +int camera_get_display_flip(camera_h camera, camera_flip_e *flip); /** - * @brief Sets the visible property for X11 display. - * @ingroup CAPI_MEDIA_CAMERA_X11_DISPLAY_MODULE - * - * @remarks This function is valid only for #CAMERA_DISPLAY_TYPE_X11. - * @param[in] camera The handle to the camera - * @param[in] visible The display visibility property + * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE + * @brief Sets the visible property for display. * - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @param[in] camera The handle to the camera + * @param[in] visible The display visibility property * - * @see camera_is_x11_display_visible() + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @see camera_is_display_visible() */ -int camera_set_x11_display_visible(camera_h camera, bool visible); +int camera_set_display_visible(camera_h camera, bool visible); /** - * @brief Gets the visible property of X11 display. - * @ingroup CAPI_MEDIA_CAMERA_X11_DISPLAY_MODULE - * - * @remarks This function is valid only for #CAMERA_DISPLAY_TYPE_X11 - * @param[in] camera The handle to the camera - * @param[out] visible @c true if camera display is visible, otherwise @c false + * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE + * @brief Gets the visible property of display. * - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] visible @c true if camera display is visible, otherwise @c false * - * @see camera_set_x11_display_visible() + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @see camera_set_display_visible() */ -int camera_is_x11_display_visible(camera_h camera, bool *visible); - +int camera_is_display_visible(camera_h camera, bool *visible); /** - * @brief Sets the X11 display aspect ratio. - * @ingroup CAPI_MEDIA_CAMERA_X11_DISPLAY_MODULE - * - * @remarks This function is valid only for #CAMERA_DISPLAY_TYPE_X11 - * @param[in] camera The handle to the camera - * @param[in] ratio The display apect ratio + * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE + * @brief Sets the display mode. * - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] mode The display mode * - * @see camera_get_x11_display_mode() + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @see camera_get_display_mode() */ -int camera_set_x11_display_mode(camera_h camera , camera_display_mode_e mode); - +int camera_set_display_mode(camera_h camera , camera_display_mode_e mode); /** - * @brief Gets the X11 display aspect ratio. - * @ingroup CAPI_MEDIA_CAMERA_X11_DISPLAY_MODULE - * - * @remarks This function is valid only for #CAMERA_DISPLAY_TYPE_X11. - * @param[in] camera The handle to the camera - * @param[out] ratio The display apect ratio + * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE + * @brief Gets the display mode. * - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] mode The display mode * - * @see camera_set_x11_display_mode() + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @see camera_set_display_mode() */ -int camera_get_x11_display_mode(camera_h camera, camera_display_mode_e *mode); - +int camera_get_display_mode(camera_h camera, camera_display_mode_e *mode); /** - * @brief Sets the resolution of capture image. - * - * @param[in] camera The handle to the camera - * @param[in] width The capture width - * @param[in] height The capture height - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #CAMERA_ERROR_INVALID_STATE Invalid state - * @pre The camera state must be #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW. - * + * @brief Sets the resolution of the captured image. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @param[in] camera The handle to the camera + * @param[in] width The capture width + * @param[in] height The capture height + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_INVALID_STATE Invalid state + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW. * @see camera_start_capture() * @see camera_get_capture_resolution() * @see camera_foreach_supported_capture_resolution() */ int camera_set_capture_resolution(camera_h camera, int width, int height); - /** - * @brief Gets the resolution of capture image. - * - * - * @param[in] camera The handle to the camera - * @param[out] width The capture width - * @param[out] height The capture height - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @brief Gets the resolution of the captured image. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] width The capture width + * @param[out] height The capture height + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_set_capture_resolution() * @see camera_foreach_supported_capture_resolution() */ @@ -1282,16 +1335,18 @@ int camera_get_capture_resolution(camera_h camera, int *width, int *height); */ /** - * @brief Retrieves all supported camera capture resolutions by invoking the callback function once for each supported camera capture resolution. + * @brief Retrieves all supported camera captured resolutions by invoking the callback function once for each supported camera capture resolution. * - * @param[in] camera The handle to the camera - * @param[in] callback The callback function to register + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] callback The callback function to register * @param[in] user_data The user data to be passed to the callback function - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @post This function invokes camera_supported_capture_resolution_cb() repeatly to retrieve each supported capture resolution. - * + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @post This function invokes camera_supported_capture_resolution_cb() repeatedly to retrieve each supported capture resolution. * @see camera_set_capture_resolution() * @see camera_get_capture_resolution() * @see camera_supported_capture_resolution_cb() @@ -1308,22 +1363,20 @@ int camera_foreach_supported_capture_resolution(camera_h camera, * @{ */ - /** - * @brief Sets the format of an image to capture. - * - * @remarks This function should be called before capturing (see camera_start_capture()). - * - * @param[in] camera The handle to the camera - * @param[out] format The format of capture image - * - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #CAMERA_ERROR_INVALID_STATE Invalid state - * - * @pre The camera state must be CAMERA_STATE_CREATED or CAMERA_STATE_PREVIEW. + * @brief Sets the format of an image to be captured. * + * @since_tizen 2.3 + * @remarks This function should be called before capturing (see camera_start_capture()). + * @param[in] camera The handle to the camera + * @param[out] format The format of the image to be captured + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_INVALID_STATE Invalid state + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW. * @see camera_start_capture() * @see camera_get_capture_format() * @see camera_foreach_supported_capture_format() @@ -1331,14 +1384,16 @@ int camera_foreach_supported_capture_resolution(camera_h camera, int camera_set_capture_format(camera_h camera, camera_pixel_format_e format); /** - * @brief Gets the format of capture image to capture. - * - * @param[in] camera The handle to the camera - * @param[out] format The format of capture image - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @brief Gets the format of the image to be captured. * + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] format The format of the image to be captured + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_set_capture_format() * @see camera_foreach_supported_capture_format() */ @@ -1354,17 +1409,18 @@ int camera_get_capture_format(camera_h camera, camera_pixel_format_e *format); */ /** - * @brief Retrieves all supported camera capture formats by invoking callback function once for each supported camera capture format. - * + * @brief Retrieves all supported camera capture formats by invoking the callback function once for each supported camera capture format. * - * @param[in] camera The handle to the camera - * @param[in] callback The callback function to invoke + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] callback The callback function to be invoked * @param[in] user_data The user data to be passed to the callback function - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @post This function invokes camera_supported_capture_format_cb() repeatdly to retrieve each supported capture format. - * + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @post This function invokes camera_supported_capture_format_cb() repeatedly to retrieve each supported capture format. * @see camera_set_capture_format() * @see camera_get_capture_format() * @see camera_supported_capture_format_cb() @@ -1383,18 +1439,17 @@ int camera_foreach_supported_capture_format(camera_h camera, /** * @brief Sets the preview data format. - * - * - * @remarks This function should be called before previewing (see camera_start_preview()). - * - * @param[in] camera The handle to the camera - * @param[out] format The preview data format - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #CAMERA_ERROR_INVALID_STATE Invalid state - * @pre The camera state must be CAMERA_STATE_CREATED - * + * @since_tizen 2.3 + * @remarks This function should be called before previewing (see camera_start_preview()). + * @param[in] camera The handle to the camera + * @param[in] format The preview data format + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_INVALID_STATE Invalid state + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @pre The camera state must be set to #CAMERA_STATE_CREATED. * @see camera_start_preview() * @see camera_get_preview_format() * @see camera_foreach_supported_preview_format() @@ -1402,14 +1457,15 @@ int camera_foreach_supported_capture_format(camera_h camera, int camera_set_preview_format(camera_h camera, camera_pixel_format_e format); /** - * @brief Gets the format of preview stream. - * - * @param[in] camera The handle to the camera - * @param[out] format The preview data format - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @brief Gets the format of the preview stream. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] format The preview data format + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_set_preview_format() * @see camera_foreach_supported_preview_format() */ @@ -1425,16 +1481,17 @@ int camera_get_preview_format(camera_h camera, camera_pixel_format_e *format); */ /** - * @brief Retrieves all supported camera preview formats by invoking callback function once for each supported camera preview format. - * - * @param[in] camera The handle to the camera - * @param[in] callback The callback function to invoke + * @brief Retrieves all supported camera preview formats by invoking the callback function once for each supported camera preview format. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] callback The callback function to be invoked * @param[in] user_data The user data to be passed to the callback function - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @post This function invokes camera_supported_preview_format_cb() repeatly to retrieve each supported preview format. - * + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @post This function invokes camera_supported_preview_format_cb() repeatly to retrieve each supported preview format. * @see camera_set_preview_format() * @see camera_get_preview_format() * @see camera_supported_preview_format_cb() @@ -1442,42 +1499,70 @@ int camera_get_preview_format(camera_h camera, camera_pixel_format_e *format); int camera_foreach_supported_preview_format(camera_h camera, camera_supported_preview_format_cb callback, void *user_data); - /** - * @biref Gets face detection feature supported state * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE - * @param[in] camera The handle to the camera - * @return true on supported, otherwise false - * + * @brief Gets the face detection feature's supported state. + * @since_tizen 2.3 + * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section. + * @param[in] camera The handle to the camera + * @return @c true if supported, otherwise @c false * @see camera_start_face_detection() * @see camera_stop_face_detection() + * @exception #CAMERA_ERROR_NONE Successful + * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported */ bool camera_is_supported_face_detection(camera_h camera); /** - * @biref Gets zero shutter lag feature supported state + * @brief Gets the zero shutter lag feature's supported state. * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE - * @remarks If supporting zero shutter lag, you can do continuous shot with full capture size - * @param[in] camera The handle to the camera - * @return true on supported, otherwise false + * @since_tizen 2.3 + * @remarks If supporting zero shutter lag, continuous shot can be done with full capture size. \n + * The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section. + * @param[in] camera The handle to the camera + * @return @c true if supported, otherwise @c false + * @exception #CAMERA_ERROR_NONE Successful + * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * */ bool camera_is_supported_zero_shutter_lag(camera_h camera); /** - * @biref Gets camera device count * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE - * @remarks If device supports primary and secondary camera, this returns 2. If 1 is returned, device supports only primary camera. - * @param[in] camera The handle to the camera - * @param[out] device count Device count - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @brief Gets the camera device count. + * @since_tizen 2.3 + * @remarks If the device supports primary and secondary camera, this returns @c 2. If @c 1 is returned, the device only supports primary camera. + * @param[in] camera The handle to the camera + * @param[out] device_count The device count + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * */ int camera_get_device_count(camera_h camera, int *device_count); /** + * @brief Gets the media packet preview callback feature's supported state. + * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE + * @since_tizen 2.3 + * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section. + * @param[in] camera The handle to the camera + * @return @c true if supported, otherwise @c false + * @exception #CAMERA_ERROR_NONE Successful + * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * + */ +bool camera_is_supported_media_packet_preview_cb(camera_h camera); + +/** * @} */ @@ -1487,23 +1572,24 @@ int camera_get_device_count(camera_h camera, int *device_count); */ /** - * @brief Registers a callback function to be called once per frame when previewing. - * - * @remarks This callback does not work in video recorder mode.\n - * This function should be called before previewing (see camera_start_preview())\n - * registered callback is called on internal thread of camera.\n - * You can retrieve video frame using registered callback. - * The callback function holds the same buffer that will be drawn on the display device. - * So if you change the buffer, it will be displayed on the device. - * - * @param[in] camera The handle to the camera - * @param[in] callback The callback function to register - * @param[in] user_data The user data to be passed to the callback function - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @pre The camera state should be #CAMERA_STATE_CREATED. - * + * @brief Registers a callback function to be called once per frame when previewing. + * @since_tizen 2.3 + * @remarks This callback does not work in the video recorder mode.\n + * This function should be called before previewing (see camera_start_preview()).\n + * A registered callback is called on the internal thread of the camera.\n + * A video frame can be retrieved using a registered callback.\n + * The callback function holds the same buffer that will be drawn on the display device.\n + * So if you change the buffer in a registerd callback, it will be displayed on the device\n + * and the buffer is only available in a registerd callback. + * @param[in] camera The handle to the camera + * @param[in] callback The callback function to be registered + * @param[in] user_data The user data to be passed to the callback function + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @pre The camera's state must be set to #CAMERA_STATE_CREATED. * @see camera_start_preview() * @see camera_unset_preview_cb() * @see camera_preview_cb() @@ -1511,29 +1597,68 @@ int camera_get_device_count(camera_h camera, int *device_count); int camera_set_preview_cb(camera_h camera, camera_preview_cb callback, void *user_data); /** - * @brief Unregisters the callback function. - * - * @param[in] camera The handle to the camera - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @brief Unregisters the callback function. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_set_preview_cb() */ int camera_unset_preview_cb(camera_h camera); /** - * @brief Registers a callback function to be called when camera state changes. - * - * @param[in] camera The handle to the camera - * @param[in] callback The callback function to register - * @param[in] user_data The user data to be passed to the callback function - * - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @post This function will invoke camera_state_changed_cb() when camera state changes. - * + * @brief Registers a media packet callback function to be called once per frame when previewing. + * @since_tizen 2.3 + * @remarks This callback does not work in video recorder mode.\n + * This function should be called before previewing (see camera_start_preview())\n + * A registered callback is called on the internal thread of the camera.\n + * A video frame can be retrieved using a registered callback as a media packet.\n + * The callback function holds the same buffer that will be drawn on the display device.\n + * So if you change the media packet in a registerd callback, it will be displayed on the device\n + * and the media packet is available until it's destroyed by media_packet_destroy(). + * @param[in] camera The handle to the camera + * @param[in] callback The callback function to be registered + * @param[in] user_data The user data to be passed to the callback function + * @return 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @pre The camera's state should be #CAMERA_STATE_CREATED. + * @see camera_start_preview() + * @see camera_unset_media_packet_preview_cb() + * @see camera_media_packet_preview_cb() + */ +int camera_set_media_packet_preview_cb(camera_h camera, camera_media_packet_preview_cb callback, void *user_data); + +/** + * @brief Unregisters the media packet callback function. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @see camera_set_media_packet_preview_cb() + */ +int camera_unset_media_packet_preview_cb(camera_h camera); + +/** + * @brief Registers a callback function to be called when the camera state changes. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] callback The callback function to register + * @param[in] user_data The user data to be passed to the callback function + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @post This function will invoke camera_state_changed_cb() when the camera state changes. * @see camera_unset_state_changed_cb() * @see camera_state_changed_cb() */ @@ -1541,28 +1666,29 @@ int camera_set_state_changed_cb(camera_h camera, camera_state_changed_cb callbac void *user_data); /** - * @brief Unregisters the callback function. - * - * @param[in] camera The handle to the camera - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * - * @see camera_set_state_changed_cb() + * @brief Unregisters the callback function. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @see camera_set_state_changed_cb() */ int camera_unset_state_changed_cb(camera_h camera); /** - * @brief Registers a callback function to be called when camera interrupted by policy. - * - * @param[in] camera The handle to the camera - * @param[in] callback The callback function to register - * @param[in] user_data The user data to be passed to the callback function - * - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @brief Registers a callback function to be called when the camera is interrupted by policy. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] callback The callback function to register + * @param[in] user_data The user data to be passed to the callback function + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_unset_interrupted_cb() * @see camera_interrupted_cb() */ @@ -1570,29 +1696,30 @@ int camera_set_interrupted_cb(camera_h camera, camera_interrupted_cb callback, void *user_data); /** - * @brief Unregisters the callback function. - * - * @param[in] camera The handle to the camera - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * - * @see camera_set_interrupted_cb() + * @brief Unregisters the callback function. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @see camera_set_interrupted_cb() */ int camera_unset_interrupted_cb(camera_h camera); - /** - * @brief Registers a callback function to be called when auto-focus state changes. - * - * @param[in] camera The handle to the camera - * @param[in] callback The callback function to register + * @brief Registers a callback function to be called when the auto-focus state changes. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] callback The callback function to register * @param[in] user_data The user data to be passed to the callback function - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @post This function will invoke camera_focus_changed_cb() when auto-focus state changes. - * + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @post This function will invoke camera_focus_changed_cb() when the auto-focus state changes. * @see camera_start_focusing() * @see camera_cancel_focusing() * @see camera_unset_focus_changed_cb() @@ -1601,53 +1728,53 @@ int camera_unset_interrupted_cb(camera_h camera); int camera_set_focus_changed_cb(camera_h camera, camera_focus_changed_cb callback, void *user_data); - /** - * @brief Unregisters the callback function. - * - * @param[in] camera The handle to the camera - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * - * @see camera_set_focus_changed_cb() + * @brief Unregisters the callback function. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @see camera_set_focus_changed_cb() */ int camera_unset_focus_changed_cb(camera_h camera); /** - * @brief Registers a callback function to be called when an asynchronous operation error occurred. - * - * @remarks - * This callback inform critical error situation.\n - * When invoked this callback, user should release the resource and terminate application.\n - * These error code will be occurred\n - * #CAMERA_ERROR_DEVICE\n - * #CAMERA_ERROR_INVALID_OPERATION\n - * #CAMERA_ERROR_OUT_OF_MEMORY\n - * - * @param[in] camera The handle to the camera - * @param[in] callback The callback function to register - * @param[in] user_data The user data to be passed to the callback function - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @post This function will invoke camera_error_cb() when an asynchronous operation error occur. - * + * @brief Registers a callback function to be called when an asynchronous operation error occurs. + * @since_tizen 2.3 + * @remarks This callback informs about a critical error situation.\n + * When this callback is invoked, the user should release the resource and terminate the application.\n + * In case of errors, one of the following codes will occur:\n + * #CAMERA_ERROR_DEVICE,\n + * #CAMERA_ERROR_INVALID_OPERATION,\n + * #CAMERA_ERROR_OUT_OF_MEMORY. + * @param[in] camera The handle to the camera + * @param[in] callback The callback function to register + * @param[in] user_data The user data to be passed to the callback function + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @post This function will invoke camera_error_cb() when an asynchronous operation error occurs. + * @see camera_unset_error_cb() * @see camera_error_cb() */ int camera_set_error_cb(camera_h camera, camera_error_cb callback, void *user_data); - /** - * @brief Unregisters the callback function. - * - * @param[in] camera The handle to the camera - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * - * @see camera_set_error_cb() + * @brief Unregisters the callback function. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @see camera_set_error_cb() */ int camera_unset_error_cb(camera_h camera); @@ -1662,22 +1789,20 @@ int camera_unset_error_cb(camera_h camera); /** * @brief Called to get each supported auto-focus mode. - * * @param[in] mode The supported auto-focus mode * @param[in] user_data The user data passed from the foreach function - * @return @c true to continue with the next iteration of the loop, \n @c false to break outsp of the loop. - * @pre camera_attr_foreach_supported_af_mode() will invoke this callback. + * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop + * @pre camera_attr_foreach_supported_af_mode() will invoke this callback. * @see camera_attr_foreach_supported_af_mode() */ typedef bool (*camera_attr_supported_af_mode_cb)(camera_attr_af_mode_e mode, void *user_data); /** * @brief Called to get each supported exposure mode. - * * @param[in] mode The supported exposure mode * @param[in] user_data The user data passed from the foreach function - * @return @c true to continue with the next iteration of the loop, \n @c false to break outsp of the loop. - * @pre camera_attr_foreach_supported_exposure_mode() will invoke this callback. + * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop + * @pre camera_attr_foreach_supported_exposure_mode() will invoke this callback. * @see camera_attr_foreach_supported_exposure_mode() * @see #camera_attr_exposure_mode_e */ @@ -1686,22 +1811,20 @@ typedef bool (*camera_attr_supported_exposure_mode_cb)(camera_attr_exposure_mode /** * @brief Called to get each supported ISO mode. - * - * @param[in] iso The supported iso mode + * @param[in] iso The supported ISO mode * @param[in] user_data The user data passed from the foreach function - * @return @c true to continue with the next iteration of the loop, \n @c false to break outsp of the loop. - * @pre camera_attr_foreach_supported_iso() will invoke this callback. + * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop + * @pre camera_attr_foreach_supported_iso() will invoke this callback. * @see camera_attr_foreach_supported_iso() */ typedef bool (*camera_attr_supported_iso_cb)(camera_attr_iso_e iso, void *user_data); /** * @brief Called to get each supported white balance. - * * @param[in] wb The supported white balance mode * @param[in] user_data The user data passed from the foreach function - * @return @c true to continue with the next iteration of the loop, \n @c false to break outsp of the loop. - * @pre camera_attr_foreach_supported_whitebalance() will invoke this callback. + * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop + * @pre camera_attr_foreach_supported_whitebalance() will invoke this callback. * @see camera_attr_foreach_supported_whitebalance() * @see #camera_attr_whitebalance_e */ @@ -1710,11 +1833,10 @@ typedef bool (*camera_attr_supported_whitebalance_cb)(camera_attr_whitebalance_e /** * @brief Called to get each supported effect mode. - * - * @param[in] effect The supported effect mode + * @param[in] effect The supported effect mode * @param[in] user_data The user data passed from the foreach function - * @return @c true to continue with the next iteration of the loop, \n @c false to break outsp of the loop. - * @pre camera_attr_foreach_supported_effect() will invoke this callback. + * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop + * @pre camera_attr_foreach_supported_effect() will invoke this callback. * @see camera_attr_foreach_supported_effect() */ typedef bool (*camera_attr_supported_effect_cb)(camera_attr_effect_mode_e effect, @@ -1722,11 +1844,10 @@ typedef bool (*camera_attr_supported_effect_cb)(camera_attr_effect_mode_e effect /** * @brief Called to get each supported scene mode. - * * @param[in] mode The supported scene mode * @param[in] user_data The user data passed from the foreach function - * @return @c true to continue with the next iteration of the loop, \n @c false to break outsp of the loop. - * @pre camera_attr_foreach_supported_scene_mode() will invoke this callback. + * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop + * @pre camera_attr_foreach_supported_scene_mode() will invoke this callback. * @see camera_attr_foreach_supported_scene_mode() * @see #camera_attr_scene_mode_e */ @@ -1735,11 +1856,10 @@ typedef bool (*camera_attr_supported_scene_mode_cb)(camera_attr_scene_mode_e mod /** * @brief Called to get each supported flash mode. - * * @param[in] mode The supported flash mode * @param[in] user_data The user data passed from the foreach function - * @return @c true to continue with the next iteration of the loop, \n @c false to break outsp of the loop. - * @pre camera_attr_foreach_supported_flash_mode() will invoke this callback. + * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop + * @pre camera_attr_foreach_supported_flash_mode() will invoke this callback. * @see camera_attr_foreach_supported_flash_mode() */ typedef bool (*camera_attr_supported_flash_mode_cb)(camera_attr_flash_mode_e mode, @@ -1747,16 +1867,45 @@ typedef bool (*camera_attr_supported_flash_mode_cb)(camera_attr_flash_mode_e mod /** * @brief Called to get each supported FPS mode. - * * @param[in] mode The supported FPS mode * @param[in] user_data The user data passed from the foreach function - * @return @c true to continue with the next iteration of the loop, \n @c false to break outsp of the loop. - * @pre camera_attr_foreach_supported_fps() will invoke this callback. + * @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop + * @pre camera_attr_foreach_supported_fps() will invoke this callback. * @see camera_attr_foreach_supported_fps() */ typedef bool (*camera_attr_supported_fps_cb)(camera_attr_fps_e fps, void *user_data); /** + * @brief Called to get each supported stream flip mode. + * @param[in] mode The supported stream flip mode + * @param[in] user_data The user data passed from the foreach function + * @return @c true to continue with the next iteration of the loop, \n @c false to break out of the loop + * @pre camera_attr_foreach_supported_stream_flip() will invoke this callback. + * @see camera_attr_foreach_supported_stream_flip() + */ +typedef bool (*camera_attr_supported_stream_flip_cb)(camera_flip_e flip, void *user_data); + +/** + * @brief Called to get each supported stream rotation mode. + * @param[in] mode The supported stream rotation mode + * @param[in] user_data The user data passed from the foreach function + * @return @c true to continue with the next iteration of the loop, \n @c false to break out of the loop + * @pre camera_attr_foreach_supported_stream_rotation() will invoke this callback. + * @see camera_attr_foreach_supported_stream_rotation() + */ +typedef bool (*camera_attr_supported_stream_rotation_cb)(camera_rotation_e rotation, void *user_data); + +/** + * @brief Called to get each supported theater mode. + * @param[in] mode The supported theater mode + * @param[in] user_data The user data passed from the foreach function + * @return @c true to continue with the next iteration of the loop, \n @c false to break out of the loop + * @pre camera_attr_foreach_supported_theater_mode() will invoke this callback. + * @see camera_attr_foreach_supported_theater_mode() + */ +typedef bool (*camera_attr_supported_theater_mode_cb)(camera_attr_theater_mode_e mode, void *user_data); + +/** * @} */ @@ -1767,16 +1916,16 @@ typedef bool (*camera_attr_supported_fps_cb)(camera_attr_fps_e fps, void *user_d /** * @brief Sets the preview frame rate. - * - * @remarks This function should be called before previewing (see camera_start_preview()). - * - * @param[in] camera The handle to the camera - * @param[in] fps The frame rate - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #CAMERA_ERROR_INVALID_STATE Invalid state - * + * @since_tizen 2.3 + * @remarks This function should be called before previewing (see camera_start_preview()). + * @param[in] camera The handle to the camera + * @param[in] fps The frame rate + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_INVALID_STATE Invalid state + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_start_preview() * @see camera_attr_get_preview_fps() * @see camera_attr_foreach_supported_fps() @@ -1785,13 +1934,14 @@ int camera_attr_set_preview_fps(camera_h camera, camera_attr_fps_e fps); /** * @brief Gets the frames per second of a preview video stream. - * - * @param[in] camera The handle to the camera - * @param[out] fps The frames per second of preview video stream - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] fps The frames per second of the preview video stream + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_set_preview_fps() * @see camera_attr_foreach_supported_fps() */ @@ -1807,16 +1957,17 @@ int camera_attr_get_preview_fps(camera_h camera, camera_attr_fps_e *fps); */ /** - * @brief Retrieves all supported FPS modes by invoking callback function once for each supported FPS mode. - * - * @param[in] camera The handle to the camera - * @param[in] callback The callback function to invoke - * @param[in] user_data The user data to be passed to the callback function - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @post This function invokes camera_attr_supported_fps_cb() repeatly to get each supported FPS mode. - * + * @brief Retrieves all supported FPS modes by invoking the callback function once for each supported FPS mode. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] callback The callback function to invoke + * @param[in] user_data The user data to be passed to the callback function + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @post This function invokes camera_attr_supported_fps_cb() repeatly to get each supported FPS mode. * @see camera_attr_set_preview_fps() * @see camera_attr_get_preview_fps() * @see camera_attr_supported_fps_cb() @@ -1834,46 +1985,52 @@ int camera_attr_foreach_supported_fps(camera_h camera, camera_attr_supported_fps */ /** - * @brief Sets the image quality. - * + * @brief Sets quality of the image. * @details The range for image quality is 1 to 100. If @a quality is out of range, #CAMERA_ERROR_INVALID_PARAMETER error occurred. - * - * @param[in] camera The handle to the camera - * @param[in] quality The quality of image (1 ~ 100) - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #CAMERA_ERROR_INVALID_STATE Invalid state - * @pre The camera state must be #CAMERA_STATE_CREATED, #CAMERA_STATE_PREVIEW. - * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @param[in] camera The handle to the camera + * @param[in] quality The quality of image (1 ~ 100) + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_INVALID_STATE Invalid state + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @pre The camera state must be set to #CAMERA_STATE_CREATED or #CAMERA_STATE_PREVIEW. * @see camera_start_preview() * @see camera_attr_get_image_quality() */ int camera_attr_set_image_quality(camera_h camera, int quality); /** - * @brief Gets the quality of capturing a still image. - * - * @param[in] camera The handle to the camera - * @param[out] quality The quality of image(1 ~ 100) - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @brief Gets the quality of a still image, which is captured. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] quality The quality of the image(1 ~ 100) + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_set_image_quality() */ int camera_attr_get_image_quality(camera_h camera, int *quality); /** * @brief Sets the zoom level. - * @details The range for zoom level is getting from camera_attr_get_zoom_range(). If @a zoom is out of range, #CAMERA_ERROR_INVALID_PARAMETER error occurred. - * - * @param[in] camera The handle to the camera - * @param[in] zoom The zoom level - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @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. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @param[in] camera The handle to the camera + * @param[in] zoom The zoom level + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_get_zoom() * @see camera_attr_get_zoom_range() */ @@ -1881,13 +2038,14 @@ int camera_attr_set_zoom(camera_h camera, int zoom); /** * @brief Gets the zoom level. - * - * @param[in] camera The handle to the camera - * @param[out] zoom The zoom level - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] zoom The zoom level + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_set_zoom() * @see camera_attr_get_zoom_range() */ @@ -1895,14 +2053,16 @@ int camera_attr_get_zoom(camera_h camera, int *zoom); /** * @brief Gets the available zoom level. - * - * @param[in] camera The handle to the camera - * @param[out] min The minimum zoom level - * @param[out] max The maximum zoom level - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @remarks If the min value is greater than the max value, it means that this feature is not supported. + * @param[in] camera The handle to the camera + * @param[out] min The minimum zoom level + * @param[out] max The maximum zoom level + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_set_zoom() * @see camera_attr_get_zoom() */ @@ -1911,13 +2071,16 @@ int camera_attr_get_zoom_range(camera_h camera , int *min , int *max); /** * @brief Sets the auto focus mode. - * - * @param[in] camera The handle to the camera - * @param[in] mode The auto focus mode - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @param[in] camera The handle to the camera + * @param[in] mode The auto focus mode + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_get_af_mode() * @see camera_attr_foreach_supported_af_mode() * @see #camera_attr_af_mode_e @@ -1926,13 +2089,16 @@ int camera_attr_set_af_mode(camera_h camera, camera_attr_af_mode_e mode); /** * @brief Gets the auto focus mode. - * - * @param[in] camera The handle to the camera - * @param[out] mode Auto focus mode - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @param[in] camera The handle to the camera + * @param[out] mode The auto focus mode + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_foreach_supported_af_mode() * @see camera_attr_set_af_mode() * @see #camera_attr_af_mode_e @@ -1940,40 +2106,41 @@ int camera_attr_set_af_mode(camera_h camera, camera_attr_af_mode_e mode); int camera_attr_get_af_mode(camera_h camera, camera_attr_af_mode_e *mode); /** - * @brief Sets auto focus area - * - * @remarks This API is invalid in CAMERA_ATTR_AF_NONE mode.\n - * The coordinates are mapped into preview area - * - * @param[in] camera The handle to the camera - * @param[in] x The x coordinates of focus area - * @param[in] y The y coordinates of focus area - * - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation - * + * @brief Sets auto focus area. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @remarks This API is invalid in the #CAMERA_ATTR_AF_NONE mode.\n + * The coordinates are mapped to preview area. + * @param[in] camera The handle to the camera + * @param[in] x The x coordinates of the focus area + * @param[in] y The y coordinates of the focus area + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_set_af_mode() * @see camera_attr_clear_af_area() */ int camera_attr_set_af_area(camera_h camera, int x, int y); /** - * @brief Clear the auto focus area. - * - * @remarks The focusing area set to the center area - * - * @param[in] camera The handle to the camera - * - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation - * + * @brief Clears the auto focus area. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @remarks The focusing area is set to the center. + * @param[in] camera The handle to the camera + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_INVALID_OPERATION Invalid operation + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_set_af_mode() * @see camera_attr_set_af_area() - * */ int camera_attr_clear_af_area(camera_h camera); @@ -1987,16 +2154,17 @@ int camera_attr_clear_af_area(camera_h camera); */ /** - * @brief Retrieves all supported auto focus modes by invoking callback function once for each supported auto focus mode. - * - * @param[in] camera The handle to the camera - * @param[in] callback The callback function to invoke - * @param[in] user_data The user data to be passed to the callback function - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @post This function invokes camera_attr_supported_af_mode_cb() to get all supported auto focus modes. - * + * @brief Retrieves all supported auto focus modes by invoking the callback function once for each supported auto focus mode. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] callback The callback function to invoke + * @param[in] user_data The user data to be passed to the callback function + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @post This function invokes camera_attr_supported_af_mode_cb() to get all the supported auto focus modes. * @see camera_attr_set_af_mode() * @see camera_attr_get_af_mode() * @see camera_attr_supported_af_mode_cb() @@ -2015,13 +2183,16 @@ int camera_attr_foreach_supported_af_mode(camera_h camera, /** * @brief Sets the exposure mode. - * - * @param[in] camera The handle to the camera + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @param[in] camera The handle to the camera * @param[in] mode The exposure mode - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_get_exposure_mode() * @see camera_attr_foreach_supported_exposure_mode() */ @@ -2029,13 +2200,14 @@ int camera_attr_set_exposure_mode(camera_h camera, camera_attr_exposure_mode_e m /** * @brief Gets the exposure mode. - * - * @param[in] camera The handle to the camera - * @param[out] mode Exposure mode - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] mode The exposure mode + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_set_exposure_mode() * @see camera_attr_foreach_supported_exposure_mode() */ @@ -2051,16 +2223,17 @@ int camera_attr_get_exposure_mode(camera_h camera, camera_attr_exposure_mode_e * */ /** - * @brief Retrieves all supported exposure modes by invoking callback function once for each supported exposure mode. - * - * @param[in] camera The handle to the camera - * @param[in] callback The callback function to invoke - * @param[in] user_data The user data to be passed to the callback function - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @post This function invokes camera_attr_supported_exposure_mode_cb() to get all supported exposure modes. - * + * @brief Retrieves all supported exposure modes by invoking the callback function once for each supported exposure mode. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] callback The callback function to be invoked + * @param[in] user_data The user data to be passed to the callback function + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @post This function invokes camera_attr_supported_exposure_mode_cb() to get all the supported exposure modes. * @see camera_attr_set_exposure_mode() * @see camera_attr_get_exposure_mode() * @see camera_attr_supported_exposure_mode_cb() @@ -2079,53 +2252,62 @@ int camera_attr_foreach_supported_exposure_mode(camera_h camera, /** * @brief Sets the exposure value. - * - * @param[in] camera The handle to the camera - * @param[in] value The exposure value - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @param[in] camera The handle to the camera + * @param[in] value The exposure value + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_get_exposure() */ int camera_attr_set_exposure(camera_h camera, int value); /** * @brief Gets the exposure value. - * - * @param[in] camera The handle to the camera - * @param[out] value Exposure value - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] value The exposure value + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_set_exposure() */ int camera_attr_get_exposure(camera_h camera, int *value); /** * @brief Gets the available exposure value. - * - * @param[in] camera The handle to the camera - * @param[out] min The minimum exposure value - * @param[out] max The maximum exposure value - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @remarks If the min value is greater than the max value, it means that this feature is not supported. + * @param[in] camera The handle to the camera + * @param[out] min The minimum exposure value + * @param[out] max The maximum exposure value + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_set_exposure() */ int camera_attr_get_exposure_range(camera_h camera, int *min, int *max); /** * @brief Sets the ISO level. - * - * @param[in] camera The handle to the camera - * @param[in] iso The ISO Level - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @param[in] camera The handle to the camera + * @param[in] iso The ISO level + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_get_iso() * @see camera_attr_foreach_supported_iso() */ @@ -2133,13 +2315,14 @@ int camera_attr_set_iso(camera_h camera, camera_attr_iso_e iso); /** * @brief Gets the ISO level. - * - * @param[in] camera The handle to the camera - * @param[out] iso ISO Level - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] iso The ISO level + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_set_iso() * @see camera_attr_foreach_supported_iso() */ @@ -2155,16 +2338,17 @@ int camera_attr_get_iso(camera_h camera, camera_attr_iso_e *iso); */ /** - * @brief Retrieves all supported ISO levels by invoking callback function once for each supported ISO level. - * - * @param[in] camera The handle to the camera - * @param[in] callback The callback function to invoke - * @param[in] user_data The user data to be passed to the callback function - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @post This function invokes camera_attr_supported_iso_cb() to get all supported ISO levels. - * + * @brief Retrieves all supported ISO levels by invoking the callback function once for each supported ISO level. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] callback The callback function to be invoked + * @param[in] user_data The user data to be passed to the callback function + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @post This function invokes camera_attr_supported_iso_cb() to get all the supported ISO levels. * @see camera_attr_set_iso() * @see camera_attr_get_iso() * @see camera_attr_supported_iso_cb() @@ -2181,47 +2365,88 @@ int camera_attr_foreach_supported_iso(camera_h camera, camera_attr_supported_iso * @{ */ - /** - * @brief Sets the theater mode - * - * @remarks If you want to display preview image on external display with full screen mode, use this function. - * - * @param[in] camera The handle to the camera - * @param[in] mode The mode to change - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @pre This function is valid only when external display was connected. - * + * @brief Sets the theater mode. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @remarks If you want to display the preview image on the external display with the full screen mode, use this function. + * @param[in] camera The handle to the camera + * @param[in] mode The mode to change + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @pre This function is valid only when the external display is connected. * @see camera_attr_get_theater_mode() */ int camera_attr_set_theater_mode(camera_h camera, camera_attr_theater_mode_e mode); /** - * @brief Gets the theater mode - * - * @param[in] camera The handle to the camera - * @param[in] mode Currnet theater mode - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @brief Gets the theater mode. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] mode Currnet theater mode + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_get_theater_mode() */ int camera_attr_get_theater_mode(camera_h camera, camera_attr_theater_mode_e *mode); +/** + * @} + */ + +/** + * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE + * @{ + */ + +/** + * @brief Retrieves all supported theater modes by invoking callback function once for each supported theater modes. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] callback The callback function to be invoked + * @param[in] user_data The user data to be passed to the callback function + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @post This function invokes camera_attr_supported_theater_mode_cb() to get all supported theater modes. + * @see camera_attr_set_theater_mode() + * @see camera_attr_get_theater_mode() + * @see camera_attr_supported_theater_mode_cb() + */ +int camera_attr_foreach_supported_theater_mode(camera_h camera, + camera_attr_supported_theater_mode_cb callback, void *user_data); + +/** + * @} + */ + + +/** + * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE + * @{ + */ /** * @brief Sets the brightness level. - * - * - * @param[in] camera The handle to the camera - * @param[in] level The brightness level - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @param[in] camera The handle to the camera + * @param[in] level The brightness level + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_get_brightness() * @see camera_attr_get_brightness_range() */ @@ -2229,13 +2454,14 @@ int camera_attr_set_brightness(camera_h camera, int level); /** * @brief Gets the brightness level. - * - * @param[in] camera The handle to the camera - * @param[out] level The brightness level - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] level The brightness level + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_set_brightness() * @see camera_attr_get_brightness_range() */ @@ -2243,14 +2469,16 @@ int camera_attr_get_brightness(camera_h camera, int *level); /** * @brief Gets the available brightness level. - * - * @param[in] camera The handle to the camera - * @param[out] min The minimum brightness level - * @param[out] max The maximum brightness level - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @remarks If the min value is greater than the max value, it means that this feature is not supported. + * @param[in] camera The handle to the camera + * @param[out] min The minimum brightness level + * @param[out] max The maximum brightness level + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_set_brightness() * @see camera_attr_get_brightness() */ @@ -2258,28 +2486,31 @@ int camera_attr_get_brightness_range(camera_h camera, int *min, int *max); /** * @brief Sets the contrast level. - * - * @param[in] camera The handle to the camera - * @param[in] level The contrast level - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @param[in] camera The handle to the camera + * @param[in] level The contrast level + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_get_contrast() * @see camera_attr_get_contrast_range() */ int camera_attr_set_contrast(camera_h camera, int level); - /** * @brief Gets the contrast level. - * - * @param[in] camera The handle to the camera - * @param[out] level The contrast level - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] level The contrast level + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_set_contrast() * @see camera_attr_get_contrast_range() */ @@ -2287,14 +2518,16 @@ int camera_attr_get_contrast(camera_h camera, int *level); /** * @brief Gets the available contrast level. - * - * @param[in] camera The handle to the camera - * @param[out] min The minimum contrast level - * @param[out] max The maximum contrast level - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @remarks If the min value is greater than the max value, it means that this feature is not supported. + * @param[in] camera The handle to the camera + * @param[out] min The minimum contrast level + * @param[out] max The maximum contrast level + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_set_contrast() * @see camera_attr_get_contrast() */ @@ -2302,28 +2535,31 @@ int camera_attr_get_contrast_range(camera_h camera, int *min , int *max); /** * @brief Sets the white balance mode. - * - * @param[in] camera The handle to the camera - * @param[in] whitebalance The white balance mode - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @param[in] camera The handle to the camera + * @param[in] whitebalance The white balance mode + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_foreach_supported_whitebalance() * @see camera_attr_get_whitebalance() */ int camera_attr_set_whitebalance(camera_h camera, camera_attr_whitebalance_e whitebalance); - /** * @brief Gets the white balance mode. - * - * @param[in] camera The handle to the camera - * @param[out] whitebalance The white balance mode - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] whitebalance The white balance mode + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_foreach_supported_whitebalance() * @see camera_attr_set_whitebalance() */ @@ -2339,16 +2575,17 @@ int camera_attr_get_whitebalance(camera_h camera, camera_attr_whitebalance_e *wh */ /** - * @brief Retrieves all supported white balances by invoking callback function once for each supported white balance. - * - * @param[in] camera The handle to the camera - * @param[in] callback The callback function to invoke - * @param[in] user_data The user data to be passed to the callback function - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @post This function invokes camera_attr_supported_whitebalance_cb() to get all supported white balances. - * + * @brief Retrieves all supported white balances by invoking the callback function once for each supported white balance. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] callback The callback function to be invoked + * @param[in] user_data The user data to be passed to the callback function + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @post This function invokes camera_attr_supported_whitebalance_cb() to get all the supported white balances. * @see camera_attr_set_whitebalance() * @see camera_attr_get_whitebalance() * @see camera_attr_supported_whitebalance_cb() @@ -2367,13 +2604,16 @@ int camera_attr_foreach_supported_whitebalance(camera_h camera, /** * @brief Sets the camera effect mode. - * - * @param[in] camera The handle to the camera - * @param[in] effect The camera effect mode - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @param[in] camera The handle to the camera + * @param[in] effect The camera effect mode + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_foreach_supported_effect() * @see camera_attr_get_effect() */ @@ -2382,13 +2622,14 @@ int camera_attr_set_effect(camera_h camera, camera_attr_effect_mode_e effect); /** * @brief Gets the camera effect mode. - * - * @param[in] camera The handle to the camera - * @param[out] effect The camera effect mode - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] effect The camera effect mode + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_foreach_supported_effect() * @see camera_attr_set_effect() */ @@ -2404,16 +2645,17 @@ int camera_attr_get_effect(camera_h camera, camera_attr_effect_mode_e *effect); */ /** - * @brief Retrieves all supported effect modes by invoking callback function once for each supported effect mode. - * - * @param[in] camera The handle to the camera - * @param[in] callback The callback function to invoke - * @param[in] user_data The user data to be passed to the callback function - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @post This function invokes camera_attr_supported_effect_cb() to get all supported effect modes. - * + * @brief Retrieves all supported effect modes by invoking the callback function once for each supported effect mode. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] callback The callback function to invoke + * @param[in] user_data The user data to be passed to the callback function + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @post This function invokes camera_attr_supported_effect_cb() to get all the supported effect modes. * @see camera_attr_set_effect() * @see camera_attr_get_effect() * @see camera_attr_supported_effect_cb() @@ -2432,13 +2674,16 @@ int camera_attr_foreach_supported_effect(camera_h camera, /** * @brief Sets the scene mode. - * - * @param[in] camera The handle to the camera - * @param[in] mode The scene mode - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @param[in] camera The handle to the camera + * @param[in] mode The scene mode + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_foreach_supported_scene_mode() * @see camera_attr_get_scene_mode() */ @@ -2446,13 +2691,14 @@ int camera_attr_set_scene_mode(camera_h camera, camera_attr_scene_mode_e mode); /** * @brief Gets the scene mode. - * - * @param[in] camera The handle to the camera - * @param[out] mode The scene mode - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] mode The scene mode + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_foreach_supported_scene_mode() * @see camera_attr_set_scene_mode() */ @@ -2468,16 +2714,17 @@ int camera_attr_get_scene_mode(camera_h camera, camera_attr_scene_mode_e *mode); */ /** - * @brief Retrieves all supported scene modes by invoking callback function once for each supported scene mode. - * - * @param[in] camera The handle to the camera - * @param[in] callback The callback function to invoke - * @param[in] user_data The user data to be passed to the callback function - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @post This function invokes camera_attr_supported_scene_mode_cb() to get all supported scene modes. - * + * @brief Retrieves all supported scene modes by invoking the callback function once for each supported scene mode. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] callback The callback function to invoke + * @param[in] user_data The user data to be passed to the callback function + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @post This function invokes camera_attr_supported_scene_mode_cb() to get all the supported scene modes. * @see camera_attr_set_scene_mode() * @see camera_attr_get_scene_mode() * @see camera_attr_supported_scene_mode_cb() @@ -2496,180 +2743,193 @@ int camera_attr_foreach_supported_scene_mode(camera_h camera, /** * @brief Enables to write EXIF(Exchangeable image file format) tags in a JPEG file. - * - * @param[in] camera The handle to the camera - * @param[in] enable @c true to enable write EXIF tags in a JPEG file, otherwise @c false - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] enable If @c true writing EXIF tags in a JPEG file is enabled, otherwise @c false + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_is_enabled_tag() */ int camera_attr_enable_tag(camera_h camera, bool enable); /** - * @brief Gets the value that indicates whether to write EXIF(Exchangeable image file format) tags in a JPEG file is enabled. - * - * @param[in] camera The handle to the camera - * @param[out] enabled @c true if camera information is enabled, otherwise @c false - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @brief Gets the value that indicates whether writing EXIF(Exchangeable image file format) tags in a JPEG file is enabled. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] enabled If @c true camera information is enabled, otherwise @c false + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_enable_tag() */ int camera_attr_is_enabled_tag(camera_h camera, bool *enabled); /** - * @brief Sets a camera image description in EXIF(Exchangeable image file format) tag. - * - * @param[in] camera The handle to the camera - * @param[in] description The string with description - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * - * @see camera_attr_get_tag_image_description() + * @brief Sets the camera image description in the EXIF(Exchangeable image file format) tag. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] description The string with description + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @see camera_attr_get_tag_image_description() */ int camera_attr_set_tag_image_description(camera_h camera, const char *description); /** * @brief Gets the camera image description in EXIF(Exchangeable image file format) tag. - * - * @remarks @a description must be released with free() by you. - * - * @param[in] camera The handle to the camera - * @param[out] description A pointer to a string - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * - * @see camera_attr_set_tag_image_description() + * @since_tizen 2.3 + * @remarks You must release @a description using free(). + * @param[in] camera The handle to the camera + * @param[out] description A pointer to a string + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @see camera_attr_set_tag_image_description() */ int camera_attr_get_tag_image_description(camera_h camera, char **description); /** - * @brief Sets the camera orientation in EXIF(Exchangeable image file format) tag. - * - * @param[in] camera The handle to the camera - * @param[in] orientation The information of the camera orientation - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @brief Sets the camera orientation in the EXIF(Exchangeable image file format) tag. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] orientation The camera orientation + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_get_tag_orientation() */ int camera_attr_set_tag_orientation(camera_h camera, camera_attr_tag_orientation_e orientation); /** - * @brief Gets the camera orientation in EXIF(Exchangeable image file format) tag. - * - * @param[in] camera The handle to the camera - * @param[out] orientation The information of the camera orientation - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @brief Gets the camera orientation in the EXIF(Exchangeable image file format) tag. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] orientation The camera orientation + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_set_tag_orientation() */ int camera_attr_get_tag_orientation(camera_h camera, camera_attr_tag_orientation_e *orientation); /** - * @brief Sets the software information in EXIF(Exchangeable image file format) tag. - * - * @param[in] camera The handle to the camera - * @param[in] software The software information tag - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * - * @see camera_attr_get_tag_software() + * @brief Sets the software information in the EXIF(Exchangeable image file format) tag. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] software The software information tag + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @see camera_attr_get_tag_software() */ int camera_attr_set_tag_software(camera_h camera, const char *software); /** - * @brief Gets the software information in EXIF(Exchangeable image file format) tag. - * - * @remarks @a software must be released with free() by you. - * - * @param[in] camera The handle to the camera - * @param[out] software A pointer to a string - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * - * @see camera_attr_set_tag_software() + * @brief Gets the software information in the EXIF(Exchangeable image file format) tag. + * @since_tizen 2.3 + * @remarks You must release @a software using free(). + * @param[in] camera The handle to the camera + * @param[out] software A pointer to a string + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @see camera_attr_set_tag_software() */ int camera_attr_get_tag_software(camera_h camera, char **software); /** - * @brief Sets the geotag(GPS data) in EXIF(Exchangeable image file format) tag. - * - * @param[in] camera The handle to the camera - * @param[in] latitude Latitude data - * @param[in] longitude Longitude data - * @param[in] altitude Altitude data - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * - * @see camera_attr_get_geotag() - * @see camera_attr_remove_geotag() + * @brief Sets the geotag(GPS data) in the EXIF(Exchangeable image file format) tag. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] latitude The latitude data + * @param[in] longitude The longitude data + * @param[in] altitude The altitude data + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @see camera_attr_get_geotag() + * @see camera_attr_remove_geotag() */ int camera_attr_set_geotag(camera_h camera, double latitude , double longitude, double altitude); /** - * @brief Gets the geotag(GPS data) in EXIF(Exchangeable image file format) tag. - * - * @param[in] camera The handle to the camera - * @param[out] latitude Latitude data - * @param[out] longitude Longitude data - * @param[out] altitude Altitude data - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * - * @see camera_attr_set_geotag() - * @see camera_attr_remove_geotag() + * @brief Gets the geotag(GPS data) in the EXIF(Exchangeable image file format) tag. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] latitude The latitude data + * @param[out] longitude The longitude data + * @param[out] altitude The altitude data + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @see camera_attr_set_geotag() + * @see camera_attr_remove_geotag() */ int camera_attr_get_geotag(camera_h camera, double *latitude , double *longitude, double *altitude); /** - * @brief Remove the geotag(GPS data) in EXIF(Exchangeable image file format) tag. - * - * @param[in] camera The handle to the camera - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * - * @see camera_attr_set_geotag() - * @see camera_attr_get_geotag() + * @brief Removes the geotag(GPS data) in the EXIF(Exchangeable image file format) tag. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @see camera_attr_set_geotag() + * @see camera_attr_get_geotag() */ int camera_attr_remove_geotag(camera_h camera); /** - * @brief Sets the camera flash mode. - * - * @param[in] camera The handle to the camera - * @param[in] mode The flash mode - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @brief Sets the camera's flash mode. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @param[in] camera The handle to the camera + * @param[in] mode The flash mode + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_foreach_supported_flash_mode() * @see camera_attr_get_flash_mode() */ int camera_attr_set_flash_mode(camera_h camera, camera_attr_flash_mode_e mode); /** - * @brief Gets the camera flash mode. - * - * @param[in] camera The handle to the camera - * @param[out] mode The flash mode - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @brief Gets the camera's flash mode. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] mode The flash mode + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_foreach_supported_flash_mode() * @see camera_attr_set_flash_mode() */ @@ -2685,16 +2945,17 @@ int camera_attr_get_flash_mode(camera_h camera, camera_attr_flash_mode_e *mode); */ /** - * @brief Retrieves all supported flash modes by invoking callback funcion once for each supported flash mode. - * - * @param[in] camera The handle to the camera - * @param[in] callback The callback function to invoke - * @param[in] user_data The user data passed to the callback registration function - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @post This function invokes camera_attr_supported_flash_mode_cb() to get all supported flash modes. - * + * @brief Retrieves all supported flash modes by invoking the callback function once for each supported flash mode. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] callback The callback function to invoke + * @param[in] user_data The user data passed to the callback registration function + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @post This function invokes camera_attr_supported_flash_mode_cb() to get all supported flash modes. * @see camera_attr_set_flash_mode() * @see camera_attr_get_flash_mode() * @see camera_attr_supported_flash_mode_cb() @@ -2712,90 +2973,159 @@ int camera_attr_foreach_supported_flash_mode(camera_h camera, */ /** - * @brief Gets the camera lens orientation angle. - * - * @param[in] camera The handle to the camera + * @brief Gets the camera len's orientation angle. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera * @param[out] angle The orientation angle - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * - * @see camera_set_x11_display_rotation() + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @see camera_set_display_rotation() */ int camera_attr_get_lens_orientation(camera_h camera, int *angle); - /** - * @brief Sets stream rotation - * - * @param[in] camera The handle to the camera - * @param[in] rotation The stream rotation - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * - * @pre The camera state must be CAMERA_STATE_CREATED. - * + * @brief Sets the stream rotation. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] rotation The stream rotation + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @pre The camera state must be set to #CAMERA_STATE_CREATED. * @see camera_attr_get_stream_rotation() */ int camera_attr_set_stream_rotation(camera_h camera , camera_rotation_e rotation); /** - * @brief Gets stream rotation - * - * @param[in] camera The handle to the camera + * @brief Gets the stream rotation. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera * @param[out] rotation The stream rotation - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * - * @pre The camera state must be CAMERA_STATE_CREATED. - * + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @pre The camera state must be set to #CAMERA_STATE_CREATED. * @see camera_attr_set_stream_rotation() */ int camera_attr_get_stream_rotation(camera_h camera , camera_rotation_e *rotation); +/** + * @} + */ +/** + * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE + * @{ + */ /** - * @brief Sets stream flip - * - * @param[in] camera The handle to the camera - * @param[in] flip The stream flip - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * - * @pre The camera state must be CAMERA_STATE_CREATED. - * + * @brief Retrieves all supported stream rotation modes by invoking callback function once for each supported stream rotation mode. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] callback The callback function to invoke + * @param[in] user_data The user data to be passed to the callback function + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @post This function invokes camera_attr_supported_stream_rotation_cb() to get all supported stream rotation mode. + * @see camera_attr_set_stream_rotation() + * @see camera_attr_get_stream_rotation() + * @see camera_attr_supported_stream_rotation_cb() + */ +int camera_attr_foreach_supported_stream_rotation(camera_h camera, + camera_attr_supported_stream_rotation_cb callback, void *user_data); + +/** + * @} + */ + +/** + * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE + * @{ + */ + +/** + * @brief Sets the stream flip. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] flip The stream flip + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @pre The camera state must be set to #CAMERA_STATE_CREATED. * @see camera_attr_set_stream_rotation() */ int camera_attr_set_stream_flip(camera_h camera , camera_flip_e flip); /** - * @brief Gets stream flip - * - * @param[in] camera The handle to the camera + * @brief Gets the stream flip. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera * @param[out] flip The stream flip - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * - * @pre The camera state must be CAMERA_STATE_CREATED. - * + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @pre The camera state must be set to #CAMERA_STATE_CREATED. * @see camera_attr_set_stream_rotation() */ int camera_attr_get_stream_flip(camera_h camera , camera_flip_e *flip); +/** + * @} + */ +/** + * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE + * @{ + */ /** - * @brief Called when HDR capture process was updated - * - * @param[in] percent The progress percent of HDR capture - * @param[in] user_data The user data passed from the callback registration function + * @brief Retrieves all supported stream flip modes by invoking callback function once for each supported stream flip mode. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[in] callback The callback function to invoke + * @param[in] user_data The user data to be passed to the callback function + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @post This function invokes camera_attr_supported_stream_flip_cb() to get all supported stream flip mode. + * @see camera_attr_set_stream_flip() + * @see camera_attr_get_stream_flip() + * @see camera_attr_supported_stream_flip_cb() + */ +int camera_attr_foreach_supported_stream_flip(camera_h camera, + camera_attr_supported_stream_flip_cb callback, void *user_data); + +/** + * @} + */ + +/** + * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE + * @{ + */ + +/** + * @brief Called when the HDR capture process is updated. + * @since_tizen 2.3 + * @param[in] percent The progress percentage of HDR capture + * @param[in] user_data The user data passed from the callback registration function * @pre camera_start_capture() will invoke this callback if you register it using camera_attr_set_hdr_capture_progress_cb(). - * * @see camera_attr_get_hdr_mode() * @see camera_attr_set_hdr_capture_progress_cb() * @see camera_attr_unset_hdr_capture_progress_cb() @@ -2803,20 +3133,21 @@ int camera_attr_get_stream_flip(camera_h camera , camera_flip_e *flip); */ typedef void (*camera_attr_hdr_progress_cb)(int percent, void *user_data); - /** * @brief Sets the mode of HDR(High dynamic range) capture. - * @remarks - * Taking multiple pictures at different exposure level and intelligently stitching them together so that we eventually arrive at a picture that is representative in both dark and bright areas.\n - * If this attribute is setting true. camera_attr_hdr_progress_cb is invoked when capture.\n - * 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. - * - * @param[in] camera The handle to the camera - * @param[in] mode The mode of HDR capture - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @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 + * If this attribute is set to @c true. camera_attr_hdr_progress_cb() is invoked during capture.\n + * 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. + * @param[in] camera The handle to the camera + * @param[in] mode The mode of HDR capture + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_get_hdr_mode() * @see camera_attr_set_hdr_capture_progress_cb() * @see camera_attr_unset_hdr_capture_progress_cb() @@ -2827,35 +3158,33 @@ int camera_attr_set_hdr_mode(camera_h camera, camera_attr_hdr_mode_e mode); /** * @brief Gets the mode of HDR(High dynamic range) capture. - * - * @param[in] camera The handle to the camera - * @param[out] mode The mode of HDR capture - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] mode The mode of HDR capture + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_set_hdr_mode() * @see camera_attr_set_hdr_capture_progress_cb() * @see camera_attr_unset_hdr_capture_progress_cb() * @see camera_attr_is_supported_hdr_capture() - * */ int camera_attr_get_hdr_mode(camera_h camera, camera_attr_hdr_mode_e *mode); -__attribute__ ((deprecated)) int camera_attr_enable_hdr_capture(camera_h camera, bool enable); -__attribute__ ((deprecated)) int camera_attr_is_enabled_hdr_capture(camera_h camera, bool *enabled); - /** - * @brief Registers a callback function to be called when HDR capture is progressing. - * @remarks This callback notify progress of HDR process. - * - * @param[in] camera The handle to the camera + * @brief Registers a callback function to be called when HDR capture is progressing. + * @since_tizen 2.3 + * @remarks This callback notifies progress of the HDR process. + * @param[in] camera The handle to the camera * @param[in] callback The callback function to invoke * @param[in] user_data The user data passed to the callback registration function - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_set_hdr_mode() * @see camera_attr_get_hdr_mode() * @see camera_attr_unset_hdr_capture_progress_cb() @@ -2863,16 +3192,15 @@ __attribute__ ((deprecated)) int camera_attr_is_enabled_hdr_capture(camera_h cam */ int camera_attr_set_hdr_capture_progress_cb(camera_h camera, camera_attr_hdr_progress_cb callback, void* user_data); - - /** - * @brief Unregisters the callback function. - * - * @param[in] camera The handle to the camera - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @brief Unregisters the callback function. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_set_hdr_mode() * @see camera_attr_get_hdr_mode() * @see camera_attr_set_hdr_capture_progress_cb() @@ -2881,11 +3209,16 @@ int camera_attr_set_hdr_capture_progress_cb(camera_h camera, camera_attr_hdr_pro int camera_attr_unset_hdr_capture_progress_cb(camera_h camera); /** - * @biref Gets HDR capture supported state * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE - * @param[in] camera The handle to the camera - * @return true on supported, otherwise false - * + * @brief Gets the support state of HDR capture. + * @since_tizen 2.3 + * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section. + * @param[in] camera The handle to the camera + * @return @c true if supported, otherwise @c false + * @exception #CAMERA_ERROR_NONE Successful + * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_set_hdr_mode() * @see camera_attr_get_hdr_mode() * @see camera_attr_set_hdr_capture_progress_cb() @@ -2894,15 +3227,18 @@ int camera_attr_unset_hdr_capture_progress_cb(camera_h camera); bool camera_attr_is_supported_hdr_capture(camera_h camera); /** - * @brief Enable/Disable Anti-shake feature - * - * @remarks This feature used for image capture - * @param[in] camera The handle to the camera - * @param[in] enable The state of anti-shake - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @brief Enables/Disables the anti-shake feature. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @remarks This feature is used for image capture. + * @param[in] camera The handle to the camera + * @param[in] enable If @c true the anti-shake feature is enabled, otherwise @c false + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_is_enabled_anti_shake() * @see camera_attr_is_supported_anti_shake() * @@ -2910,43 +3246,50 @@ bool camera_attr_is_supported_hdr_capture(camera_h camera); int camera_attr_enable_anti_shake(camera_h camera, bool enable); /** - * @brief Gets state of Anti-shake feature - * - * @param[in] camera The handle to the camera - * @param[out] enabled The state of anti-shake - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @brief Gets the state of the anti-shake feature. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] enabled The state of anti-shake + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_enable_anti_shake() * @see camera_attr_is_supported_anti_shake() - * */ int camera_attr_is_enabled_anti_shake(camera_h camera , bool *enabled); /** - * @biref Gets Anti-shake feature supported state * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE - * @param[in] camera The handle to the camera - * @return true on supported, otherwise false - * + * @brief Gets the support state of the anti-shake feature. + * @since_tizen 2.3 + * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section. + * @param[in] camera The handle to the camera + * @return @c true if supported, otherwise @c false + * @exception #CAMERA_ERROR_NONE Successful + * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_enable_anti_shake() * @see camera_attr_is_enabled_anti_shake() */ bool camera_attr_is_supported_anti_shake(camera_h camera); /** - * @brief Enable/Disable video stabilization feature - * @remarks - * If enabling video stabilization, zero shutter lag is disabling.\n - * This feature used for video recording. - * - * @param[in] camera The handle to the camera - * @param[in] enable The state of video stabilization - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @brief Enables/Disables the video stabilization feature. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @remarks If video stabilization is enabled, zero shutter lag is disabled.\n + * This feature is used to record a video. + * @param[in] camera The handle to the camera + * @param[in] enable If @c true video stabilization is enabled, otherwise @c false + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_is_enabled_video_stabilization() * @see camera_attr_is_supported_video_stabilization() * @@ -2954,72 +3297,112 @@ bool camera_attr_is_supported_anti_shake(camera_h camera); int camera_attr_enable_video_stabilization(camera_h camera, bool enable); /** - * @brief Gets state of video stabilization feature - * - * @param[in] camera The handle to the camera - * @param[out] enabled The state of video stabilization - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @brief Gets the state of the video stabilization feature. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] enabled The state of video stabilization + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_enable_video_stabilization() * @see camera_attr_is_supported_video_stabilization() - * */ int camera_attr_is_enabled_video_stabilization(camera_h camera, bool *enabled); /** - * @biref Gets Video stabilization feature supported state - * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE - * @param[in] camera The handle to the camera - * @return true on supported, otherwise false - * + * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE + * @brief Gets the support state of the video stabilization feature. + * @since_tizen 2.3 + * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section. + * @param[in] camera The handle to the camera + * @return @c true if supported, otherwise @c false + * @exception #CAMERA_ERROR_NONE Successful + * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_enable_video_stabilization() * @see camera_attr_is_enabled_video_stabilization() */ bool camera_attr_is_supported_video_stabilization(camera_h camera); - - - /** - * @brief Enable/Disable auto contrast - * - * @param[in] camera The handle to the camera - * @param[in] enable The state of auto contrast - * - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @brief Enables/Disables auto contrast. + * @since_tizen 2.3 + * @privlevel public + * @privilege %http://tizen.org/privilege/camera + * @param[in] camera The handle to the camera + * @param[in] enable If @c true auto contrast is enabled, otherwise @c false + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_is_enabled_auto_contrast() */ int camera_attr_enable_auto_contrast(camera_h camera, bool enable); /** - * @brief Gets state of auto contrast - * - * @param[in] camera The handle to the camera - * @param[out] enabled The state of auto contrast - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * + * @brief Gets the state of auto contrast. + * @since_tizen 2.3 + * @param[in] camera The handle to the camera + * @param[out] enabled The state of auto contrast + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported * @see camera_attr_enable_auto_contrast() - * */ int camera_attr_is_enabled_auto_contrast(camera_h camera, bool *enabled); /** - * @brief Disable shutter sound. - * @remarks In some country, this operation was not permitted. - * + * @} + */ + +/** + * @addtogroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE + * @{ + */ + +/** + * @brief Gets state of support of auto contrast feature. + * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE + * @since_tizen 2.3 + * @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section. + * @param[in] camera The handle to the camera + * @return true on supported, otherwise false + * @exception #CAMERA_ERROR_NONE Successful + * @exception #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @exception #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @exception #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported + * @see camera_attr_enable_auto_contrast() + * @see camera_attr_is_enabled_auto_contrast() + */ +bool camera_attr_is_supported_auto_contrast(camera_h camera); + +/** + * @} + */ + +/** + * @addtogroup CAPI_MEDIA_CAMERA_ATTRIBUTES_MODULE + * @{ + */ + +/** + * @brief Disables shutter sound. + * @since_tizen 2.3 + * @remarks In some countries, this operation is not permitted. * @param[in] camera The handle to the camera - * @param[in] disable If true, disabling shutter sound - * @return 0 on success, otherwise a negative error value. - * @retval #CAMERA_ERROR_NONE Successful - * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #CAMERA_ERROR_INVALID_OPERATION Not permitted disabling shutter sound + * @param[in] disable If @c true shutter sound is disabled, otherwise @c false + * @return @c 0 on success, otherwise a negative error value + * @retval #CAMERA_ERROR_NONE Successful + * @retval #CAMERA_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #CAMERA_ERROR_INVALID_OPERATION Disabling shutter sound is not permitted + * @retval #CAMERA_ERROR_PERMISSION_DENIED The access to the resources can not be granted + * @retval #CAMERA_ERROR_NOT_SUPPORTED The feature is not supported */ int camera_attr_disable_shutter_sound(camera_h camera, bool disable); |