1. Code clean up 33/40333/1 accepted/tizen_3.0.2015.q2_common tizen_3.0.2015.q2_common accepted/tizen/3.0.2015.q2/common/20150615.091826 accepted/tizen/common/20150610.144453 accepted/tizen/mobile/20150612.003427 accepted/tizen/tv/20150612.003541 accepted/tizen/wearable/20150611.085702 submit/tizen/20150603.104901 submit/tizen/20150604.065932 submit/tizen/20150608.113003 submit/tizen_3.0.2015.q2_common/20150615.075539 submit/tizen_common/20150610.072250 submit/tizen_mobile/20150611.000000 submit/tizen_tv/20150611.000001 submit/tizen_wearable/20150611.000000
authorJeongmo Yang <jm80.yang@samsung.com>
Tue, 2 Jun 2015 11:23:18 +0000 (20:23 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Tue, 2 Jun 2015 11:23:18 +0000 (20:23 +0900)
2. Update latest code

Change-Id: I9f321e00ac83441705c4f800a6fab5cb917bae55
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
CMakeLists.txt
include/camera.h
packaging/capi-media-camera.spec
src/camera.c
src/camera_internal.c

index c6cb71d..9106d8e 100755 (executable)
@@ -23,7 +23,7 @@ SET(service "media")
 SET(submodule "camera")
 
 # for package file
-SET(dependents "dlog audio-session-mgr mm-camcorder capi-base-common capi-media-tool gstreamer-1.0 libtbm evas ecore elementary")
+SET(dependents "dlog audio-session-mgr mm-camcorder capi-base-common capi-media-tool gstreamer-1.0 libtbm evas ecore elementary vconf")
 SET(pc_dependents "mm-camcorder capi-base-common capi-media-tool gstreamer-1.0 libtbm evas ecore elementary")
 
 SET(fw_name "${project_prefix}-${service}-${submodule}")
index 8c730f1..e37f818 100644 (file)
@@ -27,7 +27,7 @@ extern "C" {
 /**
  * @file camera.h
  * @brief This file contains the Camera API, related structures and enumerations.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 
 /**
@@ -39,7 +39,7 @@ extern "C" {
 
 /**
  * @brief Enumeration for the error codes of Camera.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -62,7 +62,7 @@ typedef enum
 
 /**
  * @brief Enumeration for the camera state.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -75,7 +75,7 @@ typedef enum
 
 /**
  * @brief Enumeration for the camera device.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -85,7 +85,7 @@ typedef enum
 
 /**
  * @brief Enumeration for the camera pixel format.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -108,7 +108,7 @@ typedef enum
 
 /**
  * @brief Enumeration for the camera display type.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -119,7 +119,7 @@ typedef enum
 
 /**
  * @brief Enumeration for the camera policy.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -132,7 +132,7 @@ typedef enum
 
 /**
  * @brief Enumeration for the camera rotation type.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -145,7 +145,7 @@ typedef enum
 
 /**
  * @brief Enumeration for the camera flip type.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -157,7 +157,7 @@ typedef enum
 
 /**
  * @brief Enumeration for the camera focus state.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -169,7 +169,7 @@ typedef enum
 
 /**
  * @brief The structure type of the image data.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
  typedef struct
 {
@@ -184,7 +184,7 @@ typedef enum
 
 /**
  * @brief The structure type for face detection.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef struct
 {
@@ -198,7 +198,7 @@ typedef struct
 
 /**
  * @brief The structure type to preview stream data.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef struct
 {
@@ -233,14 +233,14 @@ typedef struct
 
 /**
  * @brief The Camera handle.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @see        recorder_create_videorecorder()
  */
 typedef struct camera_s *camera_h;
 
 /**
  * @brief The Camera display handle.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef void *camera_display_h;
 
@@ -248,7 +248,7 @@ typedef void *camera_display_h;
 
 /**
  * @brief Gets a display handle.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 #define GET_DISPLAY(x) (void*)(x)
 
@@ -265,7 +265,7 @@ typedef void *camera_display_h;
 
 /**
  * @brief Enumeration for the camera display mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -286,7 +286,7 @@ typedef enum
 
 /**
  * @brief Enumeration for the color tone, which provides the impression of looking through a tinted glass.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -325,7 +325,7 @@ typedef enum
 
 /**
  * @brief Enumeration for the white balance levels of the camera.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -344,7 +344,7 @@ typedef enum
 /**
  * @brief Enumeration for the scene mode.
  * @details The mode of operation can be in daylight, night, or back-light.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -368,7 +368,7 @@ typedef enum
 
 /**
  * @brief Enumeration for the auto focus mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -380,7 +380,7 @@ typedef enum
 
 /**
  * @brief Enumeration for the ISO levels of the camera.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -396,7 +396,7 @@ typedef enum
 
 /**
  * @brief Enumeration for the camera exposure modes.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -409,7 +409,7 @@ typedef enum
 
 /**
  * @brief Enumeration for the orientation values of tag.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -425,7 +425,7 @@ typedef enum
 
 /**
  * @brief Enumeration for the flash mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -441,7 +441,7 @@ typedef enum
 
 /**
  * @brief Enumeration to preview FPS.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -460,7 +460,7 @@ typedef enum
 
 /**
  * @brief Enumeration for the theater mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -471,7 +471,7 @@ typedef enum
 
 /**
  * @brief Enumeration for HDR capture mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef enum
 {
@@ -492,7 +492,7 @@ typedef enum
 
 /**
  * @brief Called when the camera state is changed.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
  * @param[in] previous The previous state of the camera
  * @param[in] current The current state of the camera
@@ -507,7 +507,7 @@ typedef void (*camera_state_changed_cb)(camera_state_e previous, camera_state_e
 
 /**
  * @brief Called when the camera is interrupted by policy.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
  * @param[in] policy The policy that interrupted the camera
  * @param[in] previous The previous state of the camera
@@ -524,7 +524,7 @@ typedef void (*camera_interrupted_cb)(camera_policy_e policy, camera_state_e pre
  *          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
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
  * @param[in] state The current state of the auto-focus
  * @param[in] user_data The user data passed from the callback registration function
@@ -538,7 +538,7 @@ typedef void (*camera_focus_changed_cb)(camera_focus_state_e state, void *user_d
 
 /**
  * @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
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
  * @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.
@@ -554,7 +554,7 @@ typedef void (*camera_preview_cb)(camera_preview_data_s *frame, void *user_data)
 
 /**
  * @brief Called to register for notifications about delivering media packet when every preview frame is displayed.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
  * @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
@@ -571,7 +571,7 @@ typedef void (*camera_media_packet_preview_cb)(media_packet_h pkt, void *user_da
 
 /**
  * @brief Called to get information about image data taken by the camera once per frame while capturing.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
  * @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.
@@ -589,7 +589,7 @@ typedef void (*camera_capturing_cb)(camera_image_data_s* image, camera_image_dat
 
 /**
  * @brief Called when the camera capturing completes.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
  * @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.
@@ -604,7 +604,7 @@ typedef void (*camera_capture_completed_cb)(void *user_data);
 
 /**
  * @brief Called when an error occurs.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
  * @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
@@ -624,7 +624,7 @@ typedef void (*camera_error_cb)(camera_error_e error, camera_state_e current_sta
 
 /**
  * @brief Called when a face is detected in the preview frame.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] faces The detected face array
  * @param[in] count The length of the array
  * @param[in] user_data The user data passed from the callback registration function
@@ -643,7 +643,7 @@ typedef void (*camera_face_detected_cb)(camera_detected_face_s *faces, int count
 
 /**
  * @brief Called once for each supported preview resolution.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -655,7 +655,7 @@ typedef bool (*camera_supported_preview_resolution_cb)(int width, int height, vo
 
 /**
  * @brief Called once for each supported capture resolution.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -667,7 +667,7 @@ typedef bool (*camera_supported_capture_resolution_cb)(int width, int height, vo
 
 /**
  * @brief Called once for the pixel format of each supported capture format.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -679,7 +679,7 @@ typedef bool (*camera_supported_capture_format_cb)(camera_pixel_format_e format,
 
 /**
  * @brief Called once for the pixel format of each supported preview format.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -701,7 +701,7 @@ typedef bool (*camera_supported_preview_format_cb)(camera_pixel_format_e format,
 /**
  * @brief Creates a new camera handle for controlling a camera.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @remarks Multiple handles on a context at the same time are allowed to be created. However,
@@ -727,7 +727,7 @@ int camera_create(camera_device_e device, camera_h *camera);
 /**
  * @brief Destroys the camera handle and releases all its resources.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @param[in] camera The handle to the camera
@@ -745,7 +745,7 @@ int camera_destroy(camera_h camera);
 /**
  * @brief Starts capturing and drawing preview frames on the screen.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @param[in] camera The handle to the camera
@@ -784,7 +784,7 @@ int camera_start_preview(camera_h camera);
 
 /**
  * @brief Stops capturing and drawing preview frames.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @param[in] camera The handle to the camera
@@ -806,7 +806,7 @@ int camera_stop_preview(camera_h camera);
 /**
  * @brief Starts capturing of still images.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -846,7 +846,7 @@ int camera_start_capture(camera_h camera, camera_capturing_cb capturing_cb , cam
 /**
  * @brief Starts continuously capturing still images.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -880,7 +880,7 @@ int camera_start_continuous_capture(camera_h camera, int count, int interval, ca
 /**
  * @brief Aborts continuous capturing.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @remarks The camera state will be changed to #CAMERA_STATE_CAPTURED.
@@ -901,7 +901,7 @@ int camera_stop_continuous_capture(camera_h camera);
 /**
  * @brief Gets the state of the camera.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -919,7 +919,7 @@ int camera_get_state(camera_h camera, camera_state_e *state);
 /**
  * @brief Starts camera auto-focusing, asynchronously.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @remarks If continuous status is @c true, the camera continuously tries to focus.
@@ -944,7 +944,7 @@ int camera_start_focusing(camera_h camera, bool continuous);
 
 /**
  * @brief Stops camera auto focusing.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @param[in] camera The handle to the camera
@@ -965,7 +965,7 @@ int camera_cancel_focusing(camera_h camera);
 /**
  * @brief Sets the display handle to show preview images.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -986,7 +986,7 @@ int camera_set_display(camera_h camera, camera_display_type_e type, camera_displ
 /**
  * @brief Sets the resolution of the preview.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @remarks This function should be called before previewing (camera_start_preview()).
@@ -1010,7 +1010,7 @@ int camera_set_preview_resolution(camera_h camera, int width, int height);
 /**
  * @brief Gets the resolution of the preview.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[out] width The preview width
  * @param[out] height The preview height
@@ -1027,7 +1027,7 @@ int camera_get_preview_resolution(camera_h camera, int *width, int *height);
 /**
  * @brief Gets the recommended preview resolution.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1044,7 +1044,7 @@ int camera_get_recommended_preview_resolution(camera_h camera, int *width, int *
 
 /**
  * @brief Starts face detection.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @remarks This should be called after the preview is started.\n
@@ -1074,7 +1074,7 @@ int camera_start_face_detection(camera_h camera, camera_face_detected_cb callbac
 /**
  * @brief Stops face detection.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @param[in] camera The handle to the camera
@@ -1102,7 +1102,7 @@ int camera_stop_face_detection(camera_h camera);
 /**
  * @brief Gets continuous capture feature's supported state.
  * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1117,7 +1117,7 @@ int camera_stop_face_detection(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
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1148,7 +1148,7 @@ int camera_foreach_supported_preview_resolution(camera_h camera,
  * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
  * @brief Sets the display rotation.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @remarks This function should be called before previewing (see camera_start_preview())
@@ -1170,7 +1170,7 @@ int camera_set_display_rotation(camera_h camera, camera_rotation_e rotation);
  * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
  * @brief Gets the display rotation.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[out] rotation The display rotation
  * @return @c 0 on success, otherwise a negative error value
@@ -1186,7 +1186,7 @@ int camera_get_display_rotation(camera_h camera, camera_rotation_e *rotation);
  * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
  * @brief Sets the display flip.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @param[in] camera The handle to the camera
@@ -1206,7 +1206,7 @@ int camera_set_display_flip(camera_h camera, camera_flip_e flip);
  * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
  * @brief Gets the display flip.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[out] flip The display flip
  * @return @c 0 on success, otherwise a negative error value
@@ -1222,7 +1222,7 @@ int camera_get_display_flip(camera_h camera, camera_flip_e *flip);
  * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
  * @brief Sets the visible property for display.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @param[in] camera The handle to the camera
@@ -1241,7 +1241,7 @@ int camera_set_display_visible(camera_h camera, bool visible);
  * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
  * @brief Gets the visible property of display.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[out] visible @c true if camera display is visible, otherwise @c false
  *
@@ -1258,7 +1258,7 @@ int camera_is_display_visible(camera_h camera, bool *visible);
  * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
  * @brief Sets the display mode.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[in] mode The display mode
  *
@@ -1275,7 +1275,7 @@ int camera_set_display_mode(camera_h camera , camera_display_mode_e mode);
  * @ingroup CAPI_MEDIA_CAMERA_DISPLAY_MODULE
  * @brief Gets the display mode.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[out] mode The display mode
  *
@@ -1290,7 +1290,7 @@ int camera_get_display_mode(camera_h camera, camera_display_mode_e *mode);
 
 /**
  * @brief Sets the resolution of the captured image.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @param[in] camera The handle to the camera
@@ -1311,7 +1311,7 @@ int camera_set_capture_resolution(camera_h camera, int width, int height);
 
 /**
  * @brief Gets the resolution of the captured image.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[out] width The capture width
  * @param[out] height The capture height
@@ -1337,7 +1337,7 @@ int camera_get_capture_resolution(camera_h camera, int *width, int *height);
 /**
  * @brief Retrieves all supported camera captured resolutions by invoking the callback function once for each supported camera capture resolution.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1366,7 +1366,7 @@ int camera_foreach_supported_capture_resolution(camera_h camera,
 /**
  * @brief Sets the format of an image to be captured.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1386,7 +1386,7 @@ int camera_set_capture_format(camera_h camera, camera_pixel_format_e format);
 /**
  * @brief Gets the format of the image to be captured.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1411,7 +1411,7 @@ int camera_get_capture_format(camera_h camera, camera_pixel_format_e *format);
 /**
  * @brief Retrieves all supported camera capture formats by invoking the callback function once for each supported camera capture format.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1439,7 +1439,7 @@ int camera_foreach_supported_capture_format(camera_h camera,
 
 /**
  * @brief Sets the preview data format.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1458,7 +1458,7 @@ int camera_set_preview_format(camera_h camera, camera_pixel_format_e format);
 
 /**
  * @brief Gets the format of the preview stream.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1482,7 +1482,7 @@ int camera_get_preview_format(camera_h camera, camera_pixel_format_e *format);
 
 /**
  * @brief Retrieves all supported camera preview formats by invoking the callback function once for each supported camera preview format.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1502,7 +1502,7 @@ int camera_foreach_supported_preview_format(camera_h camera,
 /**
  * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
  * @brief Gets the face detection feature's supported state.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1518,7 +1518,7 @@ bool camera_is_supported_face_detection(camera_h camera);
 /**
  * @brief Gets the zero shutter lag feature's supported state.
  * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1534,7 +1534,7 @@ bool camera_is_supported_zero_shutter_lag(camera_h camera);
 /**
  * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
  * @brief Gets the camera device count.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1550,7 +1550,7 @@ 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
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1573,7 +1573,7 @@ bool camera_is_supported_media_packet_preview_cb(camera_h camera);
 
 /**
  * @brief Registers a callback function to be called once per frame when previewing.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1598,7 +1598,7 @@ int camera_set_preview_cb(camera_h camera, camera_preview_cb callback, void *use
 
 /**
  * @brief Unregisters the callback function.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @return @c 0 on success, otherwise a negative error value
  * @retval #CAMERA_ERROR_NONE Successful
@@ -1611,7 +1611,7 @@ int camera_unset_preview_cb(camera_h camera);
 
 /**
  * @brief Registers a media packet callback function to be called once per frame when previewing.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1636,7 +1636,7 @@ int camera_set_media_packet_preview_cb(camera_h camera, camera_media_packet_prev
 
 /**
  * @brief Unregisters the media packet callback function.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @return @c 0 on success, otherwise a negative error value
  * @retval #CAMERA_ERROR_NONE Successful
@@ -1649,7 +1649,7 @@ 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
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1667,7 +1667,7 @@ int camera_set_state_changed_cb(camera_h camera, camera_state_changed_cb callbac
 
 /**
  * @brief Unregisters the callback function.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @return @c 0 on success, otherwise a negative error value
  * @retval #CAMERA_ERROR_NONE Successful
@@ -1680,7 +1680,7 @@ int camera_unset_state_changed_cb(camera_h camera);
 
 /**
  * @brief Registers a callback function to be called when the camera is interrupted by policy.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1697,7 +1697,7 @@ int camera_set_interrupted_cb(camera_h camera, camera_interrupted_cb callback,
 
 /**
  * @brief Unregisters the callback function.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @return @c 0 on success, otherwise a negative error value
  * @retval #CAMERA_ERROR_NONE Successful
@@ -1710,7 +1710,7 @@ int camera_unset_interrupted_cb(camera_h camera);
 
 /**
  * @brief Registers a callback function to be called when the auto-focus state changes.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1730,7 +1730,7 @@ int camera_set_focus_changed_cb(camera_h camera, camera_focus_changed_cb callbac
 
 /**
  * @brief Unregisters the callback function.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @return @c 0 on success, otherwise a negative error value
  * @retval #CAMERA_ERROR_NONE Successful
@@ -1743,7 +1743,7 @@ int camera_unset_focus_changed_cb(camera_h camera);
 
 /**
  * @brief Registers a callback function to be called when an asynchronous operation error occurs.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1767,7 +1767,7 @@ int camera_set_error_cb(camera_h camera, camera_error_cb callback, void *user_da
 
 /**
  * @brief Unregisters the callback function.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @return @c 0 on success, otherwise a negative error value
  * @retval #CAMERA_ERROR_NONE Successful
@@ -1789,6 +1789,7 @@ int camera_unset_error_cb(camera_h camera);
 
 /**
  * @brief Called to get each supported auto-focus mode.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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 otherwise @c false to break out of the loop
@@ -1799,6 +1800,7 @@ typedef bool (*camera_attr_supported_af_mode_cb)(camera_attr_af_mode_e mode, voi
 
 /**
  * @brief Called to get each supported exposure mode.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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 otherwise @c false to break out of the loop
@@ -1811,6 +1813,7 @@ typedef bool (*camera_attr_supported_exposure_mode_cb)(camera_attr_exposure_mode
 
 /**
  * @brief Called to get each supported ISO mode.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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 otherwise @c false to break out of the loop
@@ -1821,6 +1824,7 @@ typedef bool (*camera_attr_supported_iso_cb)(camera_attr_iso_e iso, void *user_d
 
 /**
  * @brief Called to get each supported white balance.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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 otherwise @c false to break out of the loop
@@ -1833,6 +1837,7 @@ typedef bool (*camera_attr_supported_whitebalance_cb)(camera_attr_whitebalance_e
 
 /**
  * @brief Called to get each supported effect mode.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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 otherwise @c false to break out of the loop
@@ -1844,6 +1849,7 @@ typedef bool (*camera_attr_supported_effect_cb)(camera_attr_effect_mode_e effect
 
 /**
  * @brief Called to get each supported scene mode.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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 otherwise @c false to break out of the loop
@@ -1856,6 +1862,7 @@ typedef bool (*camera_attr_supported_scene_mode_cb)(camera_attr_scene_mode_e mod
 
 /**
  * @brief Called to get each supported flash mode.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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 otherwise @c false to break out of the loop
@@ -1867,6 +1874,7 @@ typedef bool (*camera_attr_supported_flash_mode_cb)(camera_attr_flash_mode_e mod
 
 /**
  * @brief Called to get each supported FPS mode.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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 otherwise @c false to break out of the loop
@@ -1877,6 +1885,7 @@ typedef bool (*camera_attr_supported_fps_cb)(camera_attr_fps_e fps, void *user_d
 
 /**
  * @brief Called to get each supported stream flip mode.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1887,6 +1896,7 @@ typedef bool (*camera_attr_supported_stream_flip_cb)(camera_flip_e flip, void *u
 
 /**
  * @brief Called to get each supported stream rotation mode.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1897,6 +1907,7 @@ typedef bool (*camera_attr_supported_stream_rotation_cb)(camera_rotation_e rotat
 
 /**
  * @brief Called to get each supported theater mode.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1916,7 +1927,7 @@ typedef bool (*camera_attr_supported_theater_mode_cb)(camera_attr_theater_mode_e
 
 /**
  * @brief Sets the preview frame rate.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1934,7 +1945,7 @@ 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.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1958,7 +1969,7 @@ int camera_attr_get_preview_fps(camera_h camera, camera_attr_fps_e *fps);
 
 /**
  * @brief Retrieves all supported FPS modes by invoking the callback function once for each supported FPS mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -1976,6 +1987,29 @@ int camera_attr_foreach_supported_fps(camera_h camera, camera_attr_supported_fps
         void *user_data);
 
 /**
+ * @brief Retrieves all supported FPS modes by invoking the callback function once for each supported FPS mode.
+ * @since_tizen 2.4
+ * @param[in] camera The handle to the camera
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/camera
+ * @param[in] width Required preview resolution's width
+ * @param[in] height Required preview resolution's height
+ * @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()
+ */
+int camera_attr_foreach_supported_fps_by_resolution(camera_h camera,  int width, int height,
+       camera_attr_supported_fps_cb callback ,void *user_data);
+
+/**
  * @}
  */
 
@@ -1987,7 +2021,7 @@ int camera_attr_foreach_supported_fps(camera_h camera, camera_attr_supported_fps
 /**
  * @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.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @param[in] camera The handle to the camera
@@ -2006,7 +2040,7 @@ int camera_attr_set_image_quality(camera_h camera, int quality);
 
 /**
  * @brief Gets the quality of a still image, which is captured.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -2021,7 +2055,7 @@ int camera_attr_get_image_quality(camera_h camera, int *quality);
 /**
  * @brief Sets the zoom level.
  * @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
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @param[in] camera The handle to the camera
@@ -2038,7 +2072,7 @@ int camera_attr_set_zoom(camera_h camera, int zoom);
 
 /**
  * @brief Gets the zoom level.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[out] zoom The zoom level
  * @return @c 0 on success, otherwise a negative error value
@@ -2053,7 +2087,7 @@ int camera_attr_get_zoom(camera_h camera, int *zoom);
 
 /**
  * @brief Gets the available zoom level.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -2071,7 +2105,7 @@ int camera_attr_get_zoom_range(camera_h camera , int *min , int *max);
 
 /**
  * @brief Sets the auto focus mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @param[in] camera The handle to the camera
@@ -2089,7 +2123,7 @@ int camera_attr_set_af_mode(camera_h camera, camera_attr_af_mode_e mode);
 
 /**
  * @brief Gets the auto focus mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @param[in] camera The handle to the camera
@@ -2107,7 +2141,7 @@ int camera_attr_get_af_mode(camera_h camera, camera_attr_af_mode_e *mode);
 
 /**
  * @brief Sets auto focus area.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @remarks This API is invalid in the #CAMERA_ATTR_AF_NONE mode.\n
@@ -2128,7 +2162,7 @@ int camera_attr_set_af_area(camera_h camera, int x, int y);
 
 /**
  * @brief Clears the auto focus area.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @remarks The focusing area is set to the center.
@@ -2155,7 +2189,7 @@ int camera_attr_clear_af_area(camera_h camera);
 
 /**
  * @brief Retrieves all supported auto focus modes by invoking the callback function once for each supported auto focus mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -2183,7 +2217,7 @@ int camera_attr_foreach_supported_af_mode(camera_h camera,
 
 /**
  * @brief Sets the exposure mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @param[in] camera The handle to the camera
@@ -2200,7 +2234,7 @@ int camera_attr_set_exposure_mode(camera_h camera, camera_attr_exposure_mode_e m
 
 /**
  * @brief Gets the exposure mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[out] mode The exposure mode
  * @return @c 0 on success, otherwise a negative error value
@@ -2224,7 +2258,7 @@ int camera_attr_get_exposure_mode(camera_h camera, camera_attr_exposure_mode_e *
 
 /**
  * @brief Retrieves all supported exposure modes by invoking the callback function once for each supported exposure mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -2252,7 +2286,7 @@ int camera_attr_foreach_supported_exposure_mode(camera_h camera,
 
 /**
  * @brief Sets the exposure value.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @param[in] camera The handle to the camera
@@ -2268,7 +2302,7 @@ int camera_attr_set_exposure(camera_h camera, int value);
 
 /**
  * @brief Gets the exposure value.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[out] value The exposure value
  * @return @c 0 on success, otherwise a negative error value
@@ -2282,7 +2316,7 @@ int camera_attr_get_exposure(camera_h camera, int *value);
 
 /**
  * @brief Gets the available exposure value.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -2298,7 +2332,7 @@ int camera_attr_get_exposure_range(camera_h camera, int *min, int *max);
 
 /**
  * @brief Sets the ISO level.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @param[in] camera The handle to the camera
@@ -2315,7 +2349,7 @@ int camera_attr_set_iso(camera_h camera, camera_attr_iso_e iso);
 
 /**
  * @brief Gets the ISO level.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[out] iso The ISO level
  * @return @c 0 on success, otherwise a negative error value
@@ -2339,7 +2373,7 @@ int camera_attr_get_iso(camera_h camera, camera_attr_iso_e *iso);
 
 /**
  * @brief Retrieves all supported ISO levels by invoking the callback function once for each supported ISO level.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -2367,7 +2401,7 @@ int camera_attr_foreach_supported_iso(camera_h camera, camera_attr_supported_iso
 
 /**
  * @brief Sets the theater mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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.
@@ -2385,7 +2419,7 @@ int camera_attr_set_theater_mode(camera_h camera, camera_attr_theater_mode_e mod
 
 /**
  * @brief Gets the theater mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[in] mode Currnet theater mode
  * @return @c 0 on success, otherwise a negative error value
@@ -2408,7 +2442,7 @@ int camera_attr_get_theater_mode(camera_h camera, camera_attr_theater_mode_e *mo
 
 /**
  * @brief Retrieves all supported theater modes by invoking callback function once for each supported theater modes.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -2437,7 +2471,7 @@ int camera_attr_foreach_supported_theater_mode(camera_h camera,
 
 /**
  * @brief Sets the brightness level.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @param[in] camera The handle to the camera
@@ -2454,7 +2488,7 @@ int camera_attr_set_brightness(camera_h camera, int level);
 
 /**
  * @brief Gets the brightness level.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[out] level The brightness level
  * @return @c 0 on success, otherwise a negative error value
@@ -2469,7 +2503,7 @@ int camera_attr_get_brightness(camera_h camera, int *level);
 
 /**
  * @brief Gets the available brightness level.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -2486,7 +2520,7 @@ int camera_attr_get_brightness_range(camera_h camera, int *min, int *max);
 
 /**
  * @brief Sets the contrast level.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @param[in] camera The handle to the camera
@@ -2503,7 +2537,7 @@ int camera_attr_set_contrast(camera_h camera, int level);
 
 /**
  * @brief Gets the contrast level.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[out] level The contrast level
  * @return @c 0 on success, otherwise a negative error value
@@ -2518,7 +2552,7 @@ int camera_attr_get_contrast(camera_h camera, int *level);
 
 /**
  * @brief Gets the available contrast level.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -2535,7 +2569,7 @@ int camera_attr_get_contrast_range(camera_h camera, int *min , int *max);
 
 /**
  * @brief Sets the white balance mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @param[in] camera The handle to the camera
@@ -2552,7 +2586,7 @@ int camera_attr_set_whitebalance(camera_h camera, camera_attr_whitebalance_e whi
 
 /**
  * @brief Gets the white balance mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -2576,7 +2610,7 @@ int camera_attr_get_whitebalance(camera_h camera, camera_attr_whitebalance_e *wh
 
 /**
  * @brief Retrieves all supported white balances by invoking the callback function once for each supported white balance.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -2604,7 +2638,7 @@ int camera_attr_foreach_supported_whitebalance(camera_h camera,
 
 /**
  * @brief Sets the camera effect mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @param[in] camera The handle to the camera
@@ -2622,7 +2656,7 @@ int camera_attr_set_effect(camera_h camera, camera_attr_effect_mode_e effect);
 
 /**
  * @brief Gets the camera effect mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -2646,7 +2680,7 @@ int camera_attr_get_effect(camera_h camera, camera_attr_effect_mode_e *effect);
 
 /**
  * @brief Retrieves all supported effect modes by invoking the callback function once for each supported effect mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -2674,7 +2708,7 @@ int camera_attr_foreach_supported_effect(camera_h camera,
 
 /**
  * @brief Sets the scene mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @param[in] camera The handle to the camera
@@ -2691,7 +2725,7 @@ int camera_attr_set_scene_mode(camera_h camera, camera_attr_scene_mode_e mode);
 
 /**
  * @brief Gets the scene mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[out] mode The scene mode
  * @return @c 0 on success, otherwise a negative error value
@@ -2715,7 +2749,7 @@ int camera_attr_get_scene_mode(camera_h camera, camera_attr_scene_mode_e *mode);
 
 /**
  * @brief Retrieves all supported scene modes by invoking the callback function once for each supported scene mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -2743,7 +2777,7 @@ int camera_attr_foreach_supported_scene_mode(camera_h camera,
 
 /**
  * @brief Enables to write EXIF(Exchangeable image file format) tags in a JPEG file.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -2757,7 +2791,7 @@ int camera_attr_enable_tag(camera_h camera, bool enable);
 
 /**
  * @brief Gets the value that indicates whether writing EXIF(Exchangeable image file format) tags in a JPEG file is enabled.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -2771,7 +2805,7 @@ int camera_attr_is_enabled_tag(camera_h camera, bool *enabled);
 
 /**
  * @brief Sets the camera image description in the EXIF(Exchangeable image file format) tag.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -2785,7 +2819,7 @@ int camera_attr_set_tag_image_description(camera_h camera, const char *descripti
 
 /**
  * @brief Gets the camera image description in EXIF(Exchangeable image file format) tag.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @remarks You must release @a description using free().
  * @param[in] camera The handle to the camera
  * @param[out] description A pointer to a string
@@ -2800,7 +2834,7 @@ int camera_attr_get_tag_image_description(camera_h camera, char **description);
 
 /**
  * @brief Sets the camera orientation in the EXIF(Exchangeable image file format) tag.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[in] orientation The camera orientation
  * @return @c 0 on success, otherwise a negative error value
@@ -2814,7 +2848,7 @@ int camera_attr_set_tag_orientation(camera_h camera, camera_attr_tag_orientation
 
 /**
  * @brief Gets the camera orientation in the EXIF(Exchangeable image file format) tag.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[out] orientation The camera orientation
  * @return @c 0 on success, otherwise a negative error value
@@ -2828,7 +2862,7 @@ int camera_attr_get_tag_orientation(camera_h camera, camera_attr_tag_orientation
 
 /**
  * @brief Sets the software information in the EXIF(Exchangeable image file format) tag.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -2842,7 +2876,7 @@ int camera_attr_set_tag_software(camera_h camera, const char *software);
 
 /**
  * @brief Gets the software information in the EXIF(Exchangeable image file format) tag.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @remarks You must release @a software using free().
  * @param[in] camera The handle to the camera
  * @param[out] software A pointer to a string
@@ -2857,7 +2891,7 @@ int camera_attr_get_tag_software(camera_h camera, char **software);
 
 /**
  * @brief Sets the geotag(GPS data) in the EXIF(Exchangeable image file format) tag.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[in] latitude The latitude data
  * @param[in] longitude The longitude data
@@ -2874,7 +2908,7 @@ int camera_attr_set_geotag(camera_h camera, double latitude , double longitude,
 
 /**
  * @brief Gets the geotag(GPS data) in the EXIF(Exchangeable image file format) tag.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[out] latitude The latitude data
  * @param[out] longitude The longitude data
@@ -2891,7 +2925,7 @@ int camera_attr_get_geotag(camera_h camera, double *latitude , double *longitude
 
 /**
  * @brief Removes the geotag(GPS data) in the EXIF(Exchangeable image file format) tag.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @return @c 0 on success, otherwise a negative error value
  * @retval #CAMERA_ERROR_NONE Successful
@@ -2905,9 +2939,11 @@ int camera_attr_remove_geotag(camera_h camera);
 
 /**
  * @brief Sets the camera's flash mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
+ * @remarks Since 2.4, while setting the flash mode, if the flash was preempted by other APIs,\n
+            then this function returns #CAMERA_ERROR_DEVICE_BUSY error.
  * @param[in] camera The handle to the camera
  * @param[in] mode The flash mode
  * @return @c 0 on success, otherwise a negative error value
@@ -2915,6 +2951,7 @@ int camera_attr_remove_geotag(camera_h camera);
  * @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
+ * @retval #CAMERA_ERROR_DEVICE_BUSY The flash was preempted by other API
  * @see        camera_attr_foreach_supported_flash_mode()
  * @see camera_attr_get_flash_mode()
  */
@@ -2922,7 +2959,7 @@ int camera_attr_set_flash_mode(camera_h camera, camera_attr_flash_mode_e mode);
 
 /**
  * @brief Gets the camera's flash mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[out] mode The flash mode
  * @return @c 0 on success, otherwise a negative error value
@@ -2946,7 +2983,7 @@ int camera_attr_get_flash_mode(camera_h camera, camera_attr_flash_mode_e *mode);
 
 /**
  * @brief Retrieves all supported flash modes by invoking the callback function once for each supported flash mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -2974,7 +3011,7 @@ int camera_attr_foreach_supported_flash_mode(camera_h camera,
 
 /**
  * @brief Gets the camera len's orientation angle.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[out] angle The orientation angle
  * @return @c 0 on success, otherwise a negative error value
@@ -2988,7 +3025,7 @@ int camera_attr_get_lens_orientation(camera_h camera, int *angle);
 
 /**
  * @brief Sets the stream rotation.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[in] rotation The stream rotation
  * @return @c 0 on success, otherwise a negative error value
@@ -3003,7 +3040,7 @@ int camera_attr_set_stream_rotation(camera_h camera , camera_rotation_e rotation
 
 /**
  * @brief Gets the stream rotation.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[out] rotation        The stream rotation
  * @return @c 0 on success, otherwise a negative error value
@@ -3027,7 +3064,7 @@ int camera_attr_get_stream_rotation(camera_h camera , camera_rotation_e *rotatio
 
 /**
  * @brief Retrieves all supported stream rotation modes by invoking callback function once for each supported stream rotation mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -3055,7 +3092,7 @@ int camera_attr_foreach_supported_stream_rotation(camera_h camera,
 
 /**
  * @brief Sets the stream flip.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[in] flip The stream flip
  * @return @c 0 on success, otherwise a negative error value
@@ -3070,7 +3107,7 @@ int camera_attr_set_stream_flip(camera_h camera , camera_flip_e flip);
 
 /**
  * @brief Gets the stream flip.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @param[out] flip  The stream flip
  * @return @c 0 on success, otherwise a negative error value
@@ -3094,7 +3131,7 @@ int camera_attr_get_stream_flip(camera_h camera , camera_flip_e *flip);
 
 /**
  * @brief Retrieves all supported stream flip modes by invoking callback function once for each supported stream flip mode.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -3122,7 +3159,7 @@ int camera_attr_foreach_supported_stream_flip(camera_h camera,
 
 /**
  * @brief Called when the HDR capture process is updated.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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().
@@ -3135,7 +3172,7 @@ typedef void (*camera_attr_hdr_progress_cb)(int percent, void *user_data);
 
 /**
  * @brief Sets the mode of HDR(High dynamic range) capture.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -3158,7 +3195,7 @@ 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.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -3175,7 +3212,7 @@ int camera_attr_get_hdr_mode(camera_h camera, camera_attr_hdr_mode_e *mode);
 
 /**
  * @brief Registers a callback function to be called when HDR capture is progressing.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -3194,7 +3231,7 @@ int camera_attr_set_hdr_capture_progress_cb(camera_h camera, camera_attr_hdr_pro
 
 /**
  * @brief Unregisters the callback function.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] camera The handle to the camera
  * @return @c 0 on success, otherwise a negative error value
  * @retval #CAMERA_ERROR_NONE Successful
@@ -3211,7 +3248,7 @@ int camera_attr_unset_hdr_capture_progress_cb(camera_h camera);
 /**
  * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
  * @brief Gets the support state of HDR capture.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -3228,7 +3265,7 @@ bool camera_attr_is_supported_hdr_capture(camera_h camera);
 
 /**
  * @brief Enables/Disables the anti-shake feature.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @remarks This feature is used for image capture.
@@ -3247,7 +3284,7 @@ int camera_attr_enable_anti_shake(camera_h camera, bool enable);
 
 /**
  * @brief Gets the state of the anti-shake feature.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -3263,7 +3300,7 @@ int camera_attr_is_enabled_anti_shake(camera_h camera , bool *enabled);
 /**
  * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
  * @brief Gets the support state of the anti-shake feature.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -3278,7 +3315,7 @@ bool camera_attr_is_supported_anti_shake(camera_h camera);
 
 /**
  * @brief Enables/Disables the video stabilization feature.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @remarks If video stabilization is enabled, zero shutter lag is disabled.\n
@@ -3298,7 +3335,7 @@ int camera_attr_enable_video_stabilization(camera_h camera, bool enable);
 
 /**
  * @brief Gets the state of the video stabilization feature.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -3312,9 +3349,9 @@ int camera_attr_enable_video_stabilization(camera_h camera, bool enable);
 int camera_attr_is_enabled_video_stabilization(camera_h camera, bool *enabled);
 
 /**
 * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
+ * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
  * @brief Gets the support state of the video stabilization feature.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -3329,7 +3366,7 @@ bool camera_attr_is_supported_video_stabilization(camera_h camera);
 
 /**
  * @brief Enables/Disables auto contrast.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @privlevel public
  * @privilege %http://tizen.org/privilege/camera
  * @param[in] camera The handle to the camera
@@ -3345,7 +3382,7 @@ int camera_attr_enable_auto_contrast(camera_h camera, bool enable);
 
 /**
  * @brief Gets the state of auto contrast.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -3369,7 +3406,7 @@ int camera_attr_is_enabled_auto_contrast(camera_h camera, bool *enabled);
 /**
  * @brief Gets state of support of auto contrast feature.
  * @ingroup CAPI_MEDIA_CAMERA_CAPABILITY_MODULE
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @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
@@ -3393,7 +3430,7 @@ bool camera_attr_is_supported_auto_contrast(camera_h camera);
 
 /**
  * @brief Disables shutter sound.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @remarks In some countries, this operation is not permitted.
  * @param[in] camera The handle to the camera
  * @param[in] disable If @c true shutter sound is disabled, otherwise @c false
index 52d227a..75600cb 100755 (executable)
@@ -3,7 +3,7 @@
 
 Name:       capi-media-camera
 Summary:    A Camera library in Tizen C API
-Version:    0.2.1
+Version:    0.2.2
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
@@ -19,6 +19,7 @@ BuildRequires:  pkgconfig(libtbm)
 BuildRequires:  pkgconfig(evas)
 BuildRequires:  pkgconfig(ecore)
 BuildRequires:  pkgconfig(elementary)
+BuildRequires:  pkgconfig(vconf)
 Requires(post): /sbin/ldconfig
 Requires(postun): /sbin/ldconfig
 
index 7f2b647..fe94384 100644 (file)
 #endif
 #define LOG_TAG "TIZEN_N_CAMERA"
 
-static gboolean __mm_videostream_callback(MMCamcorderVideoStreamDataType * stream, void *user_data);
+static gboolean __mm_videostream_callback(MMCamcorderVideoStreamDataType *stream, void *user_data);
 static gboolean __mm_capture_callback(MMCamcorderCaptureDataType *frame, MMCamcorderCaptureDataType *thumbnail, void *user_data);
 
-void _camera_remove_cb_message(camera_s *handle){
+
+void _camera_remove_cb_message(camera_s *handle)
+{
        int ret = 0;
        GList *list = NULL;
        camera_cb_data *cb_data = NULL;
 
-       if( handle == NULL ){
+       if (handle == NULL) {
                LOGE("handle is NULL");
                return;
        }
@@ -56,14 +58,14 @@ void _camera_remove_cb_message(camera_s *handle){
 
        g_mutex_lock(&handle->idle_cb_lock);
 
-       if( handle->cb_data_list ){
+       if (handle->cb_data_list) {
                list = handle->cb_data_list;
 
-               while( list ){
+               while (list) {
                        cb_data = list->data;
                        list =  g_list_next(list);
 
-                       if( !cb_data ){
+                       if (!cb_data) {
                                LOGW("cb_data is NULL");
                        } else {
                                ret = g_idle_remove_by_data (cb_data);
@@ -89,111 +91,109 @@ void _camera_remove_cb_message(camera_s *handle){
 }
 
 
-int __convert_camera_error_code(const char* func, int code){
+int __convert_camera_error_code(const char *func, int code)
+{
        int ret = CAMERA_ERROR_NONE;
        const char *errorstr = NULL;
 
-       switch( code ){
-               case MM_ERROR_NONE:
-                       ret = CAMERA_ERROR_NONE;
-                       errorstr = "ERROR_NONE";
-                       break;
-               case MM_ERROR_CAMCORDER_INVALID_ARGUMENT:
-               case MM_ERROR_COMMON_INVALID_ATTRTYPE:
-                       ret = CAMERA_ERROR_INVALID_PARAMETER;
-                       errorstr = "INVALID_PARAMETER";
-                       break;
-               case MM_ERROR_CAMCORDER_NOT_INITIALIZED:
-               case MM_ERROR_CAMCORDER_INVALID_STATE:
-                       ret = CAMERA_ERROR_INVALID_STATE;
-                       errorstr = "INVALID_STATE";
-                       break;
-               case MM_ERROR_CAMCORDER_DEVICE_NOT_FOUND:
-                       ret = CAMERA_ERROR_DEVICE_NOT_FOUND;
-                       errorstr = "DEVICE_NOT_FOUND";
-                       break;
-               case MM_ERROR_CAMCORDER_DEVICE_BUSY:
-               case MM_ERROR_CAMCORDER_DEVICE_OPEN:
-               case MM_ERROR_CAMCORDER_CMD_IS_RUNNING:
-                       ret = CAMERA_ERROR_DEVICE_BUSY;
-                       errorstr = "DEVICE_BUSY";
-                       break;
-               case MM_ERROR_CAMCORDER_DEVICE:
-               case MM_ERROR_CAMCORDER_DEVICE_IO:
-               case MM_ERROR_CAMCORDER_DEVICE_TIMEOUT:
-               case MM_ERROR_CAMCORDER_DEVICE_WRONG_JPEG:
-               case MM_ERROR_CAMCORDER_DEVICE_LACK_BUFFER:
-                       ret = CAMERA_ERROR_DEVICE;
-                       errorstr = "ERROR_DEVICE";
-                       break;
-
-               case MM_ERROR_CAMCORDER_GST_CORE:
-               case MM_ERROR_CAMCORDER_GST_LIBRARY:
-               case MM_ERROR_CAMCORDER_GST_RESOURCE:
-               case MM_ERROR_CAMCORDER_GST_STREAM:
-               case MM_ERROR_CAMCORDER_GST_STATECHANGE:
-               case MM_ERROR_CAMCORDER_GST_NEGOTIATION:
-               case MM_ERROR_CAMCORDER_GST_LINK:
-               case MM_ERROR_CAMCORDER_GST_FLOW_ERROR:
-               case MM_ERROR_CAMCORDER_ENCODER:
-               case MM_ERROR_CAMCORDER_ENCODER_BUFFER:
-               case MM_ERROR_CAMCORDER_ENCODER_WRONG_TYPE:
-               case MM_ERROR_CAMCORDER_ENCODER_WORKING:
-               case MM_ERROR_CAMCORDER_INTERNAL:
-               case MM_ERROR_CAMCORDER_RESPONSE_TIMEOUT:
-               case MM_ERROR_CAMCORDER_DSP_FAIL:
-               case MM_ERROR_CAMCORDER_AUDIO_EMPTY:
-               case MM_ERROR_CAMCORDER_CREATE_CONFIGURE:
-               case MM_ERROR_CAMCORDER_FILE_SIZE_OVER:
-               case MM_ERROR_CAMCORDER_DISPLAY_DEVICE_OFF:
-               case MM_ERROR_CAMCORDER_INVALID_CONDITION:
-                       ret = CAMERA_ERROR_INVALID_OPERATION;
-                       errorstr = "INVALID_OPERATION";
-                       break;
-
-               case MM_ERROR_CAMCORDER_RESOURCE_CREATION:
-               case MM_ERROR_COMMON_OUT_OF_MEMORY:
-                       ret = CAMERA_ERROR_OUT_OF_MEMORY;
-                       errorstr = "OUT_OF_MEMORY";
-                       break;
-
-               case MM_ERROR_POLICY_BLOCKED:
-                       ret = CAMERA_ERROR_SOUND_POLICY;
-                       errorstr = "ERROR_SOUND_POLICY";
-                       break;
-               case MM_ERROR_POLICY_BLOCKED_BY_CALL:
-                       ret = CAMERA_ERROR_SOUND_POLICY_BY_CALL;
-                       errorstr = "ERROR_SOUND_POLICY_BY_CALL";
-                       break;
-               case MM_ERROR_POLICY_BLOCKED_BY_ALARM:
-                       ret = CAMERA_ERROR_SOUND_POLICY_BY_ALARM;
-                       errorstr = "ERROR_SOUND_POLICY_BY_ALARM";
-                       break;
-               case MM_ERROR_POLICY_RESTRICTED:
-                       ret = CAMERA_ERROR_SECURITY_RESTRICTED;
-                       errorstr = "ERROR_RESTRICTED";
-                       break;
-               case MM_ERROR_CAMCORDER_DEVICE_REG_TROUBLE:
-                       ret = CAMERA_ERROR_ESD;
-                       errorstr = "ERROR_ESD";
-                       break;
-               case MM_ERROR_COMMON_INVALID_PERMISSION:
-                       ret = CAMERA_ERROR_PERMISSION_DENIED;
-                       errorstr = "ERROR_PERMISSION_DENIED";
-                       break;
-               case MM_ERROR_COMMON_OUT_OF_ARRAY:
-               case MM_ERROR_COMMON_OUT_OF_RANGE:
-               case MM_ERROR_COMMON_ATTR_NOT_EXIST:
-               case MM_ERROR_CAMCORDER_NOT_SUPPORTED:
-                       ret = CAMERA_ERROR_NOT_SUPPORTED;
-                       errorstr = "ERROR_NOT_SUPPORTED";
-                       break;
-               default:
-                       ret = CAMERA_ERROR_INVALID_OPERATION;
-                       errorstr = "INVALID_OPERATION";
+       switch (code) {
+       case MM_ERROR_NONE:
+               ret = CAMERA_ERROR_NONE;
+               errorstr = "ERROR_NONE";
+               break;
+       case MM_ERROR_CAMCORDER_INVALID_ARGUMENT:
+       case MM_ERROR_COMMON_INVALID_ATTRTYPE:
+               ret = CAMERA_ERROR_INVALID_PARAMETER;
+               errorstr = "INVALID_PARAMETER";
+               break;
+       case MM_ERROR_CAMCORDER_NOT_INITIALIZED:
+       case MM_ERROR_CAMCORDER_INVALID_STATE:
+               ret = CAMERA_ERROR_INVALID_STATE;
+               errorstr = "INVALID_STATE";
+               break;
+       case MM_ERROR_CAMCORDER_DEVICE_NOT_FOUND:
+               ret = CAMERA_ERROR_DEVICE_NOT_FOUND;
+               errorstr = "DEVICE_NOT_FOUND";
+               break;
+       case MM_ERROR_CAMCORDER_DEVICE_BUSY:
+       case MM_ERROR_CAMCORDER_DEVICE_OPEN:
+       case MM_ERROR_CAMCORDER_CMD_IS_RUNNING:
+               ret = CAMERA_ERROR_DEVICE_BUSY;
+               errorstr = "DEVICE_BUSY";
+               break;
+       case MM_ERROR_CAMCORDER_DEVICE:
+       case MM_ERROR_CAMCORDER_DEVICE_IO:
+       case MM_ERROR_CAMCORDER_DEVICE_TIMEOUT:
+       case MM_ERROR_CAMCORDER_DEVICE_WRONG_JPEG:
+       case MM_ERROR_CAMCORDER_DEVICE_LACK_BUFFER:
+               ret = CAMERA_ERROR_DEVICE;
+               errorstr = "ERROR_DEVICE";
+               break;
+       case MM_ERROR_CAMCORDER_GST_CORE:
+       case MM_ERROR_CAMCORDER_GST_LIBRARY:
+       case MM_ERROR_CAMCORDER_GST_RESOURCE:
+       case MM_ERROR_CAMCORDER_GST_STREAM:
+       case MM_ERROR_CAMCORDER_GST_STATECHANGE:
+       case MM_ERROR_CAMCORDER_GST_NEGOTIATION:
+       case MM_ERROR_CAMCORDER_GST_LINK:
+       case MM_ERROR_CAMCORDER_GST_FLOW_ERROR:
+       case MM_ERROR_CAMCORDER_ENCODER:
+       case MM_ERROR_CAMCORDER_ENCODER_BUFFER:
+       case MM_ERROR_CAMCORDER_ENCODER_WRONG_TYPE:
+       case MM_ERROR_CAMCORDER_ENCODER_WORKING:
+       case MM_ERROR_CAMCORDER_INTERNAL:
+       case MM_ERROR_CAMCORDER_RESPONSE_TIMEOUT:
+       case MM_ERROR_CAMCORDER_DSP_FAIL:
+       case MM_ERROR_CAMCORDER_AUDIO_EMPTY:
+       case MM_ERROR_CAMCORDER_CREATE_CONFIGURE:
+       case MM_ERROR_CAMCORDER_FILE_SIZE_OVER:
+       case MM_ERROR_CAMCORDER_DISPLAY_DEVICE_OFF:
+       case MM_ERROR_CAMCORDER_INVALID_CONDITION:
+               ret = CAMERA_ERROR_INVALID_OPERATION;
+               errorstr = "INVALID_OPERATION";
+               break;
+       case MM_ERROR_CAMCORDER_RESOURCE_CREATION:
+       case MM_ERROR_COMMON_OUT_OF_MEMORY:
+               ret = CAMERA_ERROR_OUT_OF_MEMORY;
+               errorstr = "OUT_OF_MEMORY";
+               break;
+       case MM_ERROR_POLICY_BLOCKED:
+               ret = CAMERA_ERROR_SOUND_POLICY;
+               errorstr = "ERROR_SOUND_POLICY";
+               break;
+       case MM_ERROR_POLICY_BLOCKED_BY_CALL:
+               ret = CAMERA_ERROR_SOUND_POLICY_BY_CALL;
+               errorstr = "ERROR_SOUND_POLICY_BY_CALL";
+               break;
+       case MM_ERROR_POLICY_BLOCKED_BY_ALARM:
+               ret = CAMERA_ERROR_SOUND_POLICY_BY_ALARM;
+               errorstr = "ERROR_SOUND_POLICY_BY_ALARM";
+               break;
+       case MM_ERROR_POLICY_RESTRICTED:
+               ret = CAMERA_ERROR_SECURITY_RESTRICTED;
+               errorstr = "ERROR_RESTRICTED";
+               break;
+       case MM_ERROR_CAMCORDER_DEVICE_REG_TROUBLE:
+               ret = CAMERA_ERROR_ESD;
+               errorstr = "ERROR_ESD";
+               break;
+       case MM_ERROR_COMMON_INVALID_PERMISSION:
+               ret = CAMERA_ERROR_PERMISSION_DENIED;
+               errorstr = "ERROR_PERMISSION_DENIED";
+               break;
+       case MM_ERROR_COMMON_OUT_OF_ARRAY:
+       case MM_ERROR_COMMON_OUT_OF_RANGE:
+       case MM_ERROR_COMMON_ATTR_NOT_EXIST:
+       case MM_ERROR_CAMCORDER_NOT_SUPPORTED:
+               ret = CAMERA_ERROR_NOT_SUPPORTED;
+               errorstr = "ERROR_NOT_SUPPORTED";
+               break;
+       default:
+               ret = CAMERA_ERROR_INVALID_OPERATION;
+               errorstr = "INVALID_OPERATION";
        }
 
-       if( code != MM_ERROR_NONE ){
+       if (code != MM_ERROR_NONE) {
                LOGE("%s(0x%08x) : core frameworks error code(0x%08x)", errorstr, ret, code);
        }
 
@@ -201,58 +201,66 @@ int __convert_camera_error_code(const char* func, int code){
 }
 
 
-static gboolean __mm_videostream_callback(MMCamcorderVideoStreamDataType * stream, void *user_data){
-       if( user_data == NULL || stream == NULL)
+static gboolean __mm_videostream_callback(MMCamcorderVideoStreamDataType *stream, void *user_data)
+{
+       if (user_data == NULL || stream == NULL) {
                return 0;
+       }
+
+       camera_s *handle = (camera_s *)user_data;
 
-       camera_s * handle = (camera_s*)user_data;
-       if( handle->user_cb[_CAMERA_EVENT_TYPE_PREVIEW] ){
+       if (handle->user_cb[_CAMERA_EVENT_TYPE_PREVIEW]) {
                camera_preview_data_s frame;
-               frame.format = stream->format;
-               if( frame.format  == (camera_pixel_format_e)MM_PIXEL_FORMAT_ITLV_JPEG_UYVY )
+
+               if (stream->format == MM_PIXEL_FORMAT_ITLV_JPEG_UYVY) {
                        frame.format  = MM_PIXEL_FORMAT_UYVY;
+               } else {
+                       frame.format = stream->format;
+               }
                frame.width = stream->width;
                frame.height = stream->height;
                frame.timestamp = stream->timestamp;
                frame.num_of_planes = stream->num_planes;
-               switch( stream->data_type ){
-                       case MM_CAM_STREAM_DATA_YUV420 :
-                               frame.data.single_plane.yuv = stream->data.yuv420.yuv;
-                               frame.data.single_plane.size = stream->data.yuv420.length_yuv;
-                               break;
-                       case MM_CAM_STREAM_DATA_YUV422:
-                               frame.data.single_plane.yuv = stream->data.yuv422.yuv;
-                               frame.data.single_plane.size = stream->data.yuv422.length_yuv;
-                               break;
-                       case MM_CAM_STREAM_DATA_YUV420SP:
-                               frame.data.double_plane.y = stream->data.yuv420sp.y;
-                               frame.data.double_plane.uv = stream->data.yuv420sp.uv;
-                               frame.data.double_plane.y_size = stream->data.yuv420sp.length_y;
-                               frame.data.double_plane.uv_size = stream->data.yuv420sp.length_uv;
-                               break;
-                       case MM_CAM_STREAM_DATA_YUV420P:
-                               frame.data.triple_plane.y = stream->data.yuv420p.y;
-                               frame.data.triple_plane.u = stream->data.yuv420p.u;
-                               frame.data.triple_plane.v = stream->data.yuv420p.v;
-                               frame.data.triple_plane.y_size = stream->data.yuv420p.length_y;
-                               frame.data.triple_plane.u_size = stream->data.yuv420p.length_u;
-                               frame.data.triple_plane.v_size = stream->data.yuv420p.length_v;
-                               break;
-                       case MM_CAM_STREAM_DATA_YUV422P:
-                               frame.data.triple_plane.y = stream->data.yuv422p.y;
-                               frame.data.triple_plane.u = stream->data.yuv422p.u;
-                               frame.data.triple_plane.v = stream->data.yuv422p.v;
-                               frame.data.triple_plane.y_size = stream->data.yuv422p.length_y;
-                               frame.data.triple_plane.u_size = stream->data.yuv422p.length_u;
-                               frame.data.triple_plane.v_size = stream->data.yuv422p.length_v;
-                               break;
-                       default :
-                               break;
+
+               switch (stream->data_type) {
+               case MM_CAM_STREAM_DATA_YUV420:
+                       frame.data.single_plane.yuv = stream->data.yuv420.yuv;
+                       frame.data.single_plane.size = stream->data.yuv420.length_yuv;
+                       break;
+               case MM_CAM_STREAM_DATA_YUV422:
+                       frame.data.single_plane.yuv = stream->data.yuv422.yuv;
+                       frame.data.single_plane.size = stream->data.yuv422.length_yuv;
+                       break;
+               case MM_CAM_STREAM_DATA_YUV420SP:
+                       frame.data.double_plane.y = stream->data.yuv420sp.y;
+                       frame.data.double_plane.uv = stream->data.yuv420sp.uv;
+                       frame.data.double_plane.y_size = stream->data.yuv420sp.length_y;
+                       frame.data.double_plane.uv_size = stream->data.yuv420sp.length_uv;
+                       break;
+               case MM_CAM_STREAM_DATA_YUV420P:
+                       frame.data.triple_plane.y = stream->data.yuv420p.y;
+                       frame.data.triple_plane.u = stream->data.yuv420p.u;
+                       frame.data.triple_plane.v = stream->data.yuv420p.v;
+                       frame.data.triple_plane.y_size = stream->data.yuv420p.length_y;
+                       frame.data.triple_plane.u_size = stream->data.yuv420p.length_u;
+                       frame.data.triple_plane.v_size = stream->data.yuv420p.length_v;
+                       break;
+               case MM_CAM_STREAM_DATA_YUV422P:
+                       frame.data.triple_plane.y = stream->data.yuv422p.y;
+                       frame.data.triple_plane.u = stream->data.yuv422p.u;
+                       frame.data.triple_plane.v = stream->data.yuv422p.v;
+                       frame.data.triple_plane.y_size = stream->data.yuv422p.length_y;
+                       frame.data.triple_plane.u_size = stream->data.yuv422p.length_u;
+                       frame.data.triple_plane.v_size = stream->data.yuv422p.length_v;
+                       break;
+               default :
+                       break;
                }
+
                ((camera_preview_cb)handle->user_cb[_CAMERA_EVENT_TYPE_PREVIEW])(&frame, handle->user_data[_CAMERA_EVENT_TYPE_PREVIEW]);
        }
 
-       if( handle->user_cb[_CAMERA_EVENT_TYPE_MEDIA_PACKET_PREVIEW] ){
+       if (handle->user_cb[_CAMERA_EVENT_TYPE_MEDIA_PACKET_PREVIEW]) {
                media_packet_h pkt = NULL;
                tbm_surface_h tsurf = NULL;
                uint32_t bo_format = 0;
@@ -261,34 +269,77 @@ static gboolean __mm_videostream_callback(MMCamcorderVideoStreamDataType * strea
                int ret = 0;
                media_format_mimetype_e mimetype = MEDIA_FORMAT_NV12;
                bool make_pkt_fmt = false;
+               tbm_surface_info_s tsurf_info;
+
+               memset(&tsurf_info, 0x0, sizeof(tbm_surface_info_s));
 
                /* create tbm surface */
-               for( i = 0, bo_num = 0 ; i < BUFFER_MAX_PLANE_NUM ; i++ ){
-                       if( stream->bo[i] ){
+               for (i = 0, bo_num = 0 ; i < BUFFER_MAX_PLANE_NUM ; i++) {
+                       if (stream->bo[i]) {
                                bo_num++;
                        }
+                       tsurf_info.planes[i].stride = stream->stride[i];
                }
 
                /* get tbm surface format */
                ret = _camera_get_tbm_surface_format(stream->format, &bo_format);
                ret |= _camera_get_media_packet_mimetype(stream->format, &mimetype);
 
-               if( bo_num > 0 && ret == CAMERA_ERROR_NONE ){
-                       tsurf = tbm_surface_internal_create_with_bos(stream->width, stream->height, bo_format, (tbm_bo *)stream->bo, bo_num);
+               if (bo_num > 0 && ret == CAMERA_ERROR_NONE) {
+                       tsurf_info.width = stream->width;
+                       tsurf_info.height = stream->height;
+                       tsurf_info.format = bo_format;
+                       tsurf_info.bpp = tbm_surface_internal_get_bpp(bo_format);
+                       tsurf_info.num_planes = tbm_surface_internal_get_num_planes(bo_format);
+
+                       switch (bo_format) {
+                       case TBM_FORMAT_NV12:
+                       case TBM_FORMAT_NV21:
+                               tsurf_info.planes[0].size = stream->stride[0] * stream->elevation[0];
+                               tsurf_info.planes[1].size = stream->stride[1] * stream->elevation[1];
+                               tsurf_info.planes[0].offset = 0;
+                               if (bo_num == 1) {
+                                       tsurf_info.planes[1].offset = tsurf_info.planes[0].size;
+                               }
+                               tsurf_info.size = tsurf_info.planes[0].size + tsurf_info.planes[1].size;
+                               break;
+                       case TBM_FORMAT_YUV420:
+                       case TBM_FORMAT_YVU420:
+                               tsurf_info.planes[0].size = stream->stride[0] * stream->elevation[0];
+                               tsurf_info.planes[1].size = stream->stride[1] * stream->elevation[1];
+                               tsurf_info.planes[2].size = stream->stride[2] * stream->elevation[2];
+                               tsurf_info.planes[0].offset = 0;
+                               if (bo_num == 1) {
+                                       tsurf_info.planes[1].offset = tsurf_info.planes[0].size;
+                                       tsurf_info.planes[2].offset = tsurf_info.planes[0].size + tsurf_info.planes[1].size;
+                               }
+                               tsurf_info.size = tsurf_info.planes[0].size + tsurf_info.planes[1].size + tsurf_info.planes[2].size;
+                               break;
+                       case TBM_FORMAT_UYVY:
+                       case TBM_FORMAT_YUYV:
+                               tsurf_info.planes[0].size = (stream->stride[0] * stream->elevation[0]) << 1;
+                               tsurf_info.planes[0].offset = 0;
+                               tsurf_info.size = tsurf_info.planes[0].size;
+                               break;
+                       default:
+                               break;
+                       }
+
+                       tsurf = tbm_surface_internal_create_with_bos(&tsurf_info, (tbm_bo *)stream->bo, bo_num);
                        /*LOGD("tbm surface %p", tsurf);*/
                }
 
-               if( tsurf ){
+               if (tsurf) {
                        /* check media packet format */
-                       if( handle->pkt_fmt ){
+                       if (handle->pkt_fmt) {
                                int pkt_fmt_width = 0;
                                int pkt_fmt_height = 0;
                                media_format_mimetype_e pkt_fmt_mimetype = MEDIA_FORMAT_NV12;
 
                                media_format_get_video_info(handle->pkt_fmt, &pkt_fmt_mimetype, &pkt_fmt_width, &pkt_fmt_height, NULL, NULL);
-                               ifpkt_fmt_mimetype != mimetype ||
+                               if (pkt_fmt_mimetype != mimetype ||
                                    pkt_fmt_width != stream->width ||
-                                   pkt_fmt_height != stream->height ){
+                                   pkt_fmt_height != stream->height{
                                        LOGW("different format. current 0x%x, %dx%d, new 0x%x, %dx%d",
                                             pkt_fmt_mimetype, pkt_fmt_width, pkt_fmt_height, mimetype, stream->width, stream->height);
                                        media_format_unref(handle->pkt_fmt);
@@ -300,7 +351,7 @@ static gboolean __mm_videostream_callback(MMCamcorderVideoStreamDataType * strea
                        }
 
                        /* create packet format */
-                       if( make_pkt_fmt ){
+                       if (make_pkt_fmt) {
                                LOGW("make new pkt_fmt - mimetype 0x%x, %dx%d", mimetype, stream->width, stream->height);
                                ret = media_format_create(&handle->pkt_fmt);
                                if (ret == MEDIA_FORMAT_ERROR_NONE) {
@@ -315,7 +366,7 @@ static gboolean __mm_videostream_callback(MMCamcorderVideoStreamDataType * strea
 
                        /* create media packet */
                        ret = media_packet_create_from_tbm_surface(handle->pkt_fmt, tsurf, (media_packet_finalize_cb)_camera_media_packet_finalize, (void *)handle, &pkt);
-                       if( ret != MEDIA_PACKET_ERROR_NONE ){
+                       if (ret != MEDIA_PACKET_ERROR_NONE) {
                                LOGE("media_packet_create_from_tbm_surface failed");
 
                                tbm_surface_destroy(tsurf);
@@ -325,19 +376,19 @@ static gboolean __mm_videostream_callback(MMCamcorderVideoStreamDataType * strea
                        LOGE("failed to create tbm surface %dx%d, format %d, bo_num %d", stream->width, stream->height, stream->format, bo_num);
                }
 
-               if( pkt ){
+               if (pkt) {
                        /*LOGD("media packet %p, internal buffer %p", pkt, stream->internal_buffer);*/
 
                        /* set internal buffer */
                        ret = media_packet_set_extra(pkt, stream->internal_buffer);
-                       if( ret != MEDIA_PACKET_ERROR_NONE ){
+                       if (ret != MEDIA_PACKET_ERROR_NONE) {
                                LOGE("media_packet_set_extra failed");
 
                                media_packet_destroy(pkt);
                                pkt = NULL;
                        } else {
                                /* set timestamp : msec -> nsec */
-                               if( media_packet_set_pts(pkt, (uint64_t)(stream->timestamp) * 1000000) != MEDIA_PACKET_ERROR_NONE ){
+                               if (media_packet_set_pts(pkt, (uint64_t)(stream->timestamp) * 1000000) != MEDIA_PACKET_ERROR_NONE) {
                                        LOGW("media_packet_set_pts failed");
                                }
 
@@ -353,43 +404,55 @@ static gboolean __mm_videostream_callback(MMCamcorderVideoStreamDataType * strea
        return 1;
 }
 
-static gboolean __mm_capture_callback(MMCamcorderCaptureDataType *frame, MMCamcorderCaptureDataType *thumbnail, void *user_data){
-       if( user_data == NULL || frame == NULL)
+
+static gboolean __mm_capture_callback(MMCamcorderCaptureDataType *frame, MMCamcorderCaptureDataType *thumbnail, void *user_data)
+{
+       if (user_data == NULL || frame == NULL) {
                return 0;
+       }
+
+       camera_s *handle = (camera_s *)user_data;
+       int ret = MM_ERROR_NONE;
+       unsigned char *exif = NULL;
+       int exif_size = 0;
+       MMCamcorderCaptureDataType *scrnl = NULL;
+       int scrnl_size = 0;
 
-       camera_s * handle = (camera_s*)user_data;
        handle->current_capture_count++;
-       if( handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE] ){
-               MMCamcorderCaptureDataType *scrnl = NULL;
-               int size = 0;
+
+       if (handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE]) {
                camera_image_data_s image = { NULL, 0, 0, 0, 0, NULL, 0 };
                camera_image_data_s thumb = { NULL, 0, 0, 0, 0, NULL, 0 };
                camera_image_data_s postview = { NULL, 0, 0, 0, 0, NULL, 0 };
-               if( frame ){
-                       int ret;
-                       unsigned char *exif;
-                       int exif_size;
+
+               if (frame) {
                        image.data = frame->data;
                        image.size = frame->length;
                        image.width = frame->width;
                        image.height = frame->height;
                        image.format = frame->format;
-                       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL, "captured-exif-raw-data", &exif, &exif_size, NULL);
-                       if( ret == MM_ERROR_NONE ){
+
+                       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
+                                                         "captured-exif-raw-data", &exif, &exif_size,
+                                                         NULL);
+                       if (ret == MM_ERROR_NONE) {
                                image.exif = exif;
                                image.exif_size = exif_size;
                        }
                }
 
-               if( thumbnail ){
+               if (thumbnail) {
                        thumb.data = thumbnail->data;
                        thumb.size = thumbnail->length;
                        thumb.width = thumbnail->width;
                        thumb.height = thumbnail->height;
                        thumb.format = thumbnail->format;
                }
-               mm_camcorder_get_attributes( handle->mm_handle, NULL, "captured-screennail", &scrnl, &size,NULL );
-               if( scrnl ){
+
+               ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
+                                                 "captured-screennail", &scrnl, &scrnl_size,
+                                                 NULL);
+               if (ret == MM_ERROR_NONE && scrnl) {
                        postview.data = scrnl->data;
                        postview.size = scrnl->length;
                        postview.width = scrnl->width;
@@ -397,312 +460,373 @@ static gboolean __mm_capture_callback(MMCamcorderCaptureDataType *frame, MMCamco
                        postview.format = scrnl->format;
                }
 
-               ((camera_capturing_cb)handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE])(&image, scrnl ? &postview : NULL, thumbnail ? &thumb : NULL, handle->user_data[_CAMERA_EVENT_TYPE_CAPTURE]);
+               ((camera_capturing_cb)handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE])(&image,
+                                                                                  scrnl ? &postview : NULL,
+                                                                                  thumbnail ? &thumb : NULL,
+                                                                                  handle->user_data[_CAMERA_EVENT_TYPE_CAPTURE]);
        }
-       // update captured state
-       if( handle->capture_count == 1 && handle->hdr_keep_mode ){
-               if( handle->current_capture_count == 2 ){
+
+       /* update captured state */
+       if (handle->capture_count == 1 && handle->hdr_keep_mode) {
+               if (handle->current_capture_count == 2) {
                        handle->is_capture_completed = true;
                }
-       } else if( handle->capture_count == handle->current_capture_count || handle->is_continuous_shot_break){
+       } else if (handle->capture_count == handle->current_capture_count ||
+                  handle->is_continuous_shot_break) {
                handle->is_capture_completed = true;
        }
 
        return 1;
 }
 
-static camera_state_e __camera_state_convert(MMCamcorderStateType mm_state){
+
+static camera_state_e __camera_state_convert(MMCamcorderStateType mm_state)
+{
        camera_state_e state = CAMERA_STATE_NONE;
 
-       switch( mm_state ){
-               case MM_CAMCORDER_STATE_NONE:
-                       state = CAMERA_STATE_NONE;
-                       break;
-               case MM_CAMCORDER_STATE_NULL:
-                       state = CAMERA_STATE_CREATED;
-                       break;
-               case MM_CAMCORDER_STATE_READY:
-                       state = CAMERA_STATE_CREATED;
-                       break;
-               case MM_CAMCORDER_STATE_PREPARE:
-                       state = CAMERA_STATE_PREVIEW;
-                       break;
-               case MM_CAMCORDER_STATE_CAPTURING:
-                       state = CAMERA_STATE_CAPTURING;
-                       break;
-               case MM_CAMCORDER_STATE_RECORDING:
-                       state = CAMERA_STATE_PREVIEW;
-                       break;
-               case MM_CAMCORDER_STATE_PAUSED:
-                       state = CAMERA_STATE_PREVIEW;
-                       break;
-               default:
-                       state = CAMERA_STATE_NONE;
-                       break;
+       switch (mm_state) {
+       case MM_CAMCORDER_STATE_NONE:
+               state = CAMERA_STATE_NONE;
+               break;
+       case MM_CAMCORDER_STATE_NULL:
+               state = CAMERA_STATE_CREATED;
+               break;
+       case MM_CAMCORDER_STATE_READY:
+               state = CAMERA_STATE_CREATED;
+               break;
+       case MM_CAMCORDER_STATE_PREPARE:
+               state = CAMERA_STATE_PREVIEW;
+               break;
+       case MM_CAMCORDER_STATE_CAPTURING:
+               state = CAMERA_STATE_CAPTURING;
+               break;
+       case MM_CAMCORDER_STATE_RECORDING:
+               state = CAMERA_STATE_PREVIEW;
+               break;
+       case MM_CAMCORDER_STATE_PAUSED:
+               state = CAMERA_STATE_PREVIEW;
+               break;
+       default:
+               state = CAMERA_STATE_NONE;
+               break;
        }
 
        return state;
 }
 
 
-static int __mm_camera_message_callback(int message, void *param, void *user_data){
-       if( user_data == NULL || param == NULL )
+static int __mm_camera_message_callback(int message, void *param, void *user_data)
+{
+       if (user_data == NULL || param == NULL) {
                return 0;
+       }
 
-       camera_s * handle = (camera_s*)user_data;
+       int i = 0;
+       int camera_error = 0;
+       camera_s *handle = (camera_s *)user_data;
+       MMMessageParamType *m = (MMMessageParamType *)param;
+       camera_state_e previous_state;
+       camera_policy_e policy = CAMERA_POLICY_NONE;
+       MMCamRecordingReport *report = NULL;
+       MMCamFaceDetectInfo *cam_fd_info = NULL;
 
-       if( handle->relay_message_callback )
+       if (handle->relay_message_callback) {
                handle->relay_message_callback(message, param, handle->relay_user_data);
+       }
 
-       MMMessageParamType *m = (MMMessageParamType*)param;
-       camera_state_e previous_state;
+       switch (message) {
+       case MM_MESSAGE_CAMCORDER_STATE_CHANGED:
+       case MM_MESSAGE_CAMCORDER_STATE_CHANGED_BY_ASM:
+       case MM_MESSAGE_CAMCORDER_STATE_CHANGED_BY_SECURITY:
+               if (message == MM_MESSAGE_CAMCORDER_STATE_CHANGED &&
+                   (m->state.previous < MM_CAMCORDER_STATE_NONE ||
+                    m->state.previous > MM_CAMCORDER_STATE_PAUSED ||
+                    m->state.code != 0)) {
+                       LOGI( "Invalid state changed message");
+                       break;
+               }
 
+               previous_state = handle->state;
+               handle->state = __camera_state_convert(m->state.current );
 
-       switch(message){
-               case MM_MESSAGE_CAMCORDER_STATE_CHANGED:
-               case MM_MESSAGE_CAMCORDER_STATE_CHANGED_BY_ASM:
-               case MM_MESSAGE_CAMCORDER_STATE_CHANGED_BY_SECURITY:
-                       if( message == MM_MESSAGE_CAMCORDER_STATE_CHANGED && (m->state.previous < MM_CAMCORDER_STATE_NONE ||  m->state.previous > MM_CAMCORDER_STATE_PAUSED || m->state.code != 0) ){
-                               LOGI( "Invalid state changed message");
+               if (message == MM_MESSAGE_CAMCORDER_STATE_CHANGED_BY_ASM) {
+                       switch (m->state.code) {
+                       case ASM_EVENT_SOURCE_CALL_START:
+                       case ASM_EVENT_SOURCE_CALL_END:
+                               policy = CAMERA_POLICY_SOUND_BY_CALL;
+                               LOGW("CAMERA_POLICY_SOUND_BY_CALL");
+                               break;
+                       case ASM_EVENT_SOURCE_ALARM_START:
+                       case ASM_EVENT_SOURCE_ALARM_END:
+                               policy = CAMERA_POLICY_SOUND_BY_ALARM;
+                               LOGW("CAMERA_POLICY_SOUND_BY_ALARM");
+                               break;
+                       default:
+                               policy = CAMERA_POLICY_SOUND;
+                               LOGW("CAMERA_POLICY_SOUND");
                                break;
                        }
+               } else if (message == MM_MESSAGE_CAMCORDER_STATE_CHANGED_BY_SECURITY) {
+                       policy = CAMERA_POLICY_SECURITY;
+                       LOGW("CAMERA_POLICY_SECURITY");
+               }
 
-                       previous_state = handle->state;
-                       handle->state = __camera_state_convert(m->state.current );
-                       camera_policy_e policy = CAMERA_POLICY_NONE;
-                       if (message == MM_MESSAGE_CAMCORDER_STATE_CHANGED_BY_ASM) {
-                               switch (m->state.code) {
-                               case ASM_EVENT_SOURCE_CALL_START:
-                                       policy = CAMERA_POLICY_SOUND_BY_CALL;
-                                       LOGW("CAMERA_POLICY_SOUND_BY_CALL");
-                                       break;
-                               case ASM_EVENT_SOURCE_ALARM_START:
-                               case ASM_EVENT_SOURCE_ALARM_END:
-                                       policy = CAMERA_POLICY_SOUND_BY_ALARM;
-                                       LOGW("CAMERA_POLICY_SOUND_BY_ALARM");
-                                       break;
-                               default:
-                                       policy = CAMERA_POLICY_SOUND;
-                                       LOGW("CAMERA_POLICY_SOUND");
-                                       break;
-                               }
-                       } else if (message == MM_MESSAGE_CAMCORDER_STATE_CHANGED_BY_SECURITY) {
-                               policy = CAMERA_POLICY_SECURITY;
-                               LOGW("CAMERA_POLICY_SECURITY");
-                       }
+               if (previous_state != handle->state && handle->user_cb[_CAMERA_EVENT_TYPE_STATE_CHANGE]) {
+                       ((camera_state_changed_cb)handle->user_cb[_CAMERA_EVENT_TYPE_STATE_CHANGE])(previous_state,
+                                                                                                   handle->state,
+                                                                                                   policy,
+                                                                                                   handle->user_data[_CAMERA_EVENT_TYPE_STATE_CHANGE]);
+               }
 
-                       if( previous_state != handle->state && handle->user_cb[_CAMERA_EVENT_TYPE_STATE_CHANGE] ){
-                               ((camera_state_changed_cb)handle->user_cb[_CAMERA_EVENT_TYPE_STATE_CHANGE])(previous_state, handle->state, policy, handle->user_data[_CAMERA_EVENT_TYPE_STATE_CHANGE]);
+               /* should change intermediate state MM_CAMCORDER_STATE_READY is not valid in capi , change to NULL state */
+               if (policy != CAMERA_POLICY_NONE &&
+                   m->state.current == MM_CAMCORDER_STATE_NULL) {
+                       if (handle->user_cb[_CAMERA_EVENT_TYPE_INTERRUPTED]) {
+                               ((camera_interrupted_cb)handle->user_cb[_CAMERA_EVENT_TYPE_INTERRUPTED])(policy,
+                                                                                                        previous_state,
+                                                                                                        handle->state,
+                                                                                                        handle->user_data[_CAMERA_EVENT_TYPE_INTERRUPTED]);
+                       } else {
+                               LOGW("_CAMERA_EVENT_TYPE_INTERRUPTED cb is NULL");
                        }
-
-                       // should change intermediate state MM_CAMCORDER_STATE_READY is not valid in capi , change to NULL state
-                       if( policy != CAMERA_POLICY_NONE &&
-                           m->state.current == MM_CAMCORDER_STATE_NULL ){
-                               if( handle->user_cb[_CAMERA_EVENT_TYPE_INTERRUPTED]){
-                                       ((camera_interrupted_cb)handle->user_cb[_CAMERA_EVENT_TYPE_INTERRUPTED])(policy, previous_state, handle->state, handle->user_data[_CAMERA_EVENT_TYPE_INTERRUPTED]);
-                               } else {
-                                       LOGW("_CAMERA_EVENT_TYPE_INTERRUPTED cb is NULL");
-                               }
+               }
+               break;
+       case MM_MESSAGE_CAMCORDER_FOCUS_CHANGED :
+               if (handle->user_cb[_CAMERA_EVENT_TYPE_FOCUS_CHANGE]) {
+                       ((camera_focus_changed_cb)handle->user_cb[_CAMERA_EVENT_TYPE_FOCUS_CHANGE])(m->code,
+                                                                                                   handle->user_data[_CAMERA_EVENT_TYPE_FOCUS_CHANGE]);
+               }
+               break;
+       case MM_MESSAGE_CAMCORDER_CAPTURED:
+               handle->current_capture_complete_count = m->code;
+               if (handle->capture_count == 1 ||
+                   m->code == handle->capture_count ||
+                   (handle->is_continuous_shot_break &&
+                    handle->state == CAMERA_STATE_CAPTURING)) {
+                       /* pseudo state change */
+                       previous_state = handle->state ;
+                       handle->state = CAMERA_STATE_CAPTURED;
+                       if (previous_state != handle->state &&
+                           handle->user_cb[_CAMERA_EVENT_TYPE_STATE_CHANGE]) {
+                               ((camera_state_changed_cb)handle->user_cb[_CAMERA_EVENT_TYPE_STATE_CHANGE])(previous_state,
+                                                                                                           handle->state,
+                                                                                                           0,
+                                                                                                           handle->user_data[_CAMERA_EVENT_TYPE_STATE_CHANGE]);
                        }
-
-                       break;
-               case MM_MESSAGE_CAMCORDER_FOCUS_CHANGED :
-                       if( handle->user_cb[_CAMERA_EVENT_TYPE_FOCUS_CHANGE] ){
-                               ((camera_focus_changed_cb)handle->user_cb[_CAMERA_EVENT_TYPE_FOCUS_CHANGE])( m->code, handle->user_data[_CAMERA_EVENT_TYPE_FOCUS_CHANGE]);
+                       if (handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE]) {
+                               ((camera_capture_completed_cb)handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE])(handle->user_data[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE]);
                        }
+               }
+               break;
+       case MM_MESSAGE_CAMCORDER_VIDEO_CAPTURED:
+       case MM_MESSAGE_CAMCORDER_AUDIO_CAPTURED:
+               report = (MMCamRecordingReport *)m->data;
+               if (report != NULL && report->recording_filename) {
+                       free(report->recording_filename);
+                       report->recording_filename = NULL;
+               }
+               if (report) {
+                       free(report);
+                       report = NULL;
+               }
+               break;
+       case MM_MESSAGE_CAMCORDER_VIDEO_SNAPSHOT_CAPTURED:
+               if (handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE]) {
+                       ((camera_capture_completed_cb)handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE])(handle->user_data[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE]);
+               }
+               break;
+       case MM_MESSAGE_CAMCORDER_ERROR:
+               switch (m->code) {
+               case MM_ERROR_CAMCORDER_DEVICE :
+               case MM_ERROR_CAMCORDER_DEVICE_TIMEOUT:
+               case MM_ERROR_CAMCORDER_DEVICE_WRONG_JPEG:
+                       camera_error = CAMERA_ERROR_DEVICE;
                        break;
-               case MM_MESSAGE_CAMCORDER_CAPTURED:
-               {
-                       handle->current_capture_complete_count = m->code;
-                       if( handle->capture_count == 1 || m->code == handle->capture_count ||(handle->is_continuous_shot_break && handle->state == CAMERA_STATE_CAPTURING) ){
-                               //pseudo state change
-                               previous_state = handle->state ;
-                               handle->state = CAMERA_STATE_CAPTURED;
-                               if( previous_state != handle->state && handle->user_cb[_CAMERA_EVENT_TYPE_STATE_CHANGE] ){
-                                       ((camera_state_changed_cb)handle->user_cb[_CAMERA_EVENT_TYPE_STATE_CHANGE])(previous_state, handle->state,  0 , handle->user_data[_CAMERA_EVENT_TYPE_STATE_CHANGE]);
-                               }
-                               if( handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE] ){
-                                       ((camera_capture_completed_cb)handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE])(handle->user_data[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE]);
-                               }
-                       }
+               case MM_ERROR_CAMCORDER_GST_CORE:
+               case MM_ERROR_CAMCORDER_GST_LIBRARY:
+               case MM_ERROR_CAMCORDER_GST_RESOURCE:
+               case MM_ERROR_CAMCORDER_GST_STREAM:
+               case MM_ERROR_CAMCORDER_GST_NEGOTIATION:
+               case MM_ERROR_CAMCORDER_GST_FLOW_ERROR:
+               case MM_ERROR_CAMCORDER_ENCODER:
+               case MM_ERROR_CAMCORDER_ENCODER_BUFFER:
+               case MM_ERROR_CAMCORDER_ENCODER_WORKING:
+               case MM_ERROR_CAMCORDER_MNOTE_CREATION:
+               case MM_ERROR_CAMCORDER_MNOTE_ADD_ENTRY:
+               case MM_ERROR_CAMCORDER_INTERNAL:
+               case MM_ERROR_FILE_NOT_FOUND:
+               case MM_ERROR_FILE_READ:
+                       camera_error = CAMERA_ERROR_INVALID_OPERATION;
                        break;
-               }
-               case MM_MESSAGE_CAMCORDER_VIDEO_CAPTURED:
-               case MM_MESSAGE_CAMCORDER_AUDIO_CAPTURED:
-               {
-                       MMCamRecordingReport *report = (MMCamRecordingReport *)m ->data;
-                       if( report != NULL && report->recording_filename ){
-                               free(report->recording_filename );
-                               report->recording_filename = NULL;
-                       }
-                       if( report ){
-                               free(report);
-                               report = NULL;
-                       }
+               case MM_ERROR_CAMCORDER_LOW_MEMORY:
+               case MM_ERROR_CAMCORDER_MNOTE_MALLOC:
+                       camera_error = CAMERA_ERROR_OUT_OF_MEMORY;
                        break;
-               }
-               case MM_MESSAGE_CAMCORDER_VIDEO_SNAPSHOT_CAPTURED:
-               {
-                       if( handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE] ){
-                               ((camera_capture_completed_cb)handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE])(handle->user_data[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE]);
-                       }
+               case MM_ERROR_CAMCORDER_DEVICE_REG_TROUBLE:
+                       camera_error = CAMERA_ERROR_ESD;
+                       break;
+               default :
+                       camera_error = CAMERA_ERROR_INVALID_OPERATION;
                        break;
                }
-               case MM_MESSAGE_CAMCORDER_ERROR:
-               {
-                       int errorcode = m->code;
-                       int camera_error = 0;
-                       switch( errorcode ){
-                               case MM_ERROR_CAMCORDER_DEVICE :
-                               case MM_ERROR_CAMCORDER_DEVICE_TIMEOUT:
-                               case MM_ERROR_CAMCORDER_DEVICE_WRONG_JPEG:
-                                       camera_error = CAMERA_ERROR_DEVICE;
-                                       break;
-                               case MM_ERROR_CAMCORDER_GST_CORE:
-                               case MM_ERROR_CAMCORDER_GST_LIBRARY:
-                               case MM_ERROR_CAMCORDER_GST_RESOURCE:
-                               case MM_ERROR_CAMCORDER_GST_STREAM:
-                               case MM_ERROR_CAMCORDER_GST_NEGOTIATION:
-                               case MM_ERROR_CAMCORDER_GST_FLOW_ERROR:
-                               case MM_ERROR_CAMCORDER_ENCODER:
-                               case MM_ERROR_CAMCORDER_ENCODER_BUFFER:
-                               case MM_ERROR_CAMCORDER_ENCODER_WORKING:
-                               case MM_ERROR_CAMCORDER_MNOTE_CREATION:
-                               case MM_ERROR_CAMCORDER_MNOTE_ADD_ENTRY:
-                               case MM_ERROR_CAMCORDER_INTERNAL:
-                               case MM_ERROR_FILE_NOT_FOUND:
-                               case MM_ERROR_FILE_READ:
-                                       camera_error = CAMERA_ERROR_INVALID_OPERATION;
-                                       break;
-                               case MM_ERROR_CAMCORDER_LOW_MEMORY:
-                               case MM_ERROR_CAMCORDER_MNOTE_MALLOC:
-                                       camera_error = CAMERA_ERROR_OUT_OF_MEMORY;
-                                       break;
-                               case MM_ERROR_CAMCORDER_DEVICE_REG_TROUBLE:
-                                       camera_error = CAMERA_ERROR_ESD;
-                                       break;
-                               default :
-                                       camera_error = CAMERA_ERROR_INVALID_OPERATION;
-                                       break;
-                       }
 
-                       /* set capture completed flag as true to release camera handle */
-                       handle->is_capture_completed = true;
-
-                       if( camera_error != 0 && handle->user_cb[_CAMERA_EVENT_TYPE_ERROR] )
-                               ((camera_error_cb)handle->user_cb[_CAMERA_EVENT_TYPE_ERROR])(camera_error, handle->state , handle->user_data[_CAMERA_EVENT_TYPE_ERROR]);
+               /* set capture completed flag as true to release camera handle */
+               handle->is_capture_completed = true;
 
-                       break;
+               if (camera_error != 0 && handle->user_cb[_CAMERA_EVENT_TYPE_ERROR]) {
+                       ((camera_error_cb)handle->user_cb[_CAMERA_EVENT_TYPE_ERROR])(camera_error,
+                                                                                    handle->state,
+                                                                                    handle->user_data[_CAMERA_EVENT_TYPE_ERROR]);
                }
-               case MM_MESSAGE_CAMCORDER_HDR_PROGRESS:
-               {
-                       int percent = m->code;
-                       if( handle->user_cb[_CAMERA_EVENT_TYPE_HDR_PROGRESS] )
-                               ((camera_attr_hdr_progress_cb)handle->user_cb[_CAMERA_EVENT_TYPE_HDR_PROGRESS])(percent, handle->user_data[_CAMERA_EVENT_TYPE_HDR_PROGRESS]);
-                       break;
+
+               break;
+       case MM_MESSAGE_CAMCORDER_HDR_PROGRESS:
+               if (handle->user_cb[_CAMERA_EVENT_TYPE_HDR_PROGRESS]) {
+                       ((camera_attr_hdr_progress_cb)handle->user_cb[_CAMERA_EVENT_TYPE_HDR_PROGRESS])(m->code,
+                                                                                                       handle->user_data[_CAMERA_EVENT_TYPE_HDR_PROGRESS]);
                }
-               case MM_MESSAGE_CAMCORDER_FACE_DETECT_INFO:
-               {
-                       MMCamFaceDetectInfo *cam_fd_info = (MMCamFaceDetectInfo *)(m->data);
-                       if ( cam_fd_info ) {
-                               camera_detected_face_s faces[cam_fd_info->num_of_faces];
-                               handle->num_of_faces = cam_fd_info->num_of_faces > MAX_DETECTED_FACE ? MAX_DETECTED_FACE : cam_fd_info->num_of_faces;
-                               int i;
-                               for(i=0; i < handle->num_of_faces ; i++){
-                                       faces[i].id = cam_fd_info->face_info[i].id;
-                                       faces[i].score = cam_fd_info->face_info[i].score;
-                                       faces[i].x = cam_fd_info->face_info[i].rect.x;
-                                       faces[i].y = cam_fd_info->face_info[i].rect.y;
-                                       faces[i].width = cam_fd_info->face_info[i].rect.width;
-                                       faces[i].height = cam_fd_info->face_info[i].rect.height;
-                                       handle->faceinfo[i] = faces[i]; //cache face coordinate
-                               }
-                               if( handle->user_cb[_CAMERA_EVENT_TYPE_FACE_DETECTION] )
-                                       ((camera_face_detected_cb)handle->user_cb[_CAMERA_EVENT_TYPE_FACE_DETECTION])(faces, handle->num_of_faces, handle->user_data[_CAMERA_EVENT_TYPE_FACE_DETECTION]);
-                       }else{
-                               handle->num_of_faces = 0;
+               break;
+       case MM_MESSAGE_CAMCORDER_FACE_DETECT_INFO:
+               cam_fd_info = (MMCamFaceDetectInfo *)(m->data);
+               if (cam_fd_info) {
+                       camera_detected_face_s faces[cam_fd_info->num_of_faces];
+                       handle->num_of_faces = cam_fd_info->num_of_faces > MAX_DETECTED_FACE ? MAX_DETECTED_FACE : cam_fd_info->num_of_faces;
+
+                       for (i = 0 ; i < handle->num_of_faces ; i++) {
+                               faces[i].id = cam_fd_info->face_info[i].id;
+                               faces[i].score = cam_fd_info->face_info[i].score;
+                               faces[i].x = cam_fd_info->face_info[i].rect.x;
+                               faces[i].y = cam_fd_info->face_info[i].rect.y;
+                               faces[i].width = cam_fd_info->face_info[i].rect.width;
+                               faces[i].height = cam_fd_info->face_info[i].rect.height;
+                               handle->faceinfo[i] = faces[i]; //cache face coordinate
                        }
-                       break;
+
+                       if (handle->user_cb[_CAMERA_EVENT_TYPE_FACE_DETECTION]) {
+                               ((camera_face_detected_cb)handle->user_cb[_CAMERA_EVENT_TYPE_FACE_DETECTION])(faces,
+                                                                                                             handle->num_of_faces,
+                                                                                                             handle->user_data[_CAMERA_EVENT_TYPE_FACE_DETECTION]);
+                       }
+               } else {
+                       handle->num_of_faces = 0;
                }
-               default:
-                       break;
+               break;
+       default:
+               break;
        }
 
        return 1;
 }
 
-static int __capture_completed_event_cb(void *data){
-       camera_s *handle = (camera_s*)data;
-       if( handle->current_capture_count > 0 && handle->current_capture_count == handle->current_capture_complete_count && handle->state == CAMERA_STATE_CAPTURING ){
-               //pseudo state change
-               camera_state_e previous_state = handle->state;
+
+static int __capture_completed_event_cb(void *data)
+{
+       camera_s *handle = (camera_s *)data;
+       camera_state_e previous_state = CAMERA_STATE_NONE;
+
+       if (handle == NULL) {
+               LOGE("handle is NULL");
+               return false;
+       }
+
+       if (handle->current_capture_count > 0 &&
+           handle->current_capture_count == handle->current_capture_complete_count &&
+           handle->state == CAMERA_STATE_CAPTURING) {
+               /* pseudo state change */
+               previous_state = handle->state;
                handle->state = CAMERA_STATE_CAPTURED;
-               if( previous_state != handle->state && handle->user_cb[_CAMERA_EVENT_TYPE_STATE_CHANGE] ){
-                       ((camera_state_changed_cb)handle->user_cb[_CAMERA_EVENT_TYPE_STATE_CHANGE])(previous_state, handle->state,  0 , handle->user_data[_CAMERA_EVENT_TYPE_STATE_CHANGE]);
+
+               if (previous_state != handle->state &&
+                   handle->user_cb[_CAMERA_EVENT_TYPE_STATE_CHANGE]) {
+                       ((camera_state_changed_cb)handle->user_cb[_CAMERA_EVENT_TYPE_STATE_CHANGE])(previous_state,
+                                                                                                   handle->state,
+                                                                                                   0,
+                                                                                                   handle->user_data[_CAMERA_EVENT_TYPE_STATE_CHANGE]);
                }
-               if( handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE] ){
+
+               if (handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE]) {
                        ((camera_capture_completed_cb)handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE])(handle->user_data[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE]);
                }
        }
+
        return false;
 }
 
-int camera_create(camera_device_e device, camera_h* camera){
-
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+int camera_create(camera_device_e device, camera_h* camera)
+{
+       if (camera == NULL){
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
+       int ret = MM_ERROR_NONE;;
        MMCamPreset info;
        int preview_format;
        int rotation;
+       camera_s *handle = NULL;
+       char *error = NULL;
 
        LOGW("device name = [%d]",device);
 
        info.videodev_type = device;
 
-       camera_s* handle = (camera_s*)malloc( sizeof(camera_s) );
-       if( handle==NULL ){
+       handle = (camera_s*)malloc( sizeof(camera_s) );
+       if (handle == NULL) {
                LOGE("malloc fail");
                return CAMERA_ERROR_OUT_OF_MEMORY;
        }
-       memset(handle, 0 , sizeof(camera_s));
+
+       memset(handle, 0x0, sizeof(camera_s));
 
        ret = mm_camcorder_create(&handle->mm_handle, &info);
-       if( ret != MM_ERROR_NONE ){
+       if (ret != MM_ERROR_NONE) {
                free(handle);
                return __convert_camera_error_code(__func__,ret);
        }
 
        preview_format = MM_PIXEL_FORMAT_YUYV;
        rotation = MM_DISPLAY_ROTATION_NONE;
-       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
+       ret = mm_camcorder_get_attributes(handle->mm_handle, &error,
                                          MMCAM_RECOMMEND_PREVIEW_FORMAT_FOR_CAPTURE, &preview_format,
                                          MMCAM_RECOMMEND_DISPLAY_ROTATION, &rotation,
                                          MMCAM_CAPTURE_WIDTH, &handle->capture_width,
                                          MMCAM_CAPTURE_HEIGHT, &handle->capture_height,
                                          NULL);
+       if (ret != MM_ERROR_NONE) {
+               LOGE("mm_camcorder_get_attributes fail(%x)", ret);
+               if (error) {
+                       LOGE("failed attribute name %s", error);
+                       free(error);
+               }
+
+               mm_camcorder_destroy(handle->mm_handle);
+               free(handle);
+
+               return __convert_camera_error_code(__func__, ret);
+       }
 
-       char *error;
        ret = mm_camcorder_set_attributes(handle->mm_handle, &error,
-                                         MMCAM_MODE , MM_CAMCORDER_MODE_VIDEO_CAPTURE,
+                                         MMCAM_MODE, MM_CAMCORDER_MODE_VIDEO_CAPTURE,
                                          MMCAM_CAMERA_FORMAT,  preview_format,
-                                         MMCAM_IMAGE_ENCODER , MM_IMAGE_CODEC_JPEG,
+                                         MMCAM_IMAGE_ENCODER, MM_IMAGE_CODEC_JPEG,
                                          MMCAM_CAPTURE_FORMAT,  MM_PIXEL_FORMAT_ENCODED,
                                          MMCAM_DISPLAY_SURFACE, MM_DISPLAY_SURFACE_NULL,
                                          MMCAM_DISPLAY_ROTATION, rotation,
                                          MMCAM_CAPTURE_COUNT, 1,
-                                         (void*)NULL);
+                                         NULL);
 
        handle->display_type = CAMERA_DISPLAY_TYPE_NONE;
 
-       if( ret != MM_ERROR_NONE ){
-               LOGE("mm_camcorder_set_attributes fail(%x, %s)", ret, error);
+       if (ret != MM_ERROR_NONE) {
+               LOGE("mm_camcorder_set_attributes fail(%x)", ret);
+               if (error) {
+                       LOGE("failed attribute name %s", error);
+                       free(error);
+               }
+
                mm_camcorder_destroy(handle->mm_handle);
-               free(error);
                free(handle);
+
                return __convert_camera_error_code(__func__, ret);
        }
 
@@ -715,39 +839,45 @@ int camera_create(camera_device_e device, camera_h* camera){
        handle->is_used_in_recorder = false;
        handle->on_continuous_focusing = false;
        handle->cached_focus_mode = -1;
+
        g_mutex_init(&handle->idle_cb_lock);
-       mm_camcorder_set_message_callback(handle->mm_handle, __mm_camera_message_callback, (void*)handle);
 
-       LOGW("camera handle %p", handle);
+       mm_camcorder_set_message_callback(handle->mm_handle,
+                                         __mm_camera_message_callback,
+                                         (void*)handle);
 
        *camera = (camera_h)handle;
+
+       LOGW("camera handle %p", handle);
+
        return __convert_camera_error_code(__func__, ret);
 }
 
- int camera_destroy(camera_h camera)
+
+int camera_destroy(camera_h camera)
 {
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s *handle = (camera_s*)camera;
-       if( handle->is_used_in_recorder ){
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
+       if (handle->is_used_in_recorder) {
                LOGE("camera is using in another recorder.");
                return CAMERA_ERROR_INVALID_OPERATION;
        }
 
        LOGW("camera handle %p", handle);
 
-       ret = mm_camcorder_destroy(handle->mm_handle);
-
-       if( handle->pkt_fmt ){
+       if (handle->pkt_fmt) {
                media_format_unref(handle->pkt_fmt);
                handle->pkt_fmt = NULL;
        }
 
-       if( ret == MM_ERROR_NONE ){
+       ret = mm_camcorder_destroy(handle->mm_handle);
+       if (ret == MM_ERROR_NONE) {
                _camera_remove_cb_message(handle);
                g_mutex_clear(&handle->idle_cb_lock);
 #ifdef HAVE_WAYLAND
@@ -762,58 +892,65 @@ int camera_create(camera_device_e device, camera_h* camera){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_start_preview(camera_h camera){
-       LOGW("start");
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_start_preview(camera_h camera)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s *handle = (camera_s*)camera;
-       camera_state_e capi_state;
-       camera_get_state(camera, &capi_state);
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+       camera_state_e capi_state = CAMERA_STATE_NONE;
+       MMCamcorderStateType mm_state = MM_CAMCORDER_STATE_NONE;
 
-       if( capi_state == CAMERA_STATE_CAPTURED ){
+       camera_get_state(camera, &capi_state);
+       if (capi_state == CAMERA_STATE_CAPTURED) {
                ret = mm_camcorder_capture_stop(handle->mm_handle);
                return __convert_camera_error_code(__func__, ret);
        }
 
-       /*for receving MM_MESSAGE_CAMCORDER_CAPTURED evnet must be seted capture callback*/
-       mm_camcorder_set_video_capture_callback( handle->mm_handle, (mm_camcorder_video_capture_callback)__mm_capture_callback, (void*)handle);
+       /* for receving MM_MESSAGE_CAMCORDER_CAPTURED evnet must be seted capture callback */
+       mm_camcorder_set_video_capture_callback(handle->mm_handle,
+                                               (mm_camcorder_video_capture_callback)__mm_capture_callback,
+                                               (void *)handle);
 
-       MMCamcorderStateType state;
-       mm_camcorder_get_state(handle->mm_handle, &state);
-       if( state != MM_CAMCORDER_STATE_READY ){
+       mm_camcorder_get_state(handle->mm_handle, &mm_state);
+       if (mm_state != MM_CAMCORDER_STATE_READY) {
                ret = mm_camcorder_realize(handle->mm_handle);
-               if( ret != MM_ERROR_NONE ){
+               if (ret != MM_ERROR_NONE) {
+                       LOGE("mm_camcorder_realize failed 0x%x", ret);
                        return __convert_camera_error_code(__func__, ret);
                }
        }
 
        ret = mm_camcorder_start(handle->mm_handle);
-       if( ret != MM_ERROR_NONE ){
-               /*start fail */
+       if (ret != MM_ERROR_NONE) {
+               LOGE("mm_camcorder_start failed 0x%x, call mm_camcorder_unrealize", ret);
                mm_camcorder_unrealize(handle->mm_handle);
        }
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_stop_preview(camera_h camera){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
-               return CAMERA_ERROR_INVALID_PARAMETER;
-       }
 
-       int ret;
-       camera_s *handle = (camera_s*)camera;
-       MMCamcorderStateType state ;
-       mm_camcorder_get_state(handle->mm_handle, &state);
+int camera_stop_preview(camera_h camera)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
+               return CAMERA_ERROR_INVALID_PARAMETER;
+       }
+
+       int ret = MM_ERROR_NONE;;
+       camera_s *handle = (camera_s *)camera;
+       MMCamcorderStateType state = MM_CAMCORDER_STATE_NONE;
 
-       if( state == MM_CAMCORDER_STATE_PREPARE ){
+       mm_camcorder_get_state(handle->mm_handle, &state);
+       if (state == MM_CAMCORDER_STATE_PREPARE) {
                ret = mm_camcorder_stop(handle->mm_handle);
-               if( ret != MM_ERROR_NONE ){
+               if (ret != MM_ERROR_NONE) {
+                       LOGE("mm_camcorder_stop failed 0x%x", ret);
                        return __convert_camera_error_code(__func__, ret);
                }
        }
@@ -825,31 +962,38 @@ int camera_stop_preview(camera_h camera){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_start_capture(camera_h camera, camera_capturing_cb capturing_cb , camera_capture_completed_cb completed_cb , void *user_data){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_start_capture(camera_h camera, camera_capturing_cb capturing_cb, camera_capture_completed_cb completed_cb, void *user_data)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       camera_s * handle = (camera_s*)camera;
-       int ret;
-       MMCamcorderStateType state;
+       camera_s *handle = (camera_s *)camera;
+       int ret = MM_ERROR_NONE;
+       MMCamcorderStateType state = MM_CAMCORDER_STATE_NONE;
+
        mm_camcorder_get_state(handle->mm_handle, &state);
-       ifstate != MM_CAMCORDER_STATE_PREPARE &&
+       if (state != MM_CAMCORDER_STATE_PREPARE &&
            state != MM_CAMCORDER_STATE_RECORDING &&
-           state != MM_CAMCORDER_STATE_PAUSED ){
-               LOGE("INVALID_STATE(0x%08x)",CAMERA_ERROR_INVALID_STATE);
+           state != MM_CAMCORDER_STATE_PAUSED{
+               LOGE("INVALID_STATE(0x%08x)", CAMERA_ERROR_INVALID_STATE);
                return CAMERA_ERROR_INVALID_STATE;
        }
 
-       if( handle->capture_resolution_modified ){
+       if (handle->capture_resolution_modified) {
                mm_camcorder_set_attributes(handle->mm_handle, NULL,
                                            MMCAM_CAPTURE_WIDTH, handle->capture_width,
                                            MMCAM_CAPTURE_HEIGHT, handle->capture_height,
                                            NULL);
+
                handle->capture_resolution_modified = false;
        }
-       mm_camcorder_set_attributes(handle->mm_handle, NULL, MMCAM_CAPTURE_COUNT , 1,NULL);
+
+       mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                   MMCAM_CAPTURE_COUNT, 1,
+                                   NULL);
 
        handle->capture_count = 1;
        handle->is_continuous_shot_break = false;
@@ -857,12 +1001,13 @@ int camera_start_capture(camera_h camera, camera_capturing_cb capturing_cb , cam
        handle->current_capture_complete_count = 0;
        handle->is_capture_completed = false;
 
-       handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE] = (void*)capturing_cb;
-       handle->user_data[_CAMERA_EVENT_TYPE_CAPTURE] = (void*)user_data;
-       handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE] = (void*)completed_cb;
-       handle->user_data[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE] = (void*)user_data;
+       handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE] = (void *)capturing_cb;
+       handle->user_data[_CAMERA_EVENT_TYPE_CAPTURE] = (void *)user_data;
+       handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE] = (void *)completed_cb;
+       handle->user_data[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE] = (void *)user_data;
+
        ret = mm_camcorder_capture_start(handle->mm_handle);
-       if( ret != 0 ){
+       if (ret != MM_ERROR_NONE) {
                handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE] = NULL;
                handle->user_data[_CAMERA_EVENT_TYPE_CAPTURE] = NULL;
                handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE] = NULL;
@@ -872,60 +1017,69 @@ int camera_start_capture(camera_h camera, camera_capturing_cb capturing_cb , cam
        return __convert_camera_error_code(__func__, ret);
 }
 
-bool camera_is_supported_continuous_capture(camera_h camera){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+bool camera_is_supported_continuous_capture(camera_h camera)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return false;
        }
 
        int ret = MM_ERROR_NONE;
-       camera_s * handle = (camera_s*)camera;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo info;
-       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAPTURE_COUNT , &info);
+
+       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAPTURE_COUNT, &info);
        set_last_result(__convert_camera_error_code(__func__, ret));
-       if( ret != MM_ERROR_NONE ){
+       if (ret != MM_ERROR_NONE) {
+               LOGE("MMCAM_CAPTURE_COUNT info get failed 0x%x", ret);
                return false;
        }
-       if( info.int_range.max > 1){
+
+       if (info.int_range.max > 1) {
                return true;
        } else {
                return false;
        }
 }
 
-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){
-       if( camera == NULL ){
+
+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)
+{
+       if (camera == NULL) {
                LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       if( camera_is_supported_continuous_capture(camera) == false ){
+       if (camera_is_supported_continuous_capture(camera) == false) {
                LOGE("NOT_SUPPORTED(0x%08x)", CAMERA_ERROR_NOT_SUPPORTED);
                return CAMERA_ERROR_NOT_SUPPORTED;
        }
 
-       if( count < 2 || interval < 0 ){
+       if (count < 2 || interval < 0) {
                LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       camera_s * handle = (camera_s*)camera;
+       camera_s *handle = (camera_s *)camera;
+       MMCamcorderStateType state = MM_CAMCORDER_STATE_NONE;
+       int supported_zsl = FALSE;
+       int ret = MM_ERROR_NONE;
 
-       MMCamcorderStateType state;
        mm_camcorder_get_state(handle->mm_handle, &state);
-       if( state != MM_CAMCORDER_STATE_PREPARE ){
-               LOGE("INVALID_STATE(0x%08x)",CAMERA_ERROR_INVALID_STATE);
+       if (state != MM_CAMCORDER_STATE_PREPARE) {
+               LOGE("INVALID_STATE(0x%08x)", CAMERA_ERROR_INVALID_STATE);
                return CAMERA_ERROR_INVALID_STATE;
        }
 
-       int supported_zsl = FALSE;
+       supported_zsl = FALSE;
 
-       int ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
-                                             MMCAM_CAPTURE_COUNT, count,
-                                             MMCAM_CAPTURE_INTERVAL, interval,
-                                             NULL);
-       if( ret != 0 ){
-               LOGE("(%x) error set continuous shot attribute", ret);
+       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                         MMCAM_CAPTURE_COUNT, count,
+                                         MMCAM_CAPTURE_INTERVAL, interval,
+                                         NULL);
+       if (ret != MM_ERROR_NONE) {
+               LOGE("error set continuous shot attribute 0x%x", ret);
                return __convert_camera_error_code(__func__, ret);
        }
 
@@ -935,12 +1089,14 @@ int camera_start_continuous_capture(camera_h camera, int count, int interval, ca
        handle->current_capture_complete_count = 0;
        handle->is_capture_completed = false;
 
-       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL, MMCAM_SUPPORT_ZSL_CAPTURE, &supported_zsl, NULL);
-       if( ret != 0 ){
+       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
+                                         MMCAM_SUPPORT_ZSL_CAPTURE, &supported_zsl,
+                                         NULL);
+       if (ret != MM_ERROR_NONE) {
                LOGE("(%x) error get continuous shot attribute", ret);
        }
 
-       if( !supported_zsl ){
+       if (!supported_zsl) {
                int preview_width;
                int preview_height;
                int capture_width;
@@ -952,69 +1108,79 @@ int camera_start_continuous_capture(camera_h camera, int count, int interval, ca
                                            MMCAM_CAPTURE_WIDTH, &capture_width,
                                            MMCAM_CAPTURE_HEIGHT, &capture_height,
                                            NULL);
-               if( preview_width != capture_width || preview_height != capture_height ){
+
+               if (preview_width != capture_width || preview_height != capture_height) {
                        mm_camcorder_set_attributes(handle->mm_handle, NULL,
                                                    MMCAM_CAPTURE_WIDTH, preview_width,
                                                    MMCAM_CAPTURE_HEIGHT, preview_height,
                                                    NULL);
+
                        handle->capture_resolution_modified = true;
                }
        }
 
-       handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE] = (void*)capturing_cb;
-       handle->user_data[_CAMERA_EVENT_TYPE_CAPTURE] = (void*)user_data;
-       handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE] = (void*)completed_cb;
-       handle->user_data[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE] = (void*)user_data;
+       handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE] = (void *)capturing_cb;
+       handle->user_data[_CAMERA_EVENT_TYPE_CAPTURE] = (void *)user_data;
+       handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE] = (void *)completed_cb;
+       handle->user_data[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE] = (void *)user_data;
 
        ret = mm_camcorder_capture_start(handle->mm_handle);
-       if( ret != 0 ){
+       if(ret != MM_ERROR_NONE ){
+               LOGE("mm_camcorder_capture_start failed 0x%x", ret);
                handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE] = NULL;
                handle->user_data[_CAMERA_EVENT_TYPE_CAPTURE] = NULL;
                handle->user_cb[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE] = NULL;
                handle->user_data[_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE] = NULL;
        }
 
-       return __convert_camera_error_code(__func__,ret);
+       return __convert_camera_error_code(__func__, ret);
 
 }
 
-int camera_stop_continuous_capture(camera_h camera){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_stop_continuous_capture(camera_h camera)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       if( camera_is_supported_continuous_capture(camera) == false ){
+       if (camera_is_supported_continuous_capture(camera) == false) {
                LOGE("NOT_SUPPORTED(0x%08x)", CAMERA_ERROR_NOT_SUPPORTED);
                return CAMERA_ERROR_NOT_SUPPORTED;
        }
 
-       camera_s *handle = (camera_s*)camera;
+       camera_s *handle = (camera_s *)camera;
+       int ret = MM_ERROR_NONE;
+       camera_state_e state = CAMERA_STATE_NONE;
 
-       int ret;
-       camera_state_e state;
        camera_get_state(camera, &state);
-
-       if( state != CAMERA_STATE_CAPTURING && handle->capture_count > 1 ){
-               LOGE("INVALID_STATE(0x%08x)",CAMERA_ERROR_INVALID_STATE);
+       if (state != CAMERA_STATE_CAPTURING && handle->capture_count > 1) {
+               LOGE("INVALID_STATE(0x%08x)", CAMERA_ERROR_INVALID_STATE);
                return CAMERA_ERROR_INVALID_STATE;
        }
 
-       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL, "capture-break-cont-shot", 1, NULL);
-       if( ret == MM_ERROR_NONE ){
+       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                         "capture-break-cont-shot", 1,
+                                         NULL);
+       if (ret == MM_ERROR_NONE) {
                handle->is_continuous_shot_break = true;
-               if( handle->current_capture_count > 0 ){
+
+               if (handle->current_capture_count > 0) {
                        handle->is_capture_completed = true;
                }
+
                g_idle_add_full(G_PRIORITY_DEFAULT_IDLE, __capture_completed_event_cb, handle, NULL);
        }
 
-       return __convert_camera_error_code(__func__,ret);
+       return __convert_camera_error_code(__func__, ret);
 }
 
-bool camera_is_supported_face_detection(camera_h camera){
+
+bool camera_is_supported_face_detection(camera_h camera)
+{
        if (camera == NULL) {
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return false;
        }
 
@@ -1025,14 +1191,14 @@ bool camera_is_supported_face_detection(camera_h camera){
 
        ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_DETECT_MODE , &info);
        set_last_result(__convert_camera_error_code(__func__, ret));
-       if( ret != MM_ERROR_NONE ){
+       if (ret != MM_ERROR_NONE) {
                LOGE("MMCAM_DETECT_MODE get attr info failed");
                return false;
        }
 
-       if( info.validity_type == MM_CAM_ATTRS_VALID_TYPE_INT_ARRAY ){
-               for( i = 0 ; i < info.int_array.count ; i++ ){
-                       if( info.int_array.array[i] == MM_CAMCORDER_DETECT_MODE_ON ){
+       if (info.validity_type == MM_CAM_ATTRS_VALID_TYPE_INT_ARRAY) {
+               for (i = 0 ; i < info.int_array.count ; i++) {
+                       if (info.int_array.array[i] == MM_CAMCORDER_DETECT_MODE_ON) {
                                LOGD("face detection supported");
                                return true;
                        }
@@ -1044,19 +1210,23 @@ bool camera_is_supported_face_detection(camera_h camera){
        return false;
 }
 
-bool camera_is_supported_zero_shutter_lag(camera_h camera){
+
+bool camera_is_supported_zero_shutter_lag(camera_h camera)
+{
        int ret = MM_ERROR_NONE;
        int supported_zsl = false;
        camera_s *handle = (camera_s *)camera;
 
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return false;
        }
 
-       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL, MMCAM_SUPPORT_ZSL_CAPTURE, &supported_zsl, NULL);
+       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
+                                         MMCAM_SUPPORT_ZSL_CAPTURE, &supported_zsl,
+                                         NULL);
        set_last_result(__convert_camera_error_code(__func__, ret));
-       if( ret != MM_ERROR_NONE ){
+       if (ret != MM_ERROR_NONE) {
                LOGE("MMCAM_SUPPORT_ZSL_CAPTURE get failed");
                return false;
        }
@@ -1066,12 +1236,14 @@ bool camera_is_supported_zero_shutter_lag(camera_h camera){
        return supported_zsl;
 }
 
-bool camera_is_supported_media_packet_preview_cb(camera_h camera){
+
+bool camera_is_supported_media_packet_preview_cb(camera_h camera)
+{
        int ret = MM_ERROR_NONE;
        int supported = false;
        camera_s *handle = (camera_s *)camera;
 
-       if( camera == NULL ){
+       if (camera == NULL) {
                LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return false;
        }
@@ -1080,7 +1252,7 @@ bool camera_is_supported_media_packet_preview_cb(camera_h camera){
                                          MMCAM_SUPPORT_MEDIA_PACKET_PREVIEW_CB, &supported,
                                          NULL);
        set_last_result(__convert_camera_error_code(__func__, ret));
-       if( ret != MM_ERROR_NONE ){
+       if (ret != MM_ERROR_NONE) {
                LOGE("MMCAM_SUPPORT_MEDIA_PACKET_PREVIEW_CB get failed");
                return false;
        }
@@ -1090,11 +1262,13 @@ bool camera_is_supported_media_packet_preview_cb(camera_h camera){
        return supported;
 }
 
-int camera_get_device_count(camera_h camera, int *device_count){
+
+int camera_get_device_count(camera_h camera, int *device_count)
+{
        int ret = MM_ERROR_NONE;
        camera_s *handle = (camera_s *)camera;
 
-       if( camera == NULL || device_count == NULL ){
+       if (camera == NULL || device_count == NULL) {
                LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
@@ -1106,129 +1280,171 @@ int camera_get_device_count(camera_h camera, int *device_count){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_start_face_detection(camera_h camera, camera_face_detected_cb callback, void * user_data){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_start_face_detection(camera_h camera, camera_face_detected_cb callback, void *user_data)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       if( camera_is_supported_face_detection(camera) == false ){
+       if (camera_is_supported_face_detection(camera) == false) {
                LOGE("NOT_SUPPORTED(0x%08x)", CAMERA_ERROR_NOT_SUPPORTED);
                return CAMERA_ERROR_NOT_SUPPORTED;
        }
 
-       camera_s * handle = (camera_s*)camera;
+       camera_s *handle = (camera_s *)camera;
        camera_state_e state = CAMERA_STATE_NONE;
-       int ret;
+       int ret = MM_ERROR_NONE;
+
        camera_get_state(camera, &state);
-       if( state != CAMERA_STATE_PREVIEW ){
-               LOGE("INVALID_STATE(0x%08x)",CAMERA_ERROR_INVALID_STATE);
+       if (state != CAMERA_STATE_PREVIEW) {
+               LOGE("INVALID_STATE(0x%08x)", CAMERA_ERROR_INVALID_STATE);
                return CAMERA_ERROR_INVALID_STATE;
        }
 
        ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
                                          MMCAM_DETECT_MODE, MM_CAMCORDER_DETECT_MODE_ON,
                                          NULL);
-       if( ret == MM_ERROR_NONE ){
-               handle->user_cb[_CAMERA_EVENT_TYPE_FACE_DETECTION] = (void*)callback;
-               handle->user_data[_CAMERA_EVENT_TYPE_FACE_DETECTION] = (void*)user_data;
+       if (ret == MM_ERROR_NONE) {
+               handle->user_cb[_CAMERA_EVENT_TYPE_FACE_DETECTION] = (void *)callback;
+               handle->user_data[_CAMERA_EVENT_TYPE_FACE_DETECTION] = (void *)user_data;
                handle->num_of_faces = 0;
        }
 
        return __convert_camera_error_code(__func__,ret);
 }
 
-int camera_stop_face_detection(camera_h camera){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_stop_face_detection(camera_h camera)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
-       camera_s * handle = (camera_s*)camera;
-       int ret;
 
-       if( camera_is_supported_face_detection(camera) == false ){
+       camera_s *handle = (camera_s *)camera;
+       int ret = MM_ERROR_NONE;
+
+       if (camera_is_supported_face_detection(camera) == false) {
                LOGE("NOT_SUPPORTED(0x%08x)", CAMERA_ERROR_NOT_SUPPORTED);
                return CAMERA_ERROR_NOT_SUPPORTED;
        }
 
-       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL, MMCAM_DETECT_MODE, MM_CAMCORDER_DETECT_MODE_OFF, NULL);
-       handle->user_cb[_CAMERA_EVENT_TYPE_FACE_DETECTION] = NULL;
-       handle->user_data[_CAMERA_EVENT_TYPE_FACE_DETECTION] = NULL;
-       handle->num_of_faces = 0;
+       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                         MMCAM_DETECT_MODE, MM_CAMCORDER_DETECT_MODE_OFF,
+                                         NULL);
+       if (ret == MM_ERROR_NONE) {
+               handle->user_cb[_CAMERA_EVENT_TYPE_FACE_DETECTION] = NULL;
+               handle->user_data[_CAMERA_EVENT_TYPE_FACE_DETECTION] = NULL;
+               handle->num_of_faces = 0;
+       }
+
        return __convert_camera_error_code(__func__,ret);
 }
 
-int camera_get_state(camera_h camera, camera_state_e * state){
-       if( camera == NULL || state == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_get_state(camera_h camera, camera_state_e *state)
+{
+       if (camera == NULL || state == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       camera_s *handle = (camera_s*)camera;
-       camera_state_e capi_state;
-       MMCamcorderStateType mmstate ;
-       mm_camcorder_get_state(handle->mm_handle, &mmstate);
+       camera_s *handle = (camera_s *)camera;
+       camera_state_e capi_state = CAMERA_STATE_NONE;
+       MMCamcorderStateType mmstate = MM_CAMCORDER_STATE_NONE;
 
+       mm_camcorder_get_state(handle->mm_handle, &mmstate);
        capi_state = __camera_state_convert(mmstate);
 
-       if( (handle->state == CAMERA_STATE_CAPTURED || handle->is_capture_completed) && (handle->current_capture_count > 0 || handle->is_capture_completed) && mmstate == MM_CAMCORDER_STATE_CAPTURING ){
+       if ((handle->state == CAMERA_STATE_CAPTURED || handle->is_capture_completed) &&
+            (handle->current_capture_count > 0 || handle->is_capture_completed) &&
+           mmstate == MM_CAMCORDER_STATE_CAPTURING) {
                capi_state = CAMERA_STATE_CAPTURED;
        }
 
        *state = capi_state;
+
        return CAMERA_ERROR_NONE;
 }
 
-int camera_start_focusing( camera_h camera, bool continuous ){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_start_focusing(camera_h camera, bool continuous)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
-       camera_s *handle = (camera_s*)camera;
 
-       if( handle->cached_focus_mode != -1 ){
+       camera_s *handle = (camera_s *)camera;
+
+       if (handle->cached_focus_mode != -1) {
                LOGD("apply cached focus mode %d", handle->cached_focus_mode);
-               mm_camcorder_set_attributes(handle->mm_handle, NULL, MMCAM_CAMERA_AF_SCAN_RANGE  , handle->cached_focus_mode, NULL);
+
+               mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                           MMCAM_CAMERA_AF_SCAN_RANGE, handle->cached_focus_mode,
+                                           NULL);
+
                handle->cached_focus_mode = -1;
        }
 
-       if( continuous )
+       if (continuous) {
                return __camera_start_continuous_focusing(camera);
-       else{
-               mm_camcorder_set_attributes(handle->mm_handle, NULL, MMCAM_CAMERA_FOCUS_MODE, handle->focus_area_valid ? MM_CAMCORDER_FOCUS_MODE_TOUCH_AUTO : MM_CAMCORDER_FOCUS_MODE_AUTO, NULL);
-               return __convert_camera_error_code(__func__, mm_camcorder_start_focusing(((camera_s*)camera)->mm_handle));
+       } else {
+               mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                           MMCAM_CAMERA_FOCUS_MODE, handle->focus_area_valid ? \
+                                                                    MM_CAMCORDER_FOCUS_MODE_TOUCH_AUTO : MM_CAMCORDER_FOCUS_MODE_AUTO,
+                                           NULL);
+
+               return __convert_camera_error_code(__func__, mm_camcorder_start_focusing(((camera_s *)camera)->mm_handle));
        }
 }
 
-int __camera_start_continuous_focusing(camera_h camera){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int __camera_start_continuous_focusing(camera_h camera)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       camera_s *handle = (camera_s*)camera;
-       int ret;
-       int mode;
+       camera_s *handle = (camera_s *)camera;
+       int ret = MM_ERROR_NONE;
+       int mode = MM_CAMCORDER_FOCUS_MODE_NONE;
+
        handle->on_continuous_focusing = true;
-       ret = mm_camcorder_get_attributes(handle->mm_handle ,NULL, MMCAM_CAMERA_FOCUS_MODE , &mode, NULL);
+       mm_camcorder_get_attributes(handle->mm_handle, NULL,
+                                   MMCAM_CAMERA_FOCUS_MODE, &mode,
+                                   NULL);
 
-       if( mode == MM_CAMCORDER_FOCUS_MODE_CONTINUOUS )
+       if (mode == MM_CAMCORDER_FOCUS_MODE_CONTINUOUS) {
                ret = mm_camcorder_start_focusing(handle->mm_handle);
-       else
-               ret = mm_camcorder_set_attributes(handle->mm_handle ,NULL, MMCAM_CAMERA_FOCUS_MODE, MM_CAMCORDER_FOCUS_MODE_CONTINUOUS, NULL);
+       } else {
+               ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                                 MMCAM_CAMERA_FOCUS_MODE, MM_CAMCORDER_FOCUS_MODE_CONTINUOUS,
+                                                 NULL);
+       }
+
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_cancel_focusing(camera_h camera){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_cancel_focusing(camera_h camera)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
-       camera_s *handle = (camera_s*)camera;
+
+       camera_s *handle = (camera_s *)camera;
+
        handle->on_continuous_focusing = false;
+
        return __convert_camera_error_code(__func__, mm_camcorder_stop_focusing(handle->mm_handle));
 }
 
+
 int camera_set_display(camera_h camera, camera_display_type_e type, camera_display_h display)
 {
        int ret = MM_ERROR_NONE;
@@ -1239,12 +1455,12 @@ int camera_set_display(camera_h camera, camera_display_type_e type, camera_displ
        Evas_Object *obj = NULL;
        const char *object_type = NULL;
 
-       if( camera == NULL ){
+       if (camera == NULL) {
                LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       if( type != CAMERA_DISPLAY_TYPE_NONE && display == NULL ){
+       if (type != CAMERA_DISPLAY_TYPE_NONE && display == NULL) {
                LOGE("display type[%d] is not NONE, but display handle is NULL", type);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
@@ -1252,7 +1468,7 @@ int camera_set_display(camera_h camera, camera_display_type_e type, camera_displ
        handle = (camera_s *)camera;
        handle->display_type = type;
 
-       if( type == CAMERA_DISPLAY_TYPE_NONE ){
+       if (type == CAMERA_DISPLAY_TYPE_NONE) {
                /* NULL surface */
                set_surface = MM_DISPLAY_SURFACE_NULL;
                handle->display_handle = 0;
@@ -1261,8 +1477,8 @@ int camera_set_display(camera_h camera, camera_display_type_e type, camera_displ
        } else {
                obj = (Evas_Object *)display;
                object_type = evas_object_type_get(obj);
-               if( object_type ){
-                       if( type == CAMERA_DISPLAY_TYPE_OVERLAY && !strcmp(object_type, "elm_win") ){
+               if (object_type) {
+                       if (type == CAMERA_DISPLAY_TYPE_OVERLAY && !strcmp(object_type, "elm_win")) {
 #ifdef HAVE_WAYLAND
                                MMCamWaylandInfo *wl_info = (MMCamWaylandInfo *)malloc(sizeof(MMCamWaylandInfo));
 
@@ -1308,7 +1524,7 @@ int camera_set_display(camera_h camera, camera_display_type_e type, camera_displ
 
                                LOGD("display type OVERLAY : handle %p, %d", set_handle, (int)handle->display_handle);
 #endif /* HAVE_WAYLAND */
-                       } else if( type == CAMERA_DISPLAY_TYPE_EVAS && !strcmp(object_type, "image") ) {
+                       } else if (type == CAMERA_DISPLAY_TYPE_EVAS && !strcmp(object_type, "image")) {
                                /* evas object surface */
                                handle->display_handle = display;
                                set_surface = MM_DISPLAY_SURFACE_EVAS;
@@ -1330,35 +1546,69 @@ int camera_set_display(camera_h camera, camera_display_type_e type, camera_displ
                                          MMCAM_DISPLAY_SURFACE, set_surface,
                                          NULL);
 
-       if( ret == MM_ERROR_NONE && type != CAMERA_DISPLAY_TYPE_NONE ){
-               ret = mm_camcorder_set_attributes(handle->mm_handle, NULL, MMCAM_DISPLAY_HANDLE, set_handle, sizeof(void *), NULL);
+       if (ret == MM_ERROR_NONE && type != CAMERA_DISPLAY_TYPE_NONE) {
+               ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                                 MMCAM_DISPLAY_HANDLE, set_handle, sizeof(void *),
+                                                 NULL);
        }
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_set_preview_resolution(camera_h camera,  int width, int height){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_set_preview_resolution(camera_h camera, int width, int height)
+{
+       if( camera == NULL){
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
-       int ret;
-       camera_s * handle = (camera_s*)camera;
-       ret = mm_camcorder_set_attributes(handle->mm_handle ,NULL, MMCAM_CAMERA_WIDTH  , width ,MMCAM_CAMERA_HEIGHT ,height,  NULL);
+
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+       MMCamAttrsInfo info;
+       int mm_fps = 0;
+       int i = 0;
+
+       mm_camcorder_get_attributes(handle->mm_handle, NULL,
+                                   MMCAM_CAMERA_FPS, &mm_fps,
+                                   NULL);
+
+       mm_camcorder_get_fps_list_by_resolution(handle->mm_handle, width, height, &info);
+
+       for (i = 0 ; i < info.int_array.count ; i++) {
+               if (info.int_array.array[i] == mm_fps) {
+                       break;
+               }
+               if (i == info.int_array.count - 1) {
+                       LOGE("Not supported resolution: Current set Resolution's FPS is not supported in wanted resolution.");
+                       return CAMERA_ERROR_NOT_SUPPORTED;
+               }
+       }
+
+       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                         MMCAM_CAMERA_WIDTH, width,
+                                         MMCAM_CAMERA_HEIGHT, height,
+                                         NULL);
+
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_set_capture_resolution(camera_h camera,  int width, int height){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_set_capture_resolution(camera_h camera,  int width, int height)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
-       ret = mm_camcorder_set_attributes(handle->mm_handle ,NULL, MMCAM_CAPTURE_WIDTH, width  ,MMCAM_CAPTURE_HEIGHT , height, NULL);
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
 
-       if( ret == MM_ERROR_NONE ){
+       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                         MMCAM_CAPTURE_WIDTH, width,
+                                         MMCAM_CAPTURE_HEIGHT, height,
+                                         NULL);
+       if (ret == MM_ERROR_NONE) {
                handle->capture_width = width;
                handle->capture_height = height;
        }
@@ -1366,55 +1616,68 @@ int camera_set_capture_resolution(camera_h camera,  int width, int height){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_set_capture_format(camera_h camera, camera_pixel_format_e format){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_set_capture_format(camera_h camera, camera_pixel_format_e format)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
-       ret = mm_camcorder_set_attributes(handle->mm_handle ,NULL, MMCAM_CAPTURE_FORMAT, format , NULL);
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
+       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                         MMCAM_CAPTURE_FORMAT, format,
+                                         NULL);
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_set_preview_format(camera_h camera, camera_pixel_format_e format){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_set_preview_format(camera_h camera, camera_pixel_format_e format)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int i = 0;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
 
-       if( format == CAMERA_PIXEL_FORMAT_UYVY ){
+       if (format == CAMERA_PIXEL_FORMAT_UYVY) {
                bool supported_ITLV_UYVY = false;
                MMCamAttrsInfo supported_format;
                ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_FORMAT , &supported_format);
-               int i;
-               for( i=0 ; i < supported_format.int_array.count ; i++ ){
-                       if( supported_format.int_array.array[i] == MM_PIXEL_FORMAT_ITLV_JPEG_UYVY )
+               for (i = 0 ; i < supported_format.int_array.count ; i++) {
+                       if (supported_format.int_array.array[i] == MM_PIXEL_FORMAT_ITLV_JPEG_UYVY) {
                                supported_ITLV_UYVY = true;
+                       }
                }
                ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
                                                  MMCAM_CAMERA_FORMAT, supported_ITLV_UYVY ? MM_PIXEL_FORMAT_ITLV_JPEG_UYVY : MM_PIXEL_FORMAT_UYVY,
                                                  NULL);
        } else {
-               ret = mm_camcorder_set_attributes(handle->mm_handle ,NULL, MMCAM_CAMERA_FORMAT, format , NULL);
+               ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                                 MMCAM_CAMERA_FORMAT, format,
+                                                 NULL);
        }
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_get_preview_resolution(camera_h camera,  int *width, int *height){
-       if( camera == NULL || width == NULL || height == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_get_preview_resolution(camera_h camera, int *width, int *height)
+{
+       if (camera == NULL || width == NULL || height == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
                                          MMCAM_CAMERA_WIDTH, width,
                                          MMCAM_CAMERA_HEIGHT, height,
@@ -1423,17 +1686,20 @@ int camera_get_preview_resolution(camera_h camera,  int *width, int *height){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_set_display_rotation(camera_h camera, camera_rotation_e rotation){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_set_display_rotation(camera_h camera, camera_rotation_e rotation)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       if( rotation > CAMERA_ROTATION_270 )
+       if (rotation > CAMERA_ROTATION_270) {
                return CAMERA_ERROR_INVALID_PARAMETER;
+       }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
 
        ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
                                          MMCAM_DISPLAY_ROTATION, rotation,
@@ -1442,30 +1708,38 @@ int camera_set_display_rotation(camera_h camera, camera_rotation_e rotation){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_get_display_rotation( camera_h camera,  camera_rotation_e *rotation){
-       if( camera == NULL || rotation == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_get_display_rotation(camera_h camera, camera_rotation_e *rotation)
+{
+       if (camera == NULL || rotation == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
+       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
+                                         MMCAM_DISPLAY_ROTATION, rotation,
+                                         NULL);
 
-       ret = mm_camcorder_get_attributes(handle->mm_handle ,NULL, MMCAM_DISPLAY_ROTATION , rotation, NULL);
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_set_display_flip(camera_h camera, camera_flip_e flip){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_set_display_flip(camera_h camera, camera_flip_e flip)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       if( flip > CAMERA_FLIP_BOTH )
+       if (flip > CAMERA_FLIP_BOTH) {
                return CAMERA_ERROR_INVALID_PARAMETER;
+       }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
 
        ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
                                          MMCAM_DISPLAY_FLIP, flip,
@@ -1474,14 +1748,16 @@ int camera_set_display_flip(camera_h camera, camera_flip_e flip){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_get_display_flip(camera_h camera, camera_flip_e *flip){
-       if( camera == NULL || flip == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_get_display_flip(camera_h camera, camera_flip_e *flip)
+{
+       if (camera == NULL || flip == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
 
        ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
                                          MMCAM_DISPLAY_FLIP, flip,
@@ -1490,14 +1766,16 @@ int camera_get_display_flip(camera_h camera, camera_flip_e *flip){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_set_display_visible(camera_h camera, bool visible){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_set_display_visible(camera_h camera, bool visible)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
 
        ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
                                          MMCAM_DISPLAY_VISIBLE, visible,
@@ -1506,37 +1784,43 @@ int camera_set_display_visible(camera_h camera, bool visible){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_is_display_visible(camera_h camera, bool* visible){
-       if( camera == NULL || visible == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
-               return CAMERA_ERROR_INVALID_PARAMETER;
-       }
 
-       int ret;
-       int result;
-       camera_s * handle = (camera_s*)camera;
+int camera_is_display_visible(camera_h camera, bool* visible)
+{
+       if (camera == NULL || visible == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
+               return CAMERA_ERROR_INVALID_PARAMETER;
+       }
+
+       int ret = MM_ERROR_NONE;
+       int result = false;
+       camera_s *handle = (camera_s *)camera;
 
        ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
                                          MMCAM_DISPLAY_VISIBLE, &result,
                                          NULL);
 
-       if( ret == MM_ERROR_NONE)
+       if (ret == MM_ERROR_NONE) {
                *visible = result;
+       }
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_set_display_mode(camera_h camera, camera_display_mode_e mode){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_set_display_mode(camera_h camera, camera_display_mode_e mode)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       if( mode > CAMERA_DISPLAY_MODE_CROPPED_FULL )
+       if (mode > CAMERA_DISPLAY_MODE_CROPPED_FULL) {
                return CAMERA_ERROR_INVALID_PARAMETER;
+       }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
 
        ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
                                          MMCAM_DISPLAY_GEOMETRY_METHOD, mode,
@@ -1545,14 +1829,16 @@ int camera_set_display_mode(camera_h camera, camera_display_mode_e mode){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_get_display_mode(camera_h camera, camera_display_mode_e* mode){
-       if( camera == NULL || mode == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_get_display_mode(camera_h camera, camera_display_mode_e *mode)
+{
+       if (camera == NULL || mode == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
 
        ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
                                          MMCAM_DISPLAY_GEOMETRY_METHOD, mode,
@@ -1561,27 +1847,32 @@ int camera_get_display_mode(camera_h camera, camera_display_mode_e* mode){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_get_capture_resolution(camera_h camera, int *width, int *height){
-       if( camera == NULL || width== NULL || height == NULL){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_get_capture_resolution(camera_h camera, int *width, int *height)
+{
+       if (camera == NULL || width == NULL || height == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       camera_s * handle = (camera_s*)camera;
+       camera_s *handle = (camera_s *)camera;
+
        *width = handle->capture_width;
        *height = handle->capture_height;
 
        return CAMERA_ERROR_NONE;
 }
 
-int camera_get_capture_format(camera_h camera, camera_pixel_format_e *format){
-       if( camera == NULL || format == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_get_capture_format(camera_h camera, camera_pixel_format_e *format)
+{
+       if (camera == NULL || format == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
 
        ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
                                          MMCAM_CAPTURE_FORMAT, format,
@@ -1590,34 +1881,39 @@ int camera_get_capture_format(camera_h camera, camera_pixel_format_e *format){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_get_preview_format(camera_h camera, camera_pixel_format_e *format){
-       if( camera == NULL || format == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_get_preview_format(camera_h camera, camera_pixel_format_e *format)
+{
+       if (camera == NULL || format == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
 
        ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
                                          MMCAM_CAMERA_FORMAT, format,
                                          NULL);
 
-       if( (MMPixelFormatType)*format == MM_PIXEL_FORMAT_ITLV_JPEG_UYVY )
+       if ((MMPixelFormatType)*format == MM_PIXEL_FORMAT_ITLV_JPEG_UYVY) {
                *format = CAMERA_PIXEL_FORMAT_UYVY;
+       }
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_set_preview_cb(camera_h camera, camera_preview_cb callback, void* user_data){
-       if( camera == NULL || callback == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_set_preview_cb(camera_h camera, camera_preview_cb callback, void *user_data)
+{
+       if (camera == NULL || callback == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
        camera_s *handle = (camera_s *)camera;
-       handle->user_cb[_CAMERA_EVENT_TYPE_PREVIEW] = (void*)callback;
-       handle->user_data[_CAMERA_EVENT_TYPE_PREVIEW] = (void*)user_data;
+       handle->user_cb[_CAMERA_EVENT_TYPE_PREVIEW] = (void *)callback;
+       handle->user_data[_CAMERA_EVENT_TYPE_PREVIEW] = (void *)user_data;
 
        mm_camcorder_set_video_stream_callback(handle->mm_handle,
                                               (mm_camcorder_video_stream_callback)__mm_videostream_callback,
@@ -1626,15 +1922,17 @@ int camera_set_preview_cb(camera_h camera, camera_preview_cb callback, void* use
        return CAMERA_ERROR_NONE;
 }
 
-int camera_unset_preview_cb( camera_h camera){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_unset_preview_cb(camera_h camera)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
        camera_s *handle = (camera_s *)camera;
 
-       if( handle->user_cb[_CAMERA_EVENT_TYPE_MEDIA_PACKET_PREVIEW] == NULL ){
+       if (handle->user_cb[_CAMERA_EVENT_TYPE_MEDIA_PACKET_PREVIEW] == NULL) {
                mm_camcorder_set_video_stream_callback(handle->mm_handle,
                                                       (mm_camcorder_video_stream_callback)NULL,
                                                       (void *)NULL);
@@ -1646,18 +1944,20 @@ int camera_unset_preview_cb( camera_h camera){
        return CAMERA_ERROR_NONE;
 }
 
-int camera_set_media_packet_preview_cb(camera_h camera, camera_media_packet_preview_cb callback, void* user_data){
-       if( camera == NULL ){
+
+int camera_set_media_packet_preview_cb(camera_h camera, camera_media_packet_preview_cb callback, void *user_data)
+{
+       if (camera == NULL) {
                LOGE("INVALID_PARAMETER(0x%08x) - handle", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       if( camera_is_supported_media_packet_preview_cb(camera) == false ){
+       if (camera_is_supported_media_packet_preview_cb(camera) == false) {
                LOGE("NOT SUPPORTED");
                return CAMERA_ERROR_NOT_SUPPORTED;
        }
 
-       if( callback == NULL ){
+       if (callback == NULL) {
                LOGE("INVALID_PARAMETER(0x%08x) - callback", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
@@ -1673,267 +1973,315 @@ int camera_set_media_packet_preview_cb(camera_h camera, camera_media_packet_prev
        return CAMERA_ERROR_NONE;
 }
 
-int camera_unset_media_packet_preview_cb(camera_h camera){
-       if( camera == NULL ){
+
+int camera_unset_media_packet_preview_cb(camera_h camera)
+{
+       if (camera == NULL) {
                LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       if( camera_is_supported_media_packet_preview_cb(camera) == false ){
+       if (camera_is_supported_media_packet_preview_cb(camera) == false) {
                LOGE("NOT SUPPORTED");
                return CAMERA_ERROR_NOT_SUPPORTED;
        }
 
        camera_s *handle = (camera_s *)camera;
 
-       if( handle->user_cb[_CAMERA_EVENT_TYPE_PREVIEW] == NULL ){
+       if (handle->user_cb[_CAMERA_EVENT_TYPE_PREVIEW] == NULL) {
                mm_camcorder_set_video_stream_callback(handle->mm_handle,
                                                       (mm_camcorder_video_stream_callback)NULL,
-                                                      (void*)NULL);
+                                                      (void *)NULL);
        }
 
-       handle->user_cb[_CAMERA_EVENT_TYPE_MEDIA_PACKET_PREVIEW] = (void*)NULL;
-       handle->user_data[_CAMERA_EVENT_TYPE_MEDIA_PACKET_PREVIEW] = (void*)NULL;
+       handle->user_cb[_CAMERA_EVENT_TYPE_MEDIA_PACKET_PREVIEW] = (void *)NULL;
+       handle->user_data[_CAMERA_EVENT_TYPE_MEDIA_PACKET_PREVIEW] = (void *)NULL;
 
        return CAMERA_ERROR_NONE;
 }
 
-int camera_set_state_changed_cb(camera_h camera, camera_state_changed_cb callback, void* user_data){
-       if( camera == NULL || callback == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_set_state_changed_cb(camera_h camera, camera_state_changed_cb callback, void *user_data)
+{
+       if (camera == NULL || callback == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       camera_s * handle = (camera_s*)camera;
-       handle->user_cb[_CAMERA_EVENT_TYPE_STATE_CHANGE] = (void*)callback;
-       handle->user_data[_CAMERA_EVENT_TYPE_STATE_CHANGE] = (void*)user_data;
+       camera_s *handle = (camera_s *)camera;
+       handle->user_cb[_CAMERA_EVENT_TYPE_STATE_CHANGE] = (void *)callback;
+       handle->user_data[_CAMERA_EVENT_TYPE_STATE_CHANGE] = (void *)user_data;
 
        return CAMERA_ERROR_NONE;
 }
-int camera_unset_state_changed_cb(camera_h camera){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+
+int camera_unset_state_changed_cb(camera_h camera)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       camera_s * handle = (camera_s*)camera;
-       handle->user_cb[_CAMERA_EVENT_TYPE_STATE_CHANGE] = (void*)NULL;
-       handle->user_data[_CAMERA_EVENT_TYPE_STATE_CHANGE] = (void*)NULL;
+       camera_s *handle = (camera_s *)camera;
+       handle->user_cb[_CAMERA_EVENT_TYPE_STATE_CHANGE] = (void *)NULL;
+       handle->user_data[_CAMERA_EVENT_TYPE_STATE_CHANGE] = (void *)NULL;
 
        return CAMERA_ERROR_NONE;
 }
 
-int camera_set_interrupted_cb(camera_h camera, camera_interrupted_cb callback, void *user_data){
-       if( camera == NULL || callback == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_set_interrupted_cb(camera_h camera, camera_interrupted_cb callback, void *user_data)
+{
+       if (camera == NULL || callback == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       camera_s * handle = (camera_s*)camera;
-       handle->user_cb[_CAMERA_EVENT_TYPE_INTERRUPTED] = (void*)callback;
-       handle->user_data[_CAMERA_EVENT_TYPE_INTERRUPTED] = (void*)user_data;
+       camera_s *handle = (camera_s *)camera;
+       handle->user_cb[_CAMERA_EVENT_TYPE_INTERRUPTED] = (void *)callback;
+       handle->user_data[_CAMERA_EVENT_TYPE_INTERRUPTED] = (void *)user_data;
 
        return CAMERA_ERROR_NONE;
 }
 
-int camera_unset_interrupted_cb(camera_h camera){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_unset_interrupted_cb(camera_h camera)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       camera_s * handle = (camera_s*)camera;
-       handle->user_cb[_CAMERA_EVENT_TYPE_INTERRUPTED] = (void*)NULL;
-       handle->user_data[_CAMERA_EVENT_TYPE_INTERRUPTED] = (void*)NULL;
+       camera_s *handle = (camera_s *)camera;
+
+       handle->user_cb[_CAMERA_EVENT_TYPE_INTERRUPTED] = (void *)NULL;
+       handle->user_data[_CAMERA_EVENT_TYPE_INTERRUPTED] = (void *)NULL;
 
        return CAMERA_ERROR_NONE;
 }
 
-int camera_set_focus_changed_cb(camera_h camera, camera_focus_changed_cb callback, void* user_data){
-       if( camera == NULL || callback == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_set_focus_changed_cb(camera_h camera, camera_focus_changed_cb callback, void *user_data)
+{
+       if (camera == NULL || callback == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       camera_s * handle = (camera_s*)camera;
-       handle->user_cb[_CAMERA_EVENT_TYPE_FOCUS_CHANGE] = (void*)callback;
-       handle->user_data[_CAMERA_EVENT_TYPE_FOCUS_CHANGE] = (void*)user_data;
+       camera_s *handle = (camera_s *)camera;
+
+       handle->user_cb[_CAMERA_EVENT_TYPE_FOCUS_CHANGE] = (void *)callback;
+       handle->user_data[_CAMERA_EVENT_TYPE_FOCUS_CHANGE] = (void *)user_data;
 
        return CAMERA_ERROR_NONE;
 }
-int camera_unset_focus_changed_cb(camera_h camera){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+
+int camera_unset_focus_changed_cb(camera_h camera)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       camera_s * handle = (camera_s*)camera;
-       handle->user_cb[_CAMERA_EVENT_TYPE_FOCUS_CHANGE] = (void*)NULL;
-       handle->user_data[_CAMERA_EVENT_TYPE_FOCUS_CHANGE] = (void*)NULL;
+       camera_s *handle = (camera_s *)camera;
+
+       handle->user_cb[_CAMERA_EVENT_TYPE_FOCUS_CHANGE] = (void *)NULL;
+       handle->user_data[_CAMERA_EVENT_TYPE_FOCUS_CHANGE] = (void *)NULL;
 
        return CAMERA_ERROR_NONE;
 }
 
-int camera_set_error_cb(camera_h camera, camera_error_cb callback, void *user_data){
-       if( camera == NULL || callback == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_set_error_cb(camera_h camera, camera_error_cb callback, void *user_data)
+{
+       if (camera == NULL || callback == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       camera_s * handle = (camera_s*)camera;
-       handle->user_cb[_CAMERA_EVENT_TYPE_ERROR] = (void*)callback;
-       handle->user_data[_CAMERA_EVENT_TYPE_ERROR] = (void*)user_data;
+       camera_s *handle = (camera_s *)camera;
+
+       handle->user_cb[_CAMERA_EVENT_TYPE_ERROR] = (void *)callback;
+       handle->user_data[_CAMERA_EVENT_TYPE_ERROR] = (void *)user_data;
 
        return CAMERA_ERROR_NONE;
 }
 
-int camera_unset_error_cb(camera_h camera){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_unset_error_cb(camera_h camera)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       camera_s * handle = (camera_s*)camera;
-       handle->user_cb[_CAMERA_EVENT_TYPE_ERROR] = (void*)NULL;
-       handle->user_data[_CAMERA_EVENT_TYPE_ERROR] = (void*)NULL;
+       camera_s *handle = (camera_s *)camera;
+
+       handle->user_cb[_CAMERA_EVENT_TYPE_ERROR] = (void *)NULL;
+       handle->user_data[_CAMERA_EVENT_TYPE_ERROR] = (void *)NULL;
 
        return CAMERA_ERROR_NONE;
 }
 
-int camera_foreach_supported_preview_resolution(camera_h camera, camera_supported_preview_resolution_cb foreach_cb , void *user_data){
-       if( camera == NULL || foreach_cb == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_foreach_supported_preview_resolution(camera_h camera, camera_supported_preview_resolution_cb foreach_cb, void *user_data)
+{
+       if (camera == NULL || foreach_cb == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int i = 0;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo preview_width;
        MMCamAttrsInfo preview_height;
-       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_WIDTH , &preview_width);
-       ret |= mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_HEIGHT , &preview_height);
 
-       if( ret != CAMERA_ERROR_NONE )
+       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_WIDTH, &preview_width);
+       ret |= mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_HEIGHT, &preview_height);
+       if (ret != CAMERA_ERROR_NONE) {
                return __convert_camera_error_code(__func__, ret);
+       }
 
-       int i;
-       for( i=0 ; i < preview_width.int_array.count ; i++ ){
-               if( !foreach_cb(preview_width.int_array.array[i], preview_height.int_array.array[i],user_data) )
+       for (i = 0 ; i < preview_width.int_array.count ; i++) {
+               if (!foreach_cb(preview_width.int_array.array[i], preview_height.int_array.array[i], user_data)) {
                        break;
+               }
        }
 
        return CAMERA_ERROR_NONE;
 }
 
-int camera_foreach_supported_capture_resolution(camera_h camera, camera_supported_capture_resolution_cb foreach_cb , void *user_data){
-       if( camera == NULL || foreach_cb == NULL){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_foreach_supported_capture_resolution(camera_h camera, camera_supported_capture_resolution_cb foreach_cb, void *user_data)
+{
+       if (camera == NULL || foreach_cb == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+
+       int i = 0;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo capture_width;
        MMCamAttrsInfo capture_height;
-       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAPTURE_WIDTH , &capture_width);
-       ret |= mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAPTURE_HEIGHT , &capture_height);
 
-       if( ret != CAMERA_ERROR_NONE )
+       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAPTURE_WIDTH, &capture_width);
+       ret |= mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAPTURE_HEIGHT, &capture_height);
+       if (ret != CAMERA_ERROR_NONE) {
                return __convert_camera_error_code(__func__, ret);
+       }
 
-       int i;
-       for( i=0 ; i < capture_width.int_array.count ; i++)
-       {
-               if ( !foreach_cb(capture_width.int_array.array[i], capture_height.int_array.array[i],user_data) )
+       for (i = 0 ; i < capture_width.int_array.count ; i++) {
+               if (!foreach_cb(capture_width.int_array.array[i], capture_height.int_array.array[i], user_data)) {
                        break;
+               }
        }
+
        return CAMERA_ERROR_NONE;
 }
 
-int camera_foreach_supported_capture_format(camera_h camera, camera_supported_capture_format_cb foreach_cb , void *user_data){
-       if( camera == NULL || foreach_cb == NULL){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_foreach_supported_capture_format(camera_h camera, camera_supported_capture_format_cb foreach_cb, void *user_data)
+{
+       if (camera == NULL || foreach_cb == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int i = 0;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo format;
-       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAPTURE_FORMAT , &format);
 
-       if( ret != CAMERA_ERROR_NONE )
+       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAPTURE_FORMAT, &format);
+       if (ret != CAMERA_ERROR_NONE) {
                return __convert_camera_error_code(__func__, ret);
+       }
 
-       int i;
-       for( i=0 ; i < format.int_array.count ; i++ ){
-               if( format.int_array.array[i] != MM_PIXEL_FORMAT_ITLV_JPEG_UYVY )
-                       if ( !foreach_cb(format.int_array.array[i], user_data) )
+       for (i = 0 ; i < format.int_array.count ; i++) {
+               if (format.int_array.array[i] != MM_PIXEL_FORMAT_ITLV_JPEG_UYVY) {
+                       if (!foreach_cb(format.int_array.array[i], user_data)) {
                                break;
+                       }
+               }
        }
 
        return CAMERA_ERROR_NONE;
 }
 
-int camera_foreach_supported_preview_format(camera_h camera, camera_supported_preview_format_cb foreach_cb , void *user_data){
-       if( camera == NULL || foreach_cb == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_foreach_supported_preview_format(camera_h camera, camera_supported_preview_format_cb foreach_cb, void *user_data)
+{
+       if (camera == NULL || foreach_cb == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int i = 0;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo format;
-       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_FORMAT , &format);
 
-       if( ret != CAMERA_ERROR_NONE )
+       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_FORMAT, &format);
+       if (ret != CAMERA_ERROR_NONE) {
                return __convert_camera_error_code(__func__, ret);
+       }
 
-       int i;
-       for( i=0 ; i < format.int_array.count ; i++ ){
-               if( format.int_array.array[i] != MM_PIXEL_FORMAT_ITLV_JPEG_UYVY /* || format.int_array.array[i] != MM_PIXEL_FORMAT_ITLV_JPEG_NV12 */)
-                       if ( !foreach_cb(format.int_array.array[i], user_data) )
+       for (i = 0 ; i < format.int_array.count ; i++) {
+               if (format.int_array.array[i] != MM_PIXEL_FORMAT_ITLV_JPEG_UYVY) {
+                       if (!foreach_cb(format.int_array.array[i], user_data)) {
                                break;
+                       }
+               }
        }
 
        return CAMERA_ERROR_NONE;
 }
 
-int camera_get_recommended_preview_resolution(camera_h camera, int *width, int *height){
-       if( camera == NULL || width == NULL || height == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_get_recommended_preview_resolution(camera_h camera, int *width, int *height)
+{
+       if (camera == NULL || width == NULL || height == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       enum MMCamcorderPreviewType wide;
-       int capture_w, capture_h;
-       double ratio;
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       enum MMCamcorderPreviewType wide = MM_CAMCORDER_PREVIEW_TYPE_NORMAL;
+       int capture_w = 0;
+       int capture_h = 0;
+       double ratio = 0.0;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+       MMCamAttrsInfo width_info;
+       MMCamAttrsInfo height_info;
 
        camera_get_capture_resolution(camera, &capture_w, &capture_h);
-       ratio = (double)capture_w/(double)capture_h;
-       if( ratio > 1.5 ){
+       ratio = (double)capture_w / (double)capture_h;
+       if (ratio > 1.5) {
                wide = MM_CAMCORDER_PREVIEW_TYPE_WIDE;
-       } else if( ratio == 1.0 ){
+       } else if (ratio == 1.0) {
                wide = MM_CAMCORDER_PREVIEW_TYPE_SQUARE;
        } else {
                wide = MM_CAMCORDER_PREVIEW_TYPE_NORMAL;
        }
 
-       MMCamAttrsInfo width_info, height_info;
-       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_RECOMMEND_CAMERA_WIDTH , &width_info);
+       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_RECOMMEND_CAMERA_WIDTH, &width_info);
        ret |= mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_RECOMMEND_CAMERA_HEIGHT, &height_info);
-
-       if( ret != 0 )
+       if (ret != MM_ERROR_NONE) {
                return __convert_camera_error_code(__func__, ret);
+       }
 
-       if( width && (unsigned int)width_info.int_array.count > wide ){
+       if (width && (unsigned int)width_info.int_array.count > wide) {
                *width = width_info.int_array.array[wide];
        } else {
                LOGE("there is no width value for resolution %dx%d type %d", capture_w, capture_h, wide);
                return CAMERA_ERROR_INVALID_OPERATION;
        }
 
-       if( height && (unsigned int)height_info.int_array.count > wide ){
+       if (height && (unsigned int)height_info.int_array.count > wide) {
                *height = height_info.int_array.array[wide];
        } else {
                LOGE("there is no height value for resolution %dx%d type %d", capture_w, capture_h, wide);
@@ -1945,18 +2293,24 @@ int camera_get_recommended_preview_resolution(camera_h camera, int *width, int *
        return CAMERA_ERROR_NONE;
 }
 
-int camera_attr_get_lens_orientation(camera_h camera, int *angle){
-       if( camera == NULL || angle == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_lens_orientation(camera_h camera, int *angle)
+{
+       if (camera == NULL || angle == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
-       int rotation;
-       ret = mm_camcorder_get_attributes(handle->mm_handle ,NULL, MMCAM_RECOMMEND_DISPLAY_ROTATION, &rotation , NULL);
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+       int rotation = MM_DISPLAY_ROTATION_NONE;
 
-       switch( rotation ){
+       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
+                                         MMCAM_RECOMMEND_DISPLAY_ROTATION, &rotation,
+                                         NULL);
+
+       if (ret == MM_ERROR_NONE) {
+               switch (rotation) {
                case MM_DISPLAY_ROTATION_NONE:
                        *angle = 0;
                        break;
@@ -1972,215 +2326,266 @@ int camera_attr_get_lens_orientation(camera_h camera, int *angle){
                default :
                        *angle = 0;
                        break;
+               }
        }
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_set_theater_mode(camera_h camera, camera_attr_theater_mode_e mode){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_set_theater_mode(camera_h camera, camera_attr_theater_mode_e mode)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
-       ret = mm_camcorder_set_attributes(handle->mm_handle ,NULL, MMCAM_DISPLAY_MODE, mode, NULL);
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
+       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                         MMCAM_DISPLAY_MODE, mode,
+                                         NULL);
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_theater_mode(camera_h camera, camera_attr_theater_mode_e *mode){
-       if( camera == NULL || mode == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_theater_mode(camera_h camera, camera_attr_theater_mode_e *mode)
+{
+       if (camera == NULL || mode == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
-       ret = mm_camcorder_get_attributes(handle->mm_handle ,NULL, MMCAM_DISPLAY_MODE , mode, NULL);
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
+       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
+                                         MMCAM_DISPLAY_MODE, mode,
+                                         NULL);
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_foreach_supported_theater_mode(camera_h camera, camera_attr_supported_theater_mode_cb foreach_cb, void *user_data){
-       if( camera == NULL || foreach_cb == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_foreach_supported_theater_mode(camera_h camera, camera_attr_supported_theater_mode_cb foreach_cb, void *user_data)
+{
+       if (camera == NULL || foreach_cb == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int i = 0;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo info;
-       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_DISPLAY_MODE , &info);
 
-       if( ret != CAMERA_ERROR_NONE )
+       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_DISPLAY_MODE, &info);
+       if (ret != CAMERA_ERROR_NONE) {
                return __convert_camera_error_code(__func__, ret);
+       }
 
-       int i;
-       for (i=0 ; i < info.int_array.count ; i++ ){
-               if ( !foreach_cb(info.int_array.array[i],user_data) )
+       for (i = 0 ; i < info.int_array.count ; i++) {
+               if (!foreach_cb(info.int_array.array[i], user_data)) {
                        break;
+               }
        }
 
        return CAMERA_ERROR_NONE;
 }
 
-int camera_attr_set_preview_fps(camera_h camera,  camera_attr_fps_e fps){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_set_preview_fps(camera_h camera,  camera_attr_fps_e fps)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
 
-       if( fps == CAMERA_ATTR_FPS_AUTO ){
+       if (fps == CAMERA_ATTR_FPS_AUTO) {
                ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
-                                                 MMCAM_CAMERA_FPS_AUTO, 1,
-                                                 NULL);
+                                                 MMCAM_CAMERA_FPS_AUTO, true,
+                                                 NULL);
        } else {
                ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
-                                                 MMCAM_CAMERA_FPS_AUTO, 0,
-                                                 MMCAM_CAMERA_FPS, fps,
-                                                 NULL);
+                                                 MMCAM_CAMERA_FPS_AUTO, false,
+                                                 MMCAM_CAMERA_FPS, fps,
+                                                 NULL);
        }
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_set_image_quality(camera_h camera,  int quality){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_set_image_quality(camera_h camera, int quality)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
-       ret = mm_camcorder_set_attributes(handle->mm_handle ,NULL, MMCAM_IMAGE_ENCODER_QUALITY , quality, NULL);
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
+       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                         MMCAM_IMAGE_ENCODER_QUALITY, quality,
+                                         NULL);
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_preview_fps(camera_h camera,  camera_attr_fps_e *fps){
-       if( camera == NULL || fps == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_preview_fps(camera_h camera, camera_attr_fps_e *fps)
+{
+       if (camera == NULL || fps == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       int mm_fps;
-       int is_auto;
-       camera_s * handle = (camera_s*)camera;
-
-       ret = mm_camcorder_get_attributes(handle->mm_handle ,NULL, MMCAM_CAMERA_FPS , &mm_fps, MMCAM_CAMERA_FPS_AUTO , &is_auto, NULL);
+       int ret = MM_ERROR_NONE;
+       int mm_fps = 0;
+       int is_auto = false;
+       camera_s *handle = (camera_s *)camera;
 
-       if( is_auto )
-               *fps = CAMERA_ATTR_FPS_AUTO;
-       else
-               *fps = mm_fps;
+       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
+                                         MMCAM_CAMERA_FPS, &mm_fps,
+                                         MMCAM_CAMERA_FPS_AUTO, &is_auto,
+                                         NULL);
+       if (ret == MM_ERROR_NONE) {
+               if (is_auto) {
+                       *fps = CAMERA_ATTR_FPS_AUTO;
+               } else {
+                       *fps = mm_fps;
+               }
+       }
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_image_quality(camera_h camera,  int *quality){
-       if( camera == NULL || quality == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_image_quality(camera_h camera, int *quality)
+{
+       if (camera == NULL || quality == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
-       ret = mm_camcorder_get_attributes(handle->mm_handle ,NULL, MMCAM_IMAGE_ENCODER_QUALITY   , quality, NULL);
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
+       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
+                                         MMCAM_IMAGE_ENCODER_QUALITY, quality,
+                                         NULL);
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_set_zoom(camera_h camera,  int zoom){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_set_zoom(camera_h camera, int zoom)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
-       ret = mm_camcorder_set_attributes(handle->mm_handle ,NULL, MMCAM_CAMERA_DIGITAL_ZOOM  , zoom, NULL);
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
+       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                         MMCAM_CAMERA_DIGITAL_ZOOM, zoom,
+                                         NULL);
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_set_af_mode(camera_h camera,  camera_attr_af_mode_e mode){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_set_af_mode(camera_h camera, camera_attr_af_mode_e mode)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret = CAMERA_ERROR_INVALID_PARAMETER;
-       camera_s * handle = (camera_s*)camera;
-
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        int focus_mode;
        bool should_change_focus_mode = false;
+
        mm_camcorder_get_attributes(handle->mm_handle, NULL,
                                    MMCAM_CAMERA_FOCUS_MODE, &focus_mode,
                                    NULL);
 
-       if( focus_mode != MM_CAMCORDER_FOCUS_MODE_TOUCH_AUTO && focus_mode != MM_CAMCORDER_FOCUS_MODE_CONTINUOUS && focus_mode != MM_CAMCORDER_FOCUS_MODE_AUTO )
+       if (focus_mode != MM_CAMCORDER_FOCUS_MODE_TOUCH_AUTO &&
+           focus_mode != MM_CAMCORDER_FOCUS_MODE_CONTINUOUS &&
+           focus_mode != MM_CAMCORDER_FOCUS_MODE_AUTO) {
                should_change_focus_mode = true;
+       }
 
-       if( mode != CAMERA_ATTR_AF_NONE && focus_mode == MM_CAMCORDER_FOCUS_MODE_CONTINUOUS && !handle->on_continuous_focusing ){
+       if (mode != CAMERA_ATTR_AF_NONE &&
+           focus_mode == MM_CAMCORDER_FOCUS_MODE_CONTINUOUS &&
+           !handle->on_continuous_focusing) {
                handle->cached_focus_mode = mode;
                LOGD("af mode will be set actually start focusing");
-               return __convert_camera_error_code(__func__, 0);
+               return __convert_camera_error_code(__func__, MM_ERROR_NONE);
        } else {
                handle->cached_focus_mode = -1;
        }
 
-       if( mode != CAMERA_ATTR_AF_NONE && should_change_focus_mode ){
-               mm_camcorder_set_attributes(handle->mm_handle, NULL, MMCAM_CAMERA_FOCUS_MODE, MM_CAMCORDER_FOCUS_MODE_AUTO, NULL);
+       if (mode != CAMERA_ATTR_AF_NONE && should_change_focus_mode) {
+               mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                           MMCAM_CAMERA_FOCUS_MODE, MM_CAMCORDER_FOCUS_MODE_AUTO,
+                                           NULL);
        }
 
-       switch( mode ){
-               case CAMERA_ATTR_AF_NONE:
-                       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
-                                                         MMCAM_CAMERA_FOCUS_MODE, MM_CAMCORDER_FOCUS_MODE_NONE,
-                                                         MMCAM_CAMERA_AF_SCAN_RANGE, MM_CAMCORDER_AUTO_FOCUS_NONE,
-                                                         NULL);
-                       break;
-               case CAMERA_ATTR_AF_NORMAL:
-                       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
-                                                         MMCAM_CAMERA_AF_SCAN_RANGE, MM_CAMCORDER_AUTO_FOCUS_NORMAL,
-                                                         NULL);
-                       break;
-               case CAMERA_ATTR_AF_MACRO:
-                       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
-                                                         MMCAM_CAMERA_AF_SCAN_RANGE, MM_CAMCORDER_AUTO_FOCUS_MACRO,
-                                                         NULL);
-                       break;
-               case CAMERA_ATTR_AF_FULL:
-                       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
-                                                         MMCAM_CAMERA_AF_SCAN_RANGE, MM_CAMCORDER_AUTO_FOCUS_FULL,
-                                                         NULL);
-                       break;
-               default:
-                       return ret;
+       switch (mode) {
+       case CAMERA_ATTR_AF_NONE:
+               ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                                 MMCAM_CAMERA_FOCUS_MODE, MM_CAMCORDER_FOCUS_MODE_NONE,
+                                                 MMCAM_CAMERA_AF_SCAN_RANGE, MM_CAMCORDER_AUTO_FOCUS_NONE,
+                                                 NULL);
+               break;
+       case CAMERA_ATTR_AF_NORMAL:
+               ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                                 MMCAM_CAMERA_AF_SCAN_RANGE, MM_CAMCORDER_AUTO_FOCUS_NORMAL,
+                                                 NULL);
+               break;
+       case CAMERA_ATTR_AF_MACRO:
+               ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                                 MMCAM_CAMERA_AF_SCAN_RANGE, MM_CAMCORDER_AUTO_FOCUS_MACRO,
+                                                 NULL);
+               break;
+       case CAMERA_ATTR_AF_FULL:
+               ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                                 MMCAM_CAMERA_AF_SCAN_RANGE, MM_CAMCORDER_AUTO_FOCUS_FULL,
+                                                 NULL);
+               break;
+       default:
+               LOGE("invalid mode %d", mode);
+               return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_set_af_area(camera_h camera, int x, int y){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_set_af_area(camera_h camera, int x, int y)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret = CAMERA_ERROR_INVALID_PARAMETER;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        camera_attr_af_mode_e mode;
-       camera_attr_get_af_mode(camera, &mode);
 
-       if( mode == CAMERA_ATTR_AF_NONE ){
-               LOGE("INVALID_OPERATION(0x%08x) AF mode is CAMERA_ATTR_AF_NONE",CAMERA_ERROR_INVALID_OPERATION);
+       camera_attr_get_af_mode(camera, &mode);
+       if (mode == CAMERA_ATTR_AF_NONE) {
+               LOGE("INVALID_OPERATION(0x%08x) AF mode is CAMERA_ATTR_AF_NONE", CAMERA_ERROR_INVALID_OPERATION);
                return CAMERA_ERROR_INVALID_OPERATION;
        }
 
@@ -2188,55 +2593,69 @@ int camera_attr_set_af_area(camera_h camera, int x, int y){
                                          MMCAM_CAMERA_AF_TOUCH_X, x,
                                          MMCAM_CAMERA_AF_TOUCH_Y, y,
                                          NULL);
-
-       if( ret == MM_ERROR_NONE )
+       if (ret == MM_ERROR_NONE) {
                handle->focus_area_valid = true;
+       }
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_clear_af_area(camera_h camera){
-       if( camera == NULL ){
+
+int camera_attr_clear_af_area(camera_h camera)
+{
+       if (camera == NULL) {
                LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       camera_s * handle = (camera_s*)camera;
+       camera_s *handle = (camera_s *)camera;
+
        handle->focus_area_valid = false;
 
-       return CAMERA_ERROR_NONE;
+       return 0;
 }
 
-int camera_attr_set_exposure_mode(camera_h camera,  camera_attr_exposure_mode_e mode){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_set_exposure_mode(camera_h camera, camera_attr_exposure_mode_e mode)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int maptable[] = {MM_CAMCORDER_AUTO_EXPOSURE_OFF, //CAMCORDER_EXPOSURE_MODE_OFF
-                                                                       MM_CAMCORDER_AUTO_EXPOSURE_ALL, //CAMCORDER_EXPOSURE_MODE_ALL
-                                                                       MM_CAMCORDER_AUTO_EXPOSURE_CENTER_1, //CAMCORDER_EXPOSURE_MODE_CENTER
-                                                                       MM_CAMCORDER_AUTO_EXPOSURE_SPOT_1, //CAMCORDER_EXPOSURE_MODE_SPOT
-                                                                       MM_CAMCORDER_AUTO_EXPOSURE_CUSTOM_1,//CAMCORDER_EXPOSURE_MODE_CUSTOM
-               };
+       int maptable[] = {MM_CAMCORDER_AUTO_EXPOSURE_OFF,       /* CAMERA_ATTR_EXPOSURE_MODE_OFF */
+                         MM_CAMCORDER_AUTO_EXPOSURE_ALL,       /* CAMERA_ATTR_EXPOSURE_MODE_ALL */
+                         MM_CAMCORDER_AUTO_EXPOSURE_CENTER_1,  /* CAMERA_ATTR_EXPOSURE_MODE_CENTER */
+                         MM_CAMCORDER_AUTO_EXPOSURE_SPOT_1,    /* CAMERA_ATTR_EXPOSURE_MODE_SPOT */
+                         MM_CAMCORDER_AUTO_EXPOSURE_CUSTOM_1,  /* CAMERA_ATTR_EXPOSURE_MODE_CUSTOM */
+                        };
+
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
+       if (mode < CAMERA_ATTR_EXPOSURE_MODE_OFF || mode > CAMERA_ATTR_EXPOSURE_MODE_CUSTOM) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
+               return CAMERA_ERROR_INVALID_PARAMETER;
+       }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
        ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
-                                         MMCAM_CAMERA_EXPOSURE_MODE, maptable[abs(mode%5)],
+                                         MMCAM_CAMERA_EXPOSURE_MODE, maptable[mode],
                                          NULL);
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_set_exposure(camera_h camera, int value){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_set_exposure(camera_h camera, int value)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
                                          MMCAM_CAMERA_EXPOSURE_VALUE, value,
                                          NULL);
@@ -2244,14 +2663,17 @@ int camera_attr_set_exposure(camera_h camera, int value){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_set_iso(camera_h camera,  camera_attr_iso_e iso){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_set_iso(camera_h camera, camera_attr_iso_e iso)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s*)camera;
+
        ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
                                          MMCAM_CAMERA_ISO, iso,
                                          NULL);
@@ -2259,14 +2681,17 @@ int camera_attr_set_iso(camera_h camera,  camera_attr_iso_e iso){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_set_brightness(camera_h camera, int level){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_set_brightness(camera_h camera, int level)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
                                          MMCAM_FILTER_BRIGHTNESS, level,
                                          NULL);
@@ -2274,14 +2699,17 @@ int camera_attr_set_brightness(camera_h camera, int level){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_set_contrast(camera_h camera, int level){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_set_contrast(camera_h camera, int level)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
                                          MMCAM_FILTER_CONTRAST, level,
                                          NULL);
@@ -2289,14 +2717,17 @@ int camera_attr_set_contrast(camera_h camera, int level){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_set_whitebalance(camera_h camera, camera_attr_whitebalance_e wb){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_set_whitebalance(camera_h camera, camera_attr_whitebalance_e wb)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
                                          MMCAM_FILTER_WB, wb,
                                          NULL);
@@ -2304,14 +2735,17 @@ int camera_attr_set_whitebalance(camera_h camera, camera_attr_whitebalance_e wb)
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_set_effect(camera_h camera, camera_attr_effect_mode_e effect){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_set_effect(camera_h camera, camera_attr_effect_mode_e effect)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
                                          MMCAM_FILTER_COLOR_TONE, effect,
                                          NULL);
@@ -2319,14 +2753,17 @@ int camera_attr_set_effect(camera_h camera, camera_attr_effect_mode_e effect){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_set_scene_mode(camera_h camera,  camera_attr_scene_mode_e mode){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_set_scene_mode(camera_h camera, camera_attr_scene_mode_e mode)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
                                          MMCAM_FILTER_SCENE_MODE, mode,
                                          NULL);
@@ -2334,14 +2771,17 @@ int camera_attr_set_scene_mode(camera_h camera,  camera_attr_scene_mode_e mode){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_enable_tag(camera_h camera,  bool enable){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_enable_tag(camera_h camera, bool enable)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
                                          MMCAM_TAG_ENABLE, enable,
                                          NULL);
@@ -2349,14 +2789,17 @@ int camera_attr_enable_tag(camera_h camera,  bool enable){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_set_tag_image_description(camera_h camera,  const char *description){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_set_tag_image_description(camera_h camera, const char *description)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
                                          MMCAM_TAG_IMAGE_DESCRIPTION, description, strlen(description),
                                          NULL);
@@ -2364,14 +2807,17 @@ int camera_attr_set_tag_image_description(camera_h camera,  const char *descript
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_set_tag_orientation(camera_h camera,  camera_attr_tag_orientation_e orientation){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_set_tag_orientation(camera_h camera, camera_attr_tag_orientation_e orientation)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
                                          MMCAM_TAG_ORIENTATION, orientation,
                                          NULL);
@@ -2379,14 +2825,17 @@ int camera_attr_set_tag_orientation(camera_h camera,  camera_attr_tag_orientatio
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_set_tag_software(camera_h camera,  const char *software){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_set_tag_software(camera_h camera, const char *software)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
                                          MMCAM_TAG_SOFTWARE, software, strlen(software),
                                          NULL);
@@ -2394,16 +2843,19 @@ int camera_attr_set_tag_software(camera_h camera,  const char *software){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_set_geotag(camera_h camera, double latitude , double longitude, double altitude){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_set_geotag(camera_h camera, double latitude , double longitude, double altitude)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
-                                         MMCAM_TAG_GPS_ENABLE, 1,
+                                         MMCAM_TAG_GPS_ENABLE, true,
                                          MMCAM_TAG_LATITUDE, latitude,
                                          MMCAM_TAG_LONGITUDE, longitude,
                                          MMCAM_TAG_ALTITUDE, altitude,
@@ -2412,29 +2864,35 @@ int camera_attr_set_geotag(camera_h camera, double latitude , double longitude,
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_remove_geotag(camera_h camera){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_remove_geotag(camera_h camera)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
-                                         MMCAM_TAG_GPS_ENABLE, 0,
+                                         MMCAM_TAG_GPS_ENABLE, false,
                                          NULL);
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_set_flash_mode(camera_h camera, camera_attr_flash_mode_e mode){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_set_flash_mode(camera_h camera, camera_attr_flash_mode_e mode)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
                                          MMCAM_STROBE_MODE, mode,
                                          NULL);
@@ -2443,14 +2901,16 @@ int camera_attr_set_flash_mode(camera_h camera, camera_attr_flash_mode_e mode){
 }
 
 
-int camera_attr_get_zoom(camera_h camera, int *zoom){
-       if( camera == NULL || zoom == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+int camera_attr_get_zoom(camera_h camera, int *zoom)
+{
+       if (camera == NULL || zoom == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
                                          MMCAM_CAMERA_DIGITAL_ZOOM, zoom,
                                          NULL);
@@ -2458,54 +2918,58 @@ int camera_attr_get_zoom(camera_h camera, int *zoom){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_zoom_range(camera_h camera, int *min, int *max){
-       if( camera == NULL || min == NULL || max == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_zoom_range(camera_h camera, int *min, int *max)
+{
+       if (camera == NULL || min == NULL || max == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo ainfo;
-       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_DIGITAL_ZOOM, &ainfo);
 
-       if( min )
+       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_DIGITAL_ZOOM, &ainfo);
+       if (ret == MM_ERROR_NONE) {
                *min = ainfo.int_range.min;
-       if( max )
                *max = ainfo.int_range.max;
+       }
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_af_mode( camera_h camera,  camera_attr_af_mode_e *mode){
-       if( camera == NULL || mode == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_af_mode(camera_h camera, camera_attr_af_mode_e *mode)
+{
+       if (camera == NULL || mode == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
+       int ret = MM_ERROR_NONE;
        int focus_mode;
        int af_range;
        int detect_mode;
-       camera_s * handle = (camera_s*)camera;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
                                          MMCAM_CAMERA_FOCUS_MODE, &focus_mode,
                                          MMCAM_CAMERA_AF_SCAN_RANGE, &af_range,
                                          MMCAM_DETECT_MODE, &detect_mode,
                                          NULL);
-
-       if( ret == CAMERA_ERROR_NONE ){
-               switch( focus_mode ){
-               case MM_CAMCORDER_FOCUS_MODE_NONE :
-               case MM_CAMCORDER_FOCUS_MODE_PAN :
-               case MM_CAMCORDER_FOCUS_MODE_MANUAL :
+       if (ret == MM_ERROR_NONE) {
+               switch (focus_mode) {
+               case MM_CAMCORDER_FOCUS_MODE_NONE:
+               case MM_CAMCORDER_FOCUS_MODE_PAN:
+               case MM_CAMCORDER_FOCUS_MODE_MANUAL:
                        *mode = CAMERA_ATTR_AF_NONE;
                        break;
                case MM_CAMCORDER_FOCUS_MODE_AUTO:
                case MM_CAMCORDER_FOCUS_MODE_TOUCH_AUTO:
                case MM_CAMCORDER_FOCUS_MODE_CONTINUOUS:
-                       switch ( af_range ){
-                       case MM_CAMCORDER_AUTO_FOCUS_NONE :
+                       switch (af_range) {
+                       case MM_CAMCORDER_AUTO_FOCUS_NONE:
                                *mode = CAMERA_ATTR_AF_NORMAL;
                                break;
                        case MM_CAMCORDER_AUTO_FOCUS_NORMAL:
@@ -2522,7 +2986,7 @@ int camera_attr_get_af_mode( camera_h camera,  camera_attr_af_mode_e *mode){
                                break;
                        }
                        break;
-               default :
+               default:
                        *mode = CAMERA_ATTR_AF_NONE;
                        break;
                }
@@ -2531,74 +2995,89 @@ int camera_attr_get_af_mode( camera_h camera,  camera_attr_af_mode_e *mode){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_exposure_mode( camera_h camera,  camera_attr_exposure_mode_e *mode){
-       if( camera == NULL|| mode == NULL){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_exposure_mode(camera_h camera, camera_attr_exposure_mode_e *mode)
+{
+       if (camera == NULL || mode == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int maptable[] = {
-                       CAMERA_ATTR_EXPOSURE_MODE_OFF,  //MM_CAMCORDER_AUTO_EXPOSURE_OFF
-                       CAMERA_ATTR_EXPOSURE_MODE_ALL,  //MM_CAMCORDER_AUTO_EXPOSURE_ALL
-                       CAMERA_ATTR_EXPOSURE_MODE_CENTER, //MM_CAMCORDER_AUTO_EXPOSURE_CENTER_1
-                       CAMERA_ATTR_EXPOSURE_MODE_CENTER, //MM_CAMCORDER_AUTO_EXPOSURE_CENTER_2
-                       CAMERA_ATTR_EXPOSURE_MODE_CENTER, //MM_CAMCORDER_AUTO_EXPOSURE_CENTER_3
-                       CAMERA_ATTR_EXPOSURE_MODE_SPOT, //MM_CAMCORDER_AUTO_EXPOSURE_SPOT_1
-                       CAMERA_ATTR_EXPOSURE_MODE_SPOT, //MM_CAMCORDER_AUTO_EXPOSURE_SPOT_2
-                       CAMERA_ATTR_EXPOSURE_MODE_CUSTOM,//MM_CAMCORDER_AUTO_EXPOSURE_CUSTOM_1
-                       CAMERA_ATTR_EXPOSURE_MODE_CUSTOM //MM_CAMCORDER_AUTO_EXPOSURE_CUSTOM_2
-               };
-       int ret;
+       int maptable[] = {CAMERA_ATTR_EXPOSURE_MODE_OFF,        /* MM_CAMCORDER_AUTO_EXPOSURE_OFF */
+                         CAMERA_ATTR_EXPOSURE_MODE_ALL,        /* MM_CAMCORDER_AUTO_EXPOSURE_ALL */
+                         CAMERA_ATTR_EXPOSURE_MODE_CENTER,     /* MM_CAMCORDER_AUTO_EXPOSURE_CENTER_1 */
+                         CAMERA_ATTR_EXPOSURE_MODE_CENTER,     /* MM_CAMCORDER_AUTO_EXPOSURE_CENTER_2 */
+                         CAMERA_ATTR_EXPOSURE_MODE_CENTER,     /* MM_CAMCORDER_AUTO_EXPOSURE_CENTER_3 */
+                         CAMERA_ATTR_EXPOSURE_MODE_SPOT,       /* MM_CAMCORDER_AUTO_EXPOSURE_SPOT_1 */
+                         CAMERA_ATTR_EXPOSURE_MODE_SPOT,       /* MM_CAMCORDER_AUTO_EXPOSURE_SPOT_2 */
+                         CAMERA_ATTR_EXPOSURE_MODE_CUSTOM,     /* MM_CAMCORDER_AUTO_EXPOSURE_CUSTOM_1 */
+                         CAMERA_ATTR_EXPOSURE_MODE_CUSTOM      /* MM_CAMCORDER_AUTO_EXPOSURE_CUSTOM_2 */
+                        };
+       int ret = MM_ERROR_NONE;
        int exposure_mode;
-       camera_s * handle = (camera_s*)camera;
-       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL, MMCAM_CAMERA_EXPOSURE_MODE, &exposure_mode, NULL);
-       if( ret == CAMERA_ERROR_NONE ){
+       camera_s *handle = (camera_s *)camera;
+
+       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
+                                         MMCAM_CAMERA_EXPOSURE_MODE, &exposure_mode,
+                                         NULL);
+
+       if (ret == CAMERA_ERROR_NONE) {
                *mode = maptable[abs(exposure_mode%9)];
        }
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_exposure(camera_h camera, int *value){
-       if( camera == NULL || value == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_exposure(camera_h camera, int *value)
+{
+       if (camera == NULL || value == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
-       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL, MMCAM_CAMERA_EXPOSURE_VALUE, value, NULL);
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
+       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
+                                         MMCAM_CAMERA_EXPOSURE_VALUE, value,
+                                         NULL);
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_exposure_range(camera_h camera, int *min, int *max){
-       if( camera == NULL || min == NULL || max == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_exposure_range(camera_h camera, int *min, int *max)
+{
+       if (camera == NULL || min == NULL || max == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo ainfo;
-       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_EXPOSURE_VALUE, &ainfo);
 
-       if( min )
+       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_EXPOSURE_VALUE, &ainfo);
+       if (ret == MM_ERROR_NONE) {
                *min = ainfo.int_range.min;
-       if( max )
                *max = ainfo.int_range.max;
+       }
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_iso( camera_h camera,  camera_attr_iso_e *iso){
-       if( camera == NULL || iso == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_iso(camera_h camera, camera_attr_iso_e *iso)
+{
+       if (camera == NULL || iso == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
                                          MMCAM_CAMERA_ISO, iso,
                                          NULL);
@@ -2606,14 +3085,17 @@ int camera_attr_get_iso( camera_h camera,  camera_attr_iso_e *iso){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_brightness(camera_h camera,  int *level){
-       if( camera == NULL || level == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_brightness(camera_h camera, int *level)
+{
+       if (camera == NULL || level == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
                                          MMCAM_FILTER_BRIGHTNESS, level,
                                          NULL);
@@ -2621,33 +3103,38 @@ int camera_attr_get_brightness(camera_h camera,  int *level){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_brightness_range(camera_h camera, int *min, int *max){
-       if( camera == NULL || min == NULL || max == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_brightness_range(camera_h camera, int *min, int *max)
+{
+       if (camera == NULL || min == NULL || max == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo ainfo;
-       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_FILTER_BRIGHTNESS, &ainfo);
 
-       if( min )
+       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_FILTER_BRIGHTNESS, &ainfo);
+       if (ret == MM_ERROR_NONE) {
                *min = ainfo.int_range.min;
-       if( max )
                *max = ainfo.int_range.max;
+       }
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_contrast(camera_h camera,  int *level){
-       if( camera == NULL || level == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_contrast(camera_h camera, int *level)
+{
+       if (camera == NULL || level == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
                                          MMCAM_FILTER_CONTRAST, level,
                                          NULL);
@@ -2655,33 +3142,38 @@ int camera_attr_get_contrast(camera_h camera,  int *level){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_contrast_range(camera_h camera, int *min , int *max){
-       if( camera == NULL || min == NULL || max == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_contrast_range(camera_h camera, int *min, int *max)
+{
+       if (camera == NULL || min == NULL || max == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo ainfo;
-       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_FILTER_CONTRAST, &ainfo);
 
-       if( min )
+       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_FILTER_CONTRAST, &ainfo);
+       if (ret == MM_ERROR_NONE) {
                *min = ainfo.int_range.min;
-       if( max )
                *max = ainfo.int_range.max;
+       }
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_whitebalance(camera_h camera,  camera_attr_whitebalance_e *wb){
-       if( camera == NULL || wb == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_whitebalance(camera_h camera, camera_attr_whitebalance_e *wb)
+{
+       if (camera == NULL || wb == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
                                          MMCAM_FILTER_WB, wb,
                                          NULL);
@@ -2689,35 +3181,35 @@ int camera_attr_get_whitebalance(camera_h camera,  camera_attr_whitebalance_e *w
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_effect(camera_h camera, camera_attr_effect_mode_e *effect){
-       if( camera == NULL || effect == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_effect(camera_h camera, camera_attr_effect_mode_e *effect)
+{
+       if (camera == NULL || effect == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
-       int tone;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
-                                         MMCAM_FILTER_COLOR_TONE, &tone,
+                                         MMCAM_FILTER_COLOR_TONE, effect,
                                          NULL);
 
-       if( ret != CAMERA_ERROR_NONE )
-               return __convert_camera_error_code(__func__, ret);
-
-       *effect = (camera_attr_effect_mode_e)tone;
-
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_scene_mode(camera_h camera,  camera_attr_scene_mode_e *mode){
-       if( camera == NULL || mode == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_scene_mode(camera_h camera, camera_attr_scene_mode_e *mode)
+{
+       if (camera == NULL || mode == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
                                          MMCAM_FILTER_SCENE_MODE, mode,
                                          NULL);
@@ -2725,14 +3217,16 @@ int camera_attr_get_scene_mode(camera_h camera,  camera_attr_scene_mode_e *mode)
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_is_enabled_tag(camera_h camera,  bool *enable){
-       if( camera == NULL || enable == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_is_enabled_tag(camera_h camera, bool *enable)
+{
+       if (camera == NULL || enable == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
 
        ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
                                          MMCAM_TAG_ENABLE, enable,
@@ -2741,36 +3235,44 @@ int camera_attr_is_enabled_tag(camera_h camera,  bool *enable){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_tag_image_description(camera_h camera,  char **description){
-       if( camera == NULL || description == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_tag_image_description(camera_h camera, char **description)
+{
+       if (camera == NULL || description == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        char *ndescription = NULL;
        int desc_size;
-       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL, MMCAM_TAG_IMAGE_DESCRIPTION, &ndescription, &desc_size, NULL);
 
-       if( ret == CAMERA_ERROR_NONE ){
-               if( ndescription != NULL )
+       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
+                                         MMCAM_TAG_IMAGE_DESCRIPTION, &ndescription, &desc_size,
+                                         NULL);
+       if (ret == MM_ERROR_NONE) {
+               if (ndescription != NULL) {
                        *description = strdup(ndescription);
-               else
+               } else {
                        *description = strdup("");
+               }
        }
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_tag_orientation(camera_h camera,  camera_attr_tag_orientation_e *orientation){
-       if( camera == NULL || orientation == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_tag_orientation(camera_h camera, camera_attr_tag_orientation_e *orientation)
+{
+       if (camera == NULL || orientation == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
                                          MMCAM_TAG_ORIENTATION, orientation,
                                          NULL);
@@ -2778,37 +3280,44 @@ int camera_attr_get_tag_orientation(camera_h camera,  camera_attr_tag_orientatio
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_tag_software(camera_h camera,  char **software){
-       if( camera == NULL || software == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_tag_software(camera_h camera, char **software)
+{
+       if (camera == NULL || software == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
-       char *soft;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+       char *soft = NULL;
        int soft_size;
 
-       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL, MMCAM_TAG_SOFTWARE, &soft, &soft_size, NULL);
-
-       if( ret == CAMERA_ERROR_NONE ){
-               if( soft != NULL )
+       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
+                                         MMCAM_TAG_SOFTWARE, &soft, &soft_size,
+                                         NULL);
+       if (ret == MM_ERROR_NONE) {
+               if (soft != NULL) {
                        *software = strdup(soft);
-               else
+               } else {
                        *software = strdup("");
+               }
        }
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_geotag(camera_h camera, double *latitude , double *longitude, double *altitude){
-       if( camera == NULL || latitude == NULL || longitude == NULL || altitude == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_geotag(camera_h camera, double *latitude , double *longitude, double *altitude)
+{
+       if (camera == NULL || latitude == NULL || longitude == NULL || altitude == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
                                          MMCAM_TAG_LATITUDE, latitude,
                                          MMCAM_TAG_LONGITUDE, longitude,
@@ -2818,14 +3327,17 @@ int camera_attr_get_geotag(camera_h camera, double *latitude , double *longitude
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_flash_mode(camera_h camera,  camera_attr_flash_mode_e *mode){
-       if( camera == NULL || mode == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_flash_mode(camera_h camera, camera_attr_flash_mode_e *mode)
+{
+       if (camera == NULL || mode == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
        ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
                                          MMCAM_STROBE_MODE, mode,
                                          NULL);
@@ -2833,297 +3345,389 @@ int camera_attr_get_flash_mode(camera_h camera,  camera_attr_flash_mode_e *mode)
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_foreach_supported_af_mode( camera_h camera, camera_attr_supported_af_mode_cb foreach_cb , void *user_data){
-       if( camera == NULL || foreach_cb == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_foreach_supported_af_mode(camera_h camera, camera_attr_supported_af_mode_cb foreach_cb, void *user_data)
+{
+       if (camera == NULL || foreach_cb == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       int i;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       int i = 0;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo af_range;
        MMCamAttrsInfo focus_mode;
 
        ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_AF_SCAN_RANGE, &af_range);
        ret |= mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_FOCUS_MODE, &focus_mode);
-
-       if( ret != CAMERA_ERROR_NONE )
+       if (ret != MM_ERROR_NONE) {
                return __convert_camera_error_code(__func__, ret);
-
-       for( i=0 ; i < af_range.int_array.count ; i++ ) {
-               if( !foreach_cb(af_range.int_array.array[i],user_data) )
-                       goto ENDCALLBACK;
        }
 
-       ENDCALLBACK:
+       for (i = 0 ; i < af_range.int_array.count ; i++) {
+               if (!foreach_cb(af_range.int_array.array[i], user_data)) {
+                       break;;
+               }
+       }
 
        return CAMERA_ERROR_NONE;
 }
 
-int camera_attr_foreach_supported_exposure_mode(camera_h camera, camera_attr_supported_exposure_mode_cb foreach_cb , void *user_data){
-       if( camera == NULL || foreach_cb == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_foreach_supported_exposure_mode(camera_h camera, camera_attr_supported_exposure_mode_cb foreach_cb, void *user_data)
+{
+       if (camera == NULL || foreach_cb == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int maptable[] = {
-                       CAMERA_ATTR_EXPOSURE_MODE_OFF,  //MM_CAMCORDER_AUTO_EXPOSURE_OFF
-                       CAMERA_ATTR_EXPOSURE_MODE_ALL,  //MM_CAMCORDER_AUTO_EXPOSURE_ALL
-                       CAMERA_ATTR_EXPOSURE_MODE_CENTER, //MM_CAMCORDER_AUTO_EXPOSURE_CENTER_1
-                       -1, //MM_CAMCORDER_AUTO_EXPOSURE_CENTER_2
-                       -1, //MM_CAMCORDER_AUTO_EXPOSURE_CENTER_3
-                       CAMERA_ATTR_EXPOSURE_MODE_SPOT, //MM_CAMCORDER_AUTO_EXPOSURE_SPOT_1
-                       -1, //MM_CAMCORDER_AUTO_EXPOSURE_SPOT_2
-                       CAMERA_ATTR_EXPOSURE_MODE_CUSTOM,//MM_CAMCORDER_AUTO_EXPOSURE_CUSTOM_1
-                       -1//MM_CAMCORDER_AUTO_EXPOSURE_CUSTOM_2
-               };
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int maptable[] = {CAMERA_ATTR_EXPOSURE_MODE_OFF,        /* MM_CAMCORDER_AUTO_EXPOSURE_OFF */
+                         CAMERA_ATTR_EXPOSURE_MODE_ALL,        /* MM_CAMCORDER_AUTO_EXPOSURE_ALL */
+                         CAMERA_ATTR_EXPOSURE_MODE_CENTER,     /* MM_CAMCORDER_AUTO_EXPOSURE_CENTER_1 */
+                         -1,                                   /* MM_CAMCORDER_AUTO_EXPOSURE_CENTER_2 */
+                         -1,                                   /* MM_CAMCORDER_AUTO_EXPOSURE_CENTER_3 */
+                         CAMERA_ATTR_EXPOSURE_MODE_SPOT,       /* MM_CAMCORDER_AUTO_EXPOSURE_SPOT_1 */
+                         -1,                                   /* MM_CAMCORDER_AUTO_EXPOSURE_SPOT_2 */
+                         CAMERA_ATTR_EXPOSURE_MODE_CUSTOM,     /* MM_CAMCORDER_AUTO_EXPOSURE_CUSTOM_1 */
+                         -1                                    /* MM_CAMCORDER_AUTO_EXPOSURE_CUSTOM_2 */
+                        };
+       int i = 0;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo info;
-       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_EXPOSURE_MODE , &info);
 
-       if( ret != CAMERA_ERROR_NONE )
+       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_EXPOSURE_MODE, &info);
+       if (ret != MM_ERROR_NONE) {
                return __convert_camera_error_code(__func__, ret);
+       }
 
-       int i;
-       for( i=0 ; i < info.int_array.count ; i++ ){
-               if( maptable[info.int_array.array[i]] != -1 ){
-                       if ( !foreach_cb(maptable[info.int_array.array[i]],user_data) )
-                               break;
+       for (i = 0 ; i < info.int_array.count ; i++) {
+               if (info.int_array.array[i] >= MM_CAMCORDER_AUTO_EXPOSURE_OFF &&
+                   info.int_array.array[i] <= MM_CAMCORDER_AUTO_EXPOSURE_CUSTOM_2) {
+                       if (maptable[info.int_array.array[i]] != -1) {
+                               if (!foreach_cb(maptable[info.int_array.array[i]], user_data)) {
+                                       break;
+                               }
+                       }
+               } else {
+                       LOGW("unknown value %d", info.int_array.array[i]);
                }
        }
 
        return CAMERA_ERROR_NONE;
 }
 
-int camera_attr_foreach_supported_iso( camera_h camera, camera_attr_supported_iso_cb foreach_cb , void *user_data){
-       if( camera == NULL || foreach_cb == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_foreach_supported_iso(camera_h camera, camera_attr_supported_iso_cb foreach_cb, void *user_data)
+{
+       if (camera == NULL || foreach_cb == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int i = 0;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo info;
-       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_ISO , &info);
 
-       if( ret != CAMERA_ERROR_NONE )
+       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_ISO, &info);
+       if (ret != MM_ERROR_NONE) {
                return __convert_camera_error_code(__func__, ret);
+       }
 
-       int i;
-       for( i=0 ; i < info.int_array.count ; i++ ){
-               if( !foreach_cb(info.int_array.array[i],user_data) )
+       for (i = 0 ; i < info.int_array.count ; i++) {
+               if (!foreach_cb(info.int_array.array[i], user_data)) {
                        break;
+               }
        }
 
        return CAMERA_ERROR_NONE;
 }
 
-int camera_attr_foreach_supported_whitebalance(camera_h camera, camera_attr_supported_whitebalance_cb foreach_cb , void *user_data){
-       if( camera == NULL || foreach_cb == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_foreach_supported_whitebalance(camera_h camera, camera_attr_supported_whitebalance_cb foreach_cb, void *user_data)
+{
+       if (camera == NULL || foreach_cb == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int i = 0;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo info;
+
        ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_FILTER_WB, &info);
+       if (ret != MM_ERROR_NONE) {
+               return __convert_camera_error_code(__func__, ret);
+       }
+
+       for (i = 0 ; i < info.int_array.count ; i++) {
+               if (!foreach_cb(info.int_array.array[i], user_data)) {
+                       break;
+               }
+       }
 
-       if( ret != CAMERA_ERROR_NONE )
+       return CAMERA_ERROR_NONE;
+}
+
+
+int camera_attr_foreach_supported_effect(camera_h camera, camera_attr_supported_effect_cb foreach_cb, void *user_data)
+{
+       if (camera == NULL || foreach_cb == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
+               return CAMERA_ERROR_INVALID_PARAMETER;
+       }
+
+       int i = 0;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+       MMCamAttrsInfo info;
+
+       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_FILTER_COLOR_TONE, &info);
+       if (ret != MM_ERROR_NONE) {
                return __convert_camera_error_code(__func__, ret);
+       }
 
-       int i;
-       for( i=0 ; i < info.int_array.count ; i++ ){
-               if ( !foreach_cb(info.int_array.array[i],user_data)  )
+       for (i = 0 ; i < info.int_array.count ; i++) {
+               if (!foreach_cb(info.int_array.array[i], user_data)) {
                        break;
+               }
        }
 
        return CAMERA_ERROR_NONE;
 }
 
-int camera_attr_foreach_supported_effect(camera_h camera, camera_attr_supported_effect_cb foreach_cb , void *user_data){
-       if( camera == NULL || foreach_cb == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_foreach_supported_scene_mode(camera_h camera, camera_attr_supported_scene_mode_cb foreach_cb, void *user_data)
+{
+       if (camera == NULL || foreach_cb == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int i = 0;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo info;
-       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_FILTER_COLOR_TONE , &info);
 
-       if( ret != CAMERA_ERROR_NONE )
+       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_FILTER_SCENE_MODE, &info);
+       if (ret != MM_ERROR_NONE) {
                return __convert_camera_error_code(__func__, ret);
+       }
 
-       int i;
-       for( i=0 ; i < info.int_array.count ; i++){
-               int effect = info.int_array.array[i];
-               if( !foreach_cb(effect,user_data) )
-                               break;
+       for (i = 0 ; i < info.int_array.count ; i++) {
+               if (!foreach_cb(info.int_array.array[i], user_data)) {
+                       break;
+               }
        }
 
        return CAMERA_ERROR_NONE;
 }
 
-int camera_attr_foreach_supported_scene_mode(camera_h camera, camera_attr_supported_scene_mode_cb foreach_cb , void *user_data){
-       if( camera == NULL || foreach_cb == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_foreach_supported_flash_mode(camera_h camera, camera_attr_supported_flash_mode_cb foreach_cb, void *user_data)
+{
+       if (camera == NULL || foreach_cb == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int i = 0;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo info;
-       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_FILTER_SCENE_MODE  , &info);
 
-       if( ret != CAMERA_ERROR_NONE )
+       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_STROBE_MODE, &info);
+       if (ret != MM_ERROR_NONE) {
                return __convert_camera_error_code(__func__, ret);
+       }
 
-       int i;
-       for( i=0 ; i < info.int_array.count ; i++){
-               if ( !foreach_cb(info.int_array.array[i],user_data) )
+       for (i = 0 ; i < info.int_array.count ; i++) {
+               if (!foreach_cb(info.int_array.array[i], user_data)) {
                        break;
+               }
        }
 
        return CAMERA_ERROR_NONE;
 }
 
-int camera_attr_foreach_supported_flash_mode(camera_h camera, camera_attr_supported_flash_mode_cb foreach_cb , void *user_data){
-       if( camera == NULL || foreach_cb == NULL){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_foreach_supported_fps(camera_h camera, camera_attr_supported_fps_cb foreach_cb, void *user_data)
+{
+       if (camera == NULL || foreach_cb == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo info;
-       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_STROBE_MODE  , &info);
+       int width = 0;
+       int height = 0;
+       int i = 0;
 
-       if( ret != CAMERA_ERROR_NONE )
+       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
+                                         MMCAM_CAMERA_WIDTH, &width,
+                                         MMCAM_CAMERA_HEIGHT, &height,
+                                         NULL);
+       if (ret != MM_ERROR_NONE) {
+               return __convert_camera_error_code(__func__, ret);
+       }
+
+       ret = mm_camcorder_get_fps_list_by_resolution(handle->mm_handle, width, height, &info);
+       if (ret != MM_ERROR_NONE) {
                return __convert_camera_error_code(__func__, ret);
+       }
 
-       int i;
-       for( i=0 ; i < info.int_array.count ; i++){
-               if( !foreach_cb(info.int_array.array[i],user_data) )
+       for (i = 0 ; i < info.int_array.count ; i++) {
+               if (!foreach_cb(info.int_array.array[i], user_data)) {
                        break;
+               }
        }
 
        return CAMERA_ERROR_NONE;
 }
 
-int camera_attr_foreach_supported_fps(camera_h camera, camera_attr_supported_fps_cb foreach_cb , void *user_data){
-       if( camera == NULL || foreach_cb == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_foreach_supported_fps_by_resolution(camera_h camera, int width, int height, camera_attr_supported_fps_cb foreach_cb, void *user_data)
+{
+       if (camera == NULL || foreach_cb == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo info;
-       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_FPS , &info);
+       int i = 0;
 
-       if( ret != CAMERA_ERROR_NONE )
+       ret = mm_camcorder_get_fps_list_by_resolution(handle->mm_handle, width, height, &info);
+       if (ret != MM_ERROR_NONE) {
                return __convert_camera_error_code(__func__, ret);
+       }
 
-       int i;
-       for( i=0 ; i < info.int_array.count ; i++){
-               if( !foreach_cb(info.int_array.array[i],user_data) )
+       for (i = 0 ; i < info.int_array.count ; i++) {
+               if (!foreach_cb(info.int_array.array[i], user_data)) {
                        break;
+               }
        }
 
        return CAMERA_ERROR_NONE;
 }
 
-int camera_attr_foreach_supported_stream_flip(camera_h camera, camera_attr_supported_stream_flip_cb foreach_cb, void *user_data){
-       if( camera == NULL || foreach_cb == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_foreach_supported_stream_flip(camera_h camera, camera_attr_supported_stream_flip_cb foreach_cb, void *user_data)
+{
+       if (camera == NULL || foreach_cb == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int i = 0;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo info;
-       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_FLIP , &info);
 
-       if( ret != CAMERA_ERROR_NONE )
+       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_FLIP, &info);
+       if (ret != MM_ERROR_NONE) {
                return __convert_camera_error_code(__func__, ret);
+       }
 
-       int i;
-       for( i=0 ; i < info.int_array.count ; i++){
-               if( !foreach_cb(info.int_array.array[i], user_data) )
+       for (i = 0 ; i < info.int_array.count ; i++) {
+               if (!foreach_cb(info.int_array.array[i], user_data)) {
                        break;
+               }
        }
 
        return CAMERA_ERROR_NONE;
 }
 
-int camera_attr_foreach_supported_stream_rotation(camera_h camera, camera_attr_supported_stream_rotation_cb foreach_cb, void *user_data){
-       if( camera == NULL || foreach_cb == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_foreach_supported_stream_rotation(camera_h camera, camera_attr_supported_stream_rotation_cb foreach_cb, void *user_data)
+{
+       if (camera == NULL || foreach_cb == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int i = 0;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo info;
-       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_ROTATION , &info);
 
-       if( ret != CAMERA_ERROR_NONE )
+       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_ROTATION, &info);
+       if (ret != MM_ERROR_NONE) {
                return __convert_camera_error_code(__func__, ret);
+       }
 
-       int i;
-       for( i=0 ; i < info.int_array.count ; i++ ){
-               if( !foreach_cb(info.int_array.array[i], user_data) )
+       for (i = 0 ; i < info.int_array.count ; i++) {
+               if (!foreach_cb(info.int_array.array[i], user_data)) {
                        break;
+               }
        }
 
        return CAMERA_ERROR_NONE;
 }
 
-int camera_attr_set_stream_rotation(camera_h camera , camera_rotation_e rotation){
-       if( camera == NULL){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_set_stream_rotation(camera_h camera, camera_rotation_e rotation)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       if( rotation > CAMERA_ROTATION_270 )
+       if (rotation < CAMERA_ROTATION_NONE || rotation > CAMERA_ROTATION_270) {
+               LOGE("INVALID_PARAMETER - %d", rotation);
                return CAMERA_ERROR_INVALID_PARAMETER;
+       }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
 
-       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL, MMCAM_CAMERA_ROTATION, rotation, NULL);
+       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                         MMCAM_CAMERA_ROTATION, rotation,
+                                         NULL);
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_stream_rotation(camera_h camera , camera_rotation_e *rotation){
-       if( camera == NULL || rotation == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_stream_rotation(camera_h camera, camera_rotation_e *rotation)
+{
+       if (camera == NULL || rotation == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
 
-       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL, MMCAM_CAMERA_ROTATION, rotation, NULL);
+       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
+                                         MMCAM_CAMERA_ROTATION, rotation,
+                                         NULL);
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_set_stream_flip(camera_h camera , camera_flip_e flip){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_set_stream_flip(camera_h camera, camera_flip_e flip)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       if( flip > CAMERA_FLIP_BOTH )
+       if (flip < CAMERA_FLIP_NONE || flip > CAMERA_FLIP_BOTH) {
+               LOGE("INVALID_PARAMETER - %d", flip);
                return CAMERA_ERROR_INVALID_PARAMETER;
+       }
+
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
        ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
                                          MMCAM_CAMERA_FLIP, flip,
                                          NULL);
@@ -3131,62 +3735,93 @@ int camera_attr_set_stream_flip(camera_h camera , camera_flip_e flip){
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_stream_flip(camera_h camera , camera_flip_e *flip){
-       if( camera == NULL || flip == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_stream_flip(camera_h camera, camera_flip_e *flip)
+{
+       if (camera == NULL || flip == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
-       int ret;
-       camera_s * handle = (camera_s*)camera;
-       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL, MMCAM_CAMERA_FLIP, flip, NULL);
+
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
+       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
+                                         MMCAM_CAMERA_FLIP, flip,
+                                         NULL);
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int _camera_set_use(camera_h camera, bool used){
-       camera_s * handle = (camera_s*)camera;
+
+int _camera_set_use(camera_h camera, bool used)
+{
+       camera_s *handle = (camera_s *)camera;
+
+       if (handle == NULL) {
+               LOGE("handle is NULL");
+               return CAMERA_ERROR_INVALID_PARAMETER;
+       }
+
        handle->is_used_in_recorder = used;
+
        return CAMERA_ERROR_NONE;
 }
 
-bool _camera_is_used(camera_h camera){
-       camera_s * handle = (camera_s*)camera;
+
+bool _camera_is_used(camera_h camera)
+{
+       camera_s *handle = (camera_s *)camera;
+
+       if (handle == NULL) {
+               LOGE("handle is NULL");
+               return false;
+       }
+
        return handle->is_used_in_recorder;
 }
 
-int _camera_get_mm_handle(camera_h camera , MMHandleType *handle){
-       if( camera == NULL || handle == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int _camera_get_mm_handle(camera_h camera, MMHandleType *handle)
+{
+       if (camera == NULL || handle == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
+
        camera_s *camera_handle = (camera_s*)camera;
+
        *handle =  camera_handle->mm_handle;
 
        return CAMERA_ERROR_NONE;
 }
 
-int _camera_set_relay_mm_message_callback(camera_h camera, MMMessageCallback callback, void *user_data){
+
+int _camera_set_relay_mm_message_callback(camera_h camera, MMMessageCallback callback, void *user_data)
+{
        if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       camera_s *handle = (camera_s*)camera;
+       camera_s *handle = (camera_s *)camera;
        handle->relay_message_callback = callback;
        handle->relay_user_data = user_data;
 
        return CAMERA_ERROR_NONE;
 }
 
-int _camera_get_tbm_surface_format(int in_format, uint32_t *out_format){
-       if( in_format <= MM_PIXEL_FORMAT_INVALID ||
+
+int _camera_get_tbm_surface_format(int in_format, uint32_t *out_format)
+{
+       if (in_format <= MM_PIXEL_FORMAT_INVALID ||
            in_format >= MM_PIXEL_FORMAT_NUM ||
-           out_format == NULL ){
+           out_format == NULL{
                LOGE("INVALID_PARAMETER : in_format %d, out_format ptr %p", in_format, out_format);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       switch( in_format ){
+       switch (in_format) {
        case MM_PIXEL_FORMAT_NV12:
        case MM_PIXEL_FORMAT_NV12T:
                *out_format = TBM_FORMAT_NV12;
@@ -3233,10 +3868,12 @@ int _camera_get_tbm_surface_format(int in_format, uint32_t *out_format){
        return CAMERA_ERROR_NONE;
 }
 
-int _camera_get_media_packet_mimetype(int in_format, media_format_mimetype_e *mimetype){
-       if( in_format <= MM_PIXEL_FORMAT_INVALID ||
+
+int _camera_get_media_packet_mimetype(int in_format, media_format_mimetype_e *mimetype)
+{
+       if (in_format <= MM_PIXEL_FORMAT_INVALID ||
            in_format >= MM_PIXEL_FORMAT_NUM ||
-           mimetype == NULL ){
+           mimetype == NULL{
                LOGE("INVALID_PARAMETER : in_format %d, mimetype ptr %p", in_format, mimetype);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
@@ -3288,37 +3925,38 @@ int _camera_get_media_packet_mimetype(int in_format, media_format_mimetype_e *mi
        return CAMERA_ERROR_NONE;
 }
 
-int _camera_media_packet_finalize(media_packet_h pkt, int error_code, void *user_data){
+
+int _camera_media_packet_finalize(media_packet_h pkt, int error_code, void *user_data)
+{
        int ret = 0;
        void *internal_buffer = NULL;
        tbm_surface_h tsurf = NULL;
 
-       if( pkt == NULL || user_data == NULL ){
+       if (pkt == NULL || user_data == NULL) {
                LOGE("invalid parameter buffer %p, user_data %p", pkt, user_data);
                return MEDIA_PACKET_FINALIZE;
        }
 
        ret = media_packet_get_extra(pkt, &internal_buffer);
-
-       if( ret != MEDIA_PACKET_ERROR_NONE ){
+       if (ret != MEDIA_PACKET_ERROR_NONE) {
                LOGE("media_packet_get_extra failed 0x%x", ret);
                return MEDIA_PACKET_FINALIZE;
        }
 
        /*LOGD("pointer gst buffer %p, ret 0x%x", internal_buffer, ret);*/
 
-       if( internal_buffer ){
+       if (internal_buffer) {
                gst_buffer_unref((GstBuffer *)internal_buffer);
                internal_buffer = NULL;
        }
 
        ret = media_packet_get_tbm_surface(pkt, &tsurf);
-       if( ret != MEDIA_PACKET_ERROR_NONE ){
+       if (ret != MEDIA_PACKET_ERROR_NONE) {
                LOGE("media_packet_get_tbm_surface failed 0x%x", ret);
                return MEDIA_PACKET_FINALIZE;
        }
 
-       if( tsurf ){
+       if (tsurf) {
                tbm_surface_destroy(tsurf);
                tsurf = NULL;
        }
@@ -3326,78 +3964,87 @@ int _camera_media_packet_finalize(media_packet_h pkt, int error_code, void *user
        return MEDIA_PACKET_FINALIZE;
 }
 
-int camera_attr_set_hdr_mode(camera_h camera, camera_attr_hdr_mode_e mode){
-       if( camera == NULL ){
+
+int camera_attr_set_hdr_mode(camera_h camera, camera_attr_hdr_mode_e mode)
+{
+       if (camera == NULL) {
                LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       if( camera_attr_is_supported_hdr_capture(camera) == false ){
+       if (camera_attr_is_supported_hdr_capture(camera) == false) {
                LOGE("NOT_SUPPORTED(0x%08x)", CAMERA_ERROR_NOT_SUPPORTED);
                return CAMERA_ERROR_NOT_SUPPORTED;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
-       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL, MMCAM_CAMERA_HDR_CAPTURE, mode, NULL);
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+
+       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                         MMCAM_CAMERA_HDR_CAPTURE, mode,
+                                         NULL);
 
-       if( ret == MM_ERROR_NONE ){
-               if( mode == CAMERA_ATTR_HDR_MODE_KEEP_ORIGINAL )
+       if (ret == MM_ERROR_NONE) {
+               if (mode == CAMERA_ATTR_HDR_MODE_KEEP_ORIGINAL) {
                        handle->hdr_keep_mode = true;
-               else
+               } else {
                        handle->hdr_keep_mode = false;
+               }
        }
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_get_hdr_mode(camera_h camera, camera_attr_hdr_mode_e *mode){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x) - handle",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_get_hdr_mode(camera_h camera, camera_attr_hdr_mode_e *mode)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x) - handle", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       if(  camera_attr_is_supported_hdr_capture(camera) == false ){
+       if (camera_attr_is_supported_hdr_capture(camera) == false) {
                LOGE("NOT_SUPPORTED(0x%08x)", CAMERA_ERROR_NOT_SUPPORTED);
                return CAMERA_ERROR_NOT_SUPPORTED;
        }
 
-       if( mode == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x) - mode",CAMERA_ERROR_INVALID_PARAMETER);
+       if (mode == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x) - mode", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       int result;
-       camera_s * handle = (camera_s*)camera;
-       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL, MMCAM_CAMERA_HDR_CAPTURE, &result, NULL);
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
 
-       if( ret == MM_ERROR_NONE ){
-               *mode = result;
-       }
+       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
+                                         MMCAM_CAMERA_HDR_CAPTURE, mode,
+                                         NULL);
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-bool camera_attr_is_supported_hdr_capture(camera_h camera){
-       if( camera == NULL  ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+bool camera_attr_is_supported_hdr_capture(camera_h camera)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return false;
        }
-       int ret;
-       int i;
-       camera_s * handle = (camera_s*)camera;
+
+       int ret = MM_ERROR_NONE;
+       int i = 0;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo hdr_info;
 
        ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_HDR_CAPTURE, &hdr_info);
        set_last_result(__convert_camera_error_code(__func__, ret));
-       if( ret != MM_ERROR_NONE ){
+       if (ret != MM_ERROR_NONE) {
                LOGE("MMCAM_CAMERA_HDR_CAPTURE get attr info failed");
                return false;
        }
 
-       for( i = 0; i < hdr_info.int_array.count ; i++ ){
-               if( hdr_info.int_array.array[i] >= MM_CAMCORDER_HDR_ON  ){
+       for (i = 0; i < hdr_info.int_array.count ; i++) {
+               if (hdr_info.int_array.array[i] >= MM_CAMCORDER_HDR_ON) {
                        LOGD("HDR capture supported");
                        return true;
                }
@@ -3408,267 +4055,332 @@ bool camera_attr_is_supported_hdr_capture(camera_h camera){
        return false;
 }
 
-int camera_attr_set_hdr_capture_progress_cb(camera_h camera, camera_attr_hdr_progress_cb callback, void* user_data){
-       if( camera == NULL ){
+
+int camera_attr_set_hdr_capture_progress_cb(camera_h camera, camera_attr_hdr_progress_cb callback, void *user_data)
+{
+       if (camera == NULL) {
                LOGE("INVALID_PARAMETER(0x%08x) - handle", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       if( camera_attr_is_supported_hdr_capture(camera) == false ){
+       if (camera_attr_is_supported_hdr_capture(camera) == false) {
                LOGE("NOT_SUPPORTED(0x%08x)", CAMERA_ERROR_NOT_SUPPORTED);
                return CAMERA_ERROR_NOT_SUPPORTED;
        }
 
-       if( callback == NULL ){
+       if (callback == NULL) {
                LOGE("INVALID_PARAMETER(0x%08x) - callback", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       camera_s * handle = (camera_s*)camera;
-       handle->user_cb[_CAMERA_EVENT_TYPE_HDR_PROGRESS] = (void*)callback;
-       handle->user_data[_CAMERA_EVENT_TYPE_HDR_PROGRESS] = (void*)user_data;
+       camera_s *handle = (camera_s *)camera;
+
+       handle->user_cb[_CAMERA_EVENT_TYPE_HDR_PROGRESS] = (void *)callback;
+       handle->user_data[_CAMERA_EVENT_TYPE_HDR_PROGRESS] = (void *)user_data;
+
        return CAMERA_ERROR_NONE;
 }
 
-int camera_attr_unset_hdr_capture_progress_cb(camera_h camera){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_unset_hdr_capture_progress_cb(camera_h camera)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       if( camera_attr_is_supported_hdr_capture(camera) == false ){
+       if (camera_attr_is_supported_hdr_capture(camera) == false) {
                LOGE("NOT_SUPPORTED(0x%08x)", CAMERA_ERROR_NOT_SUPPORTED);
                return CAMERA_ERROR_NOT_SUPPORTED;
        }
 
-       camera_s * handle = (camera_s*)camera;
-       handle->user_cb[_CAMERA_EVENT_TYPE_HDR_PROGRESS] = (void*)NULL;
-       handle->user_data[_CAMERA_EVENT_TYPE_HDR_PROGRESS] = (void*)NULL;
+       camera_s *handle = (camera_s *)camera;
+
+       handle->user_cb[_CAMERA_EVENT_TYPE_HDR_PROGRESS] = (void *)NULL;
+       handle->user_data[_CAMERA_EVENT_TYPE_HDR_PROGRESS] = (void *)NULL;
 
        return CAMERA_ERROR_NONE;
 }
 
-int camera_attr_enable_anti_shake(camera_h camera, bool enable){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_enable_anti_shake(camera_h camera, bool enable)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       if( camera_attr_is_supported_anti_shake(camera) == false ){
+       if (camera_attr_is_supported_anti_shake(camera) == false) {
                LOGE("NOT_SUPPORTED(0x%08x)", CAMERA_ERROR_NOT_SUPPORTED);
                return CAMERA_ERROR_NOT_SUPPORTED;
        }
 
-       int ret;
+       int ret = MM_ERROR_NONE;
        int mode = MM_CAMCORDER_AHS_OFF;
+       camera_s *handle = (camera_s *)camera;
 
-       if( enable )
+       if (enable) {
                mode = MM_CAMCORDER_AHS_ON;
+       }
 
-       camera_s * handle = (camera_s*)camera;
-       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL, MMCAM_CAMERA_ANTI_HANDSHAKE, mode, NULL);
+       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                         MMCAM_CAMERA_ANTI_HANDSHAKE, mode,
+                                         NULL);
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_is_enabled_anti_shake(camera_h camera , bool *enabled){
-       if( camera == NULL ){
+
+int camera_attr_is_enabled_anti_shake(camera_h camera, bool *enabled)
+{
+       if (camera == NULL) {
                LOGE("INVALID_PARAMETER(0x%08x) - handle", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       if( camera_attr_is_supported_anti_shake(camera) == false ){
+       if (camera_attr_is_supported_anti_shake(camera) == false) {
                LOGE("NOT_SUPPORTED(0x%08x)", CAMERA_ERROR_NOT_SUPPORTED);
                return CAMERA_ERROR_NOT_SUPPORTED;
        }
 
-       if( enabled == NULL ){
+       if (enabled == NULL) {
                LOGE("INVALID_PARAMETER(0x%08x) - enabled", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       int mode = MM_CAMCORDER_AHS_OFF;
-       camera_s * handle = (camera_s*)camera;
-       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL, MMCAM_CAMERA_ANTI_HANDSHAKE, &mode, NULL);
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
 
-       if( ret == MM_ERROR_NONE )
-               *enabled = mode;
+       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
+                                         MMCAM_CAMERA_ANTI_HANDSHAKE, enabled,
+                                         NULL);
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-bool camera_attr_is_supported_anti_shake(camera_h camera){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+bool camera_attr_is_supported_anti_shake(camera_h camera)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return false;
        }
 
-       int i;
-       camera_s * handle = (camera_s*)camera;
+       int i = 0;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo ash_info;
-       int ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_ANTI_HANDSHAKE , &ash_info);
+
+       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_ANTI_HANDSHAKE, &ash_info);
        set_last_result(__convert_camera_error_code(__func__, ret));
+       if (ret != MM_ERROR_NONE) {
+               LOGE("MMCAM_CAMERA_ANTI_HANDSHAKE get attr info failed");
+               return false;
+       }
 
-       for( i=0 ; i < ash_info.int_array.count ; i++ ){
-               if( ash_info.int_array.array[i] == MM_CAMCORDER_AHS_ON )
+       for (i = 0 ; i < ash_info.int_array.count ; i++) {
+               if (ash_info.int_array.array[i] == MM_CAMCORDER_AHS_ON) {
                        return true;
+               }
        }
 
        return false;
 }
 
-int camera_attr_enable_video_stabilization(camera_h camera, bool enable){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_enable_video_stabilization(camera_h camera, bool enable)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       if( camera_attr_is_supported_video_stabilization(camera) == false ){
+       if (camera_attr_is_supported_video_stabilization(camera) == false) {
                LOGE("NOT_SUPPORTED(0x%08x)", CAMERA_ERROR_NOT_SUPPORTED);
                return CAMERA_ERROR_NOT_SUPPORTED;
        }
 
-       int ret;
+       int ret = MM_ERROR_NONE;
        int mode = MM_CAMCORDER_VIDEO_STABILIZATION_OFF;
+       camera_s *handle = (camera_s*)camera;
 
-       if( enable )
+       if (enable) {
                mode = MM_CAMCORDER_VIDEO_STABILIZATION_ON;
+       }
 
-       camera_s * handle = (camera_s*)camera;
-       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL, MMCAM_CAMERA_VIDEO_STABILIZATION, mode, NULL);
+       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                         MMCAM_CAMERA_VIDEO_STABILIZATION, mode,
+                                         NULL);
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_is_enabled_video_stabilization(camera_h camera, bool *enabled){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x) - handle",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_is_enabled_video_stabilization(camera_h camera, bool *enabled)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x) - handle", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       if( camera_attr_is_supported_video_stabilization(camera) == false ){
+       if (camera_attr_is_supported_video_stabilization(camera) == false) {
                LOGE("NOT_SUPPORTED(0x%08x)", CAMERA_ERROR_NOT_SUPPORTED);
                return CAMERA_ERROR_NOT_SUPPORTED;
        }
 
-       if( enabled == NULL ){
+       if (enabled == NULL) {
                LOGE("INVALID_PARAMETER(0x%08x) - enabled", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
+       int ret = MM_ERROR_NONE;
        int mode = MM_CAMCORDER_VIDEO_STABILIZATION_OFF;
-       camera_s * handle = (camera_s*)camera;
-       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL, MMCAM_CAMERA_VIDEO_STABILIZATION, &mode, NULL);
+       camera_s *handle = (camera_s *)camera;
 
-       if( ret == MM_ERROR_NONE )
+       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
+                                         MMCAM_CAMERA_VIDEO_STABILIZATION, &mode,
+                                         NULL);
+       if (ret == MM_ERROR_NONE) {
                *enabled = (mode == MM_CAMCORDER_VIDEO_STABILIZATION_ON);
+       }
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-bool camera_attr_is_supported_video_stabilization(camera_h camera){
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+bool camera_attr_is_supported_video_stabilization(camera_h camera)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return false;
        }
 
-       int i;
-       camera_s * handle = (camera_s*)camera;
+       int i = 0;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo vs_info;
-       int ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_VIDEO_STABILIZATION , &vs_info);
+
+       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_VIDEO_STABILIZATION, &vs_info);
        set_last_result(__convert_camera_error_code(__func__, ret));
+       if (ret != MM_ERROR_NONE) {
+               LOGE("MMCAM_CAMERA_VIDEO_STABILIZATION get attr info failed");
+               return false;
+       }
 
-       for( i=0 ; i < vs_info.int_array.count ; i++ ){
-               if( vs_info.int_array.array[i] == MM_CAMCORDER_VIDEO_STABILIZATION_ON )
+       for (i = 0 ; i < vs_info.int_array.count ; i++) {
+               if (vs_info.int_array.array[i] == MM_CAMCORDER_VIDEO_STABILIZATION_ON) {
                        return true;
+               }
        }
 
        return false;
 }
 
-int camera_attr_enable_auto_contrast(camera_h camera, bool enable){
-       if( camera == NULL ){
+
+int camera_attr_enable_auto_contrast(camera_h camera, bool enable)
+{
+       if (camera == NULL) {
                LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       if( camera_attr_is_supported_auto_contrast(camera) == false ){
+       if (camera_attr_is_supported_auto_contrast(camera) == false) {
                LOGE("NOT_SUPPORTED(0x%08x)", CAMERA_ERROR_NOT_SUPPORTED);
                return CAMERA_ERROR_NOT_SUPPORTED;
        }
 
-       int ret;
+       int ret = MM_ERROR_NONE;
        int mode = MM_CAMCORDER_WDR_OFF;
+       camera_s *handle = (camera_s *)camera;
 
-       if( enable )
+       if (enable) {
                mode = MM_CAMCORDER_WDR_ON;
+       }
 
-       camera_s * handle = (camera_s*)camera;
-       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,  MMCAM_CAMERA_WDR, mode, NULL);
+       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                         MMCAM_CAMERA_WDR, mode,
+                                         NULL);
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-int camera_attr_is_enabled_auto_contrast(camera_h camera, bool *enabled){
-       if( camera == NULL ){
+
+int camera_attr_is_enabled_auto_contrast(camera_h camera, bool *enabled)
+{
+       if (camera == NULL) {
                LOGE("INVALID_PARAMETER(0x%08x) - handle", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       if( camera_attr_is_supported_auto_contrast(camera) == false ){
+       if (camera_attr_is_supported_auto_contrast(camera) == false) {
                LOGE("NOT_SUPPORTED(0x%08x)", CAMERA_ERROR_NOT_SUPPORTED);
                return CAMERA_ERROR_NOT_SUPPORTED;
        }
 
-       if( enabled == NULL ){
+       if (enabled == NULL) {
                LOGE("INVALID_PARAMETER(0x%08x) - enabled", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
+       int ret = MM_ERROR_NONE;
        int mode = MM_CAMCORDER_WDR_OFF;
-       camera_s * handle = (camera_s*)camera;
-       ret = mm_camcorder_get_attributes(handle->mm_handle ,NULL, MMCAM_CAMERA_WDR , &mode, NULL);
+       camera_s *handle = (camera_s *)camera;
 
-       if( ret == MM_ERROR_NONE )
+       ret = mm_camcorder_get_attributes(handle->mm_handle, NULL,
+                                         MMCAM_CAMERA_WDR, &mode,
+                                         NULL);
+
+       if (ret == MM_ERROR_NONE) {
                *enabled = mode;
+       }
 
        return __convert_camera_error_code(__func__, ret);
 }
 
-bool camera_attr_is_supported_auto_contrast(camera_h camera) {
-       if( camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+bool camera_attr_is_supported_auto_contrast(camera_h camera)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return false;
        }
 
-       int i;
-       camera_s * handle = (camera_s*)camera;
+       int i = 0;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
        MMCamAttrsInfo info;
-       int ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_WDR, &info);
+
+       ret = mm_camcorder_get_attribute_info(handle->mm_handle, MMCAM_CAMERA_WDR, &info);
        set_last_result(__convert_camera_error_code(__func__, ret));
+       if (ret != MM_ERROR_NONE) {
+               LOGE("MMCAM_CAMERA_WDR get attr info failed");
+               return false;
+       }
 
-       for( i=0 ; i < info.int_array.count ; i++ )     {
-               if( info.int_array.array[i] == MM_CAMCORDER_WDR_ON )
+       for (i = 0 ; i < info.int_array.count ; i++) {
+               if (info.int_array.array[i] == MM_CAMCORDER_WDR_ON) {
                        return true;
+               }
        }
 
        return false;
 }
 
-int camera_attr_disable_shutter_sound(camera_h camera, bool disable){
-       if (camera == NULL ){
-               LOGE("INVALID_PARAMETER(0x%08x)",CAMERA_ERROR_INVALID_PARAMETER);
+
+int camera_attr_disable_shutter_sound(camera_h camera, bool disable)
+{
+       if (camera == NULL) {
+               LOGE("INVALID_PARAMETER(0x%08x)", CAMERA_ERROR_INVALID_PARAMETER);
                return CAMERA_ERROR_INVALID_PARAMETER;
        }
 
-       int ret;
-       camera_s * handle = (camera_s*)camera;
-       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL, "capture-sound-enable", !disable, NULL);
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
 
-       if( ret != 0 ){
+       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                         "capture-sound-enable", !disable,
+                                         NULL);
+       if (ret != MM_ERROR_NONE) {
                LOGE("CAMERA_ERROR_INVALID_OPERATION : not permitted disable shutter sound");
                return CAMERA_ERROR_INVALID_OPERATION;
        }
index a452f56..026e53c 100644 (file)
@@ -38,46 +38,54 @@ int camera_set_x11_display_rotation(camera_h camera, camera_rotation_e rotation)
        return camera_set_display_rotation(camera, rotation);
 }
 
+
 int camera_get_x11_display_rotation(camera_h camera, camera_rotation_e *rotation)
 {
        return camera_get_display_rotation(camera, rotation);
 }
 
+
 int camera_set_x11_display_flip(camera_h camera, camera_flip_e flip)
 {
        return camera_set_display_flip(camera, flip);
 }
 
+
 int camera_get_x11_display_flip(camera_h camera, camera_flip_e *flip)
 {
        return camera_get_display_flip(camera, flip);
 }
 
+
 int camera_set_x11_display_visible(camera_h camera, bool visible)
 {
        return camera_set_display_visible(camera, visible);
 }
 
-int camera_is_x11_display_visible(camera_h camera, bool* visible)
+
+int camera_is_x11_display_visible(camera_h camera, bool *visible)
 {
        return camera_is_display_visible(camera, visible);
 }
 
+
 int camera_set_x11_display_mode(camera_h camera, camera_display_mode_e mode)
 {
        return camera_set_display_mode(camera, mode);
 }
 
-int camera_get_x11_display_mode(camera_h camera, camera_display_mode_e* mode)
+
+int camera_get_x11_display_mode(camera_h camera, camera_display_mode_e *mode)
 {
        return camera_get_display_mode(camera, mode);
 }
 
+
 int camera_set_x11_display_pixmap(camera_h camera, camera_x11_pixmap_updated_cb callback, void *user_data)
 {
-       int ret;
-       camera_s *handle = (camera_s*)camera;
-       camera_state_e capi_state;
+       int ret = MM_ERROR_NONE;
+       camera_s *handle = (camera_s *)camera;
+       camera_state_e capi_state = CAMERA_STATE_NONE;
 
        if (handle == NULL || callback == NULL) {
                LOGE("INVALID_PARAMETER(handle:%p,callback:%p,user_data:%p)", handle, callback, user_data);
@@ -91,9 +99,9 @@ int camera_set_x11_display_pixmap(camera_h camera, camera_x11_pixmap_updated_cb
        }
 
        ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
-                                         MMCAM_DISPLAY_SURFACE, MM_DISPLAY_SURFACE_X_EXT,
-                                         MMCAM_DISPLAY_HANDLE, callback, sizeof(unsigned int (void *)),
-                                         NULL);
+                                         MMCAM_DISPLAY_SURFACE, MM_DISPLAY_SURFACE_X_EXT,
+                                         MMCAM_DISPLAY_HANDLE, callback, sizeof(void *),
+                                         NULL);
 
        return __convert_camera_error_code(__func__, ret);
 }