/*=======================================================================================
| INCLUDE FILES |
========================================================================================*/
+#include <gst/gst.h>
#include <mm_types.h>
#include <stdarg.h>
/**
* Enumerations for camcorder attribute ID.
*/
-typedef enum
-{
+typedef enum {
MM_CAM_MODE, /* 0 */
MM_CAM_AUDIO_DEVICE,
MM_CAM_CAMERA_DEVICE_COUNT,
MM_CAM_CAMERA_WDR,
MM_CAM_CAMERA_ANTI_HANDSHAKE,
MM_CAM_CAMERA_FPS_AUTO,
- MM_CAM_CAMERA_HOLD_AF_AFTER_CAPTURING,
MM_CAM_CAMERA_DELAY_ATTR_SETTING,
- MM_CAM_AUDIO_ENCODER_BITRATE, /* 40 */
- MM_CAM_VIDEO_ENCODER_BITRATE,
+ MM_CAM_AUDIO_ENCODER_BITRATE,
+ MM_CAM_VIDEO_ENCODER_BITRATE, /* 40 */
MM_CAM_IMAGE_ENCODER_QUALITY,
MM_CAM_CAPTURE_FORMAT,
MM_CAM_CAPTURE_WIDTH,
MM_CAM_CAPTURE_INTERVAL,
MM_CAM_CAPTURE_BREAK_CONTINUOUS_SHOT,
MM_CAM_DISPLAY_HANDLE,
- MM_CAM_DISPLAY_DEVICE, /* 50 */
- MM_CAM_DISPLAY_SURFACE,
+ MM_CAM_DISPLAY_DEVICE,
+ MM_CAM_DISPLAY_SURFACE, /* 50 */
MM_CAM_DISPLAY_RECT_X,
MM_CAM_DISPLAY_RECT_Y,
MM_CAM_DISPLAY_RECT_WIDTH,
MM_CAM_DISPLAY_SOURCE_Y,
MM_CAM_DISPLAY_SOURCE_WIDTH,
MM_CAM_DISPLAY_SOURCE_HEIGHT,
- MM_CAM_DISPLAY_ROTATION, /* 60 */
- MM_CAM_DISPLAY_VISIBLE,
+ MM_CAM_DISPLAY_ROTATION,
+ MM_CAM_DISPLAY_VISIBLE, /* 60 */
MM_CAM_DISPLAY_SCALE,
MM_CAM_DISPLAY_GEOMETRY_METHOD,
MM_CAM_TARGET_FILENAME,
MM_CAM_TAG_ENABLE,
MM_CAM_TAG_IMAGE_DESCRIPTION,
MM_CAM_TAG_ORIENTATION,
- MM_CAM_TAG_SOFTWARE, /* 70 */
- MM_CAM_TAG_LATITUDE,
+ MM_CAM_TAG_SOFTWARE,
+ MM_CAM_TAG_LATITUDE, /* 70 */
MM_CAM_TAG_LONGITUDE,
MM_CAM_TAG_ALTITUDE,
MM_CAM_STROBE_CONTROL,
MM_CAM_DETECT_MODE,
MM_CAM_DETECT_NUMBER,
MM_CAM_DETECT_FOCUS_SELECT,
- MM_CAM_DETECT_SELECT_NUMBER, /* 80 */
- MM_CAM_DETECT_STATUS,
+ MM_CAM_DETECT_SELECT_NUMBER,
+ MM_CAM_DETECT_STATUS, /* 80 */
MM_CAM_CAPTURE_ZERO_SYSTEMLAG,
MM_CAM_CAMERA_AF_TOUCH_X,
MM_CAM_CAMERA_AF_TOUCH_Y,
MM_CAM_CAMERA_FOCAL_LENGTH,
MM_CAM_RECOMMEND_PREVIEW_FORMAT_FOR_CAPTURE,
MM_CAM_RECOMMEND_PREVIEW_FORMAT_FOR_RECORDING,
- MM_CAM_CAPTURE_THUMBNAIL, /* 90 */
MM_CAM_TAG_GPS_ENABLE,
- MM_CAM_TAG_GPS_TIME_STAMP,
+ MM_CAM_TAG_GPS_TIME_STAMP, /* 90 */
MM_CAM_TAG_GPS_DATE_STAMP,
MM_CAM_TAG_GPS_PROCESSING_METHOD,
MM_CAM_CAMERA_ROTATION,
- MM_CAM_ENABLE_CONVERTED_STREAM_CALLBACK,
MM_CAM_CAPTURED_SCREENNAIL,
MM_CAM_CAPTURE_SOUND_ENABLE,
MM_CAM_RECOMMEND_DISPLAY_ROTATION,
- MM_CAM_CAMERA_FLIP, /* 100 */
+ MM_CAM_CAMERA_FLIP,
MM_CAM_CAMERA_HDR_CAPTURE,
MM_CAM_DISPLAY_MODE,
- MM_CAM_CAMERA_FACE_ZOOM_X,
- MM_CAM_CAMERA_FACE_ZOOM_Y,
- MM_CAM_CAMERA_FACE_ZOOM_LEVEL,
- MM_CAM_CAMERA_FACE_ZOOM_MODE,
- MM_CAM_AUDIO_DISABLE,
+ MM_CAM_AUDIO_DISABLE, /* 100 */
MM_CAM_RECOMMEND_CAMERA_WIDTH,
MM_CAM_RECOMMEND_CAMERA_HEIGHT,
- MM_CAM_CAPTURED_EXIF_RAW_DATA, /* 110 */
+ MM_CAM_CAPTURED_EXIF_RAW_DATA,
MM_CAM_DISPLAY_EVAS_SURFACE_SINK,
MM_CAM_DISPLAY_EVAS_DO_SCALING,
MM_CAM_CAMERA_FACING_DIRECTION,
MM_CAM_DISPLAY_FLIP,
MM_CAM_CAMERA_VIDEO_STABILIZATION,
MM_CAM_TAG_VIDEO_ORIENTATION,
- MM_CAM_NUM
-}MMCamcorderAttrsID;
+ MM_CAM_CAMERA_PAN_MECHA, /* 110 */
+ MM_CAM_CAMERA_PAN_ELEC,
+ MM_CAM_CAMERA_TILT_MECHA,
+ MM_CAM_CAMERA_TILT_ELEC,
+ MM_CAM_CAMERA_PTZ_TYPE,
+ MM_CAM_VIDEO_WIDTH,
+ MM_CAM_VIDEO_HEIGHT,
+ MM_CAM_SUPPORT_ZSL_CAPTURE,
+ MM_CAM_SUPPORT_ZERO_COPY_FORMAT,
+ MM_CAM_SUPPORT_MEDIA_PACKET_PREVIEW_CB,
+ MM_CAM_ENCODED_PREVIEW_BITRATE, /* 120 */
+ MM_CAM_ENCODED_PREVIEW_GOP_INTERVAL,
+ MM_CAM_RECORDER_TAG_ENABLE,
+ MM_CAM_DISPLAY_SOCKET_PATH,
+ MM_CAM_PID_FOR_SOUND_FOCUS,
+ MM_CAM_ROOT_DIRECTORY,
+ MM_CAM_SOUND_STREAM_INDEX,
+ MM_CAM_SOUND_STREAM_TYPE,
+ MM_CAM_DISPLAY_REUSE_HINT,
+ MM_CAM_DISPLAY_REUSE_ELEMENT,
+ MM_CAM_GDBUS_CONNECTION, /* 130 */
+ MM_CAM_ATTRIBUTE_NUM
+} MMCamcorderAttrsID;
/*=======================================================================================
| TYPE DEFINITIONS |
double value_double;
} default_value; /* default value */
MMCamAttrsValidType validity_type;
- int validity_value1; /* can be int min, int *array, double *array, or cast to double min. */
- int validity_value2; /* can be int max, int count, int count, or cast to double max. */
+ union {
+ int *int_array;
+ int int_min;
+ double *double_array;
+ double double_min;
+ } validity_value_1;
+ union {
+ int int_max;
+ double double_max;
+ int count;
+ } validity_value_2;
mmf_cam_commit_func_t attr_commit;
} mm_cam_attr_construct_info;
/**
* This function release structure of attributes.
*
+ * @param[in] handle Handle of camcorder.
* @param[in] attrs Handle of camcorder attribute.
* @return void
* @remarks
* @see _mmcamcorder_alloc_attribute()
*
*/
-void _mmcamcorder_dealloc_attribute(MMHandleType attrs);
+void _mmcamcorder_dealloc_attribute(MMHandleType handle, MMHandleType attrs);
/**
* This is a meta function to get attributes of camcorder with given attribute names.
bool _mmcamcorder_commit_audio_volume(MMHandleType handle, int attr_idx, const mmf_value_t *value);
bool _mmcamcorder_commit_audio_input_route(MMHandleType handle, int attr_idx, const mmf_value_t *value);
bool _mmcamcorder_commit_audio_disable(MMHandleType handle, int attr_idx, const mmf_value_t *value);
+bool _mmcamcorder_commit_camera_format(MMHandleType handle, int attr_idx, const mmf_value_t *value);
bool _mmcamcorder_commit_camera_fps(MMHandleType handle, int attr_idx, const mmf_value_t *value);
bool _mmcamcorder_commit_camera_recording_motion_rate(MMHandleType handle, int attr_idx, const mmf_value_t *value);
bool _mmcamcorder_commit_camera_width(MMHandleType handle, int attr_idx, const mmf_value_t *value);
bool _mmcamcorder_commit_camera_height(MMHandleType handle, int attr_idx, const mmf_value_t *value);
+bool _mmcamcorder_commit_video_size(MMHandleType handle, int attr_idx, const mmf_value_t *value);
bool _mmcamcorder_commit_camera_zoom(MMHandleType handle, int attr_idx, const mmf_value_t *value);
+bool _mmcamcorder_commit_camera_ptz_type(MMHandleType handle, int attr_idx, const mmf_value_t *value);
+bool _mmcamcorder_commit_camera_pan(MMHandleType handle, int attr_idx, const mmf_value_t *value);
+bool _mmcamcorder_commit_camera_tilt(MMHandleType handle, int attr_idx, const mmf_value_t *value);
bool _mmcamcorder_commit_camera_focus_mode(MMHandleType handle, int attr_idx, const mmf_value_t *value);
bool _mmcamcorder_commit_camera_af_scan_range(MMHandleType handle, int attr_idx, const mmf_value_t *value);
bool _mmcamcorder_commit_camera_af_touch_area(MMHandleType handle, int attr_idx, const mmf_value_t *value);
bool _mmcamcorder_commit_camera_wdr(MMHandleType handle, int attr_idx, const mmf_value_t *value);
bool _mmcamcorder_commit_camera_anti_handshake(MMHandleType handle, int attr_idx, const mmf_value_t *value);
bool _mmcamcorder_commit_camera_video_stabilization(MMHandleType handle, int attr_idx, const mmf_value_t *value);
-bool _mmcamcorder_commit_camera_hold_af_after_capturing(MMHandleType handle, int attr_idx, const mmf_value_t *value);
bool _mmcamcorder_commit_camera_rotate(MMHandleType handle, int attr_idx, const mmf_value_t *value);
-bool _mmcamcorder_commit_camera_face_zoom(MMHandleType handle, int attr_idx, const mmf_value_t *value);
bool _mmcamcorder_commit_image_encoder_quality(MMHandleType handle, int attr_idx, const mmf_value_t *value);
bool _mmcamcorder_commit_target_filename(MMHandleType handle, int attr_idx, const mmf_value_t *value);
+bool _mmcamcorder_commit_encoder_bitrate(MMHandleType handle, int attr_idx, const mmf_value_t *value);
+bool _mmcamcorder_commit_recording_max_limit(MMHandleType handle, int attr_idx, const mmf_value_t *value);
bool _mmcamcorder_commit_filter(MMHandleType handle, int attr_idx, const mmf_value_t *value);
bool _mmcamcorder_commit_filter_scene_mode(MMHandleType handle, int attr_idx, const mmf_value_t *value);
bool _mmcamcorder_commit_filter_flip(MMHandleType handle, int attr_idx, const mmf_value_t *value);
bool _mmcamcorder_commit_detect(MMHandleType handle, int attr_idx, const mmf_value_t *value);
bool _mmcamcorder_commit_camera_flip(MMHandleType handle, int attr_idx, const mmf_value_t *value);
bool _mmcamcorder_commit_camera_hdr_capture(MMHandleType handle, int attr_idx, const mmf_value_t *value);
+bool _mmcamcorder_commit_encoded_preview_bitrate(MMHandleType handle, int attr_idx, const mmf_value_t *value);
+bool _mmcamcorder_commit_encoded_preview_gop_interval(MMHandleType handle, int attr_idx, const mmf_value_t *value);
+bool _mmcamcorder_commit_pid_for_sound_focus(MMHandleType handle, int attr_idx, const mmf_value_t *value);
+bool _mmcamcorder_commit_sound_stream_info(MMHandleType handle, int attr_idx, const mmf_value_t *value);
+bool _mmcamcorder_commit_tag(MMHandleType handle, int attr_idx, const mmf_value_t *value);
+
/**
* This function initialize effect setting.
* @return bool Success on TRUE or return FALSE
*/
bool _mmcamcorder_set_attribute_to_camsensor(MMHandleType handle);
+bool _mmcamcorder_set_attribute_to_camsensor2(MMHandleType handle);
/**
* This function removes writable flag from pre-defined attributes.