X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fmm_camcorder_attribute.c;h=39c3ac46e216cd8a159a9260af4d17ca7285de80;hb=60a19067caf665ae3612c96456dc0ce358e4fa73;hp=e6c056ae5151bd7ad3c95f63617195a7826414ff;hpb=3e99440e80d0ccf5bb33ab747a4ee7a9b9c69f01;p=platform%2Fcore%2Fmultimedia%2Flibmm-camcorder.git diff --git a/src/mm_camcorder_attribute.c b/src/mm_camcorder_attribute.c index e6c056a..39c3ac4 100644 --- a/src/mm_camcorder_attribute.c +++ b/src/mm_camcorder_attribute.c @@ -29,7 +29,6 @@ #include #include #include -#include /*----------------------------------------------------------------------- | MACRO DEFINITIONS: | @@ -38,6 +37,7 @@ #define MMCAMCORDER_DEFAULT_CAMERA_HEIGHT 480 #define MMCAMCORDER_DEFAULT_ENCODED_PREVIEW_BITRATE (1024*1024*10) #define MMCAMCORDER_DEFAULT_ENCODED_PREVIEW_GOP_INTERVAL 1000 +#define MMCAMCORDER_DEFAULT_REPLAY_GAIN_REFERENCE_LEVEL 89.0 /*--------------------------------------------------------------------------------------- | GLOBAL VARIABLE DEFINITIONS for internal | @@ -72,7 +72,6 @@ static int readonly_attributes[] = { static bool __mmcamcorder_set_capture_resolution(MMHandleType handle, int width, int height); static int __mmcamcorder_set_conf_to_valid_info(MMHandleType handle); static int __mmcamcorder_release_conf_valid_info(MMHandleType handle); -static bool __mmcamcorder_attrs_is_supported(MMHandleType handle, int idx); static int __mmcamcorder_check_valid_pair(MMHandleType handle, char **err_attr_name, const char *attribute_name, va_list var_args); /*======================================================================= @@ -82,15 +81,16 @@ static int __mmcamcorder_check_valid_pair(MMHandleType handle, char **err_attr_ | GLOBAL FUNCTION DEFINITIONS: | -----------------------------------------------------------------------*/ MMHandleType -_mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) +_mmcamcorder_alloc_attribute(MMHandleType handle) { _mmcam_dbg_log(""); mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); - MMHandleType attrs = 0; - mmf_attrs_construct_info_t *attrs_const_info = NULL; + MMHandleType attrs = NULL; + MMAttrsConstructInfo *attrs_const_info; unsigned int attr_count = 0; unsigned int idx; + int ret = MM_ERROR_NONE; static int depth[] = {MM_CAMCORDER_AUDIO_FORMAT_PCM_U8, MM_CAMCORDER_AUDIO_FORMAT_PCM_S16_LE}; static int flip_list[] = { MM_FLIP_NONE }; @@ -115,9 +115,9 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) /* Create attribute constructor */ _mmcam_dbg_log("start"); - /* alloc 'mmf_attrs_construct_info_t' */ + /* alloc 'MMAttrsConstructInfo' */ attr_count = MM_CAM_ATTRIBUTE_NUM; - attrs_const_info = malloc(attr_count * sizeof(mmf_attrs_construct_info_t)); + attrs_const_info = malloc(attr_count * sizeof(MMAttrsConstructInfo)); if (!attrs_const_info) { _mmcam_dbg_err("Fail to alloc constructor."); return 0; @@ -138,7 +138,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_MODE, /* ID */ "mode", /* Name */ - MMF_VALUE_TYPE_INT, /* Type */ + MM_ATTRS_TYPE_INT, /* Type */ MM_ATTRS_FLAG_RW, /* Flag */ {(void*)MM_CAMCORDER_MODE_VIDEO_CAPTURE}, /* Default value */ MM_ATTRS_VALID_TYPE_INT_RANGE, /* Validity type */ @@ -149,7 +149,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_AUDIO_DEVICE, "audio-device", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_AUDIO_DEVICE_MIC}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -160,7 +160,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_DEVICE_COUNT, "camera-device-count", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_VIDEO_DEVICE_NUM}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -171,7 +171,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_AUDIO_ENCODER, "audio-encoder", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_AUDIO_CODEC_AMR}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -182,7 +182,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_VIDEO_ENCODER, "video-encoder", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_VIDEO_CODEC_MPEG4}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -193,7 +193,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_IMAGE_ENCODER, "image-encoder", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_IMAGE_CODEC_JPEG}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -204,7 +204,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_FILE_FORMAT, "file-format", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_FILE_FORMAT_MP4}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -215,9 +215,9 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_DEVICE_NAME, "camera-device-name", - MMF_VALUE_TYPE_STRING, + MM_ATTRS_TYPE_STRING, MM_ATTRS_FLAG_RW, - {(void*)NULL}, + {NULL}, MM_ATTRS_VALID_TYPE_NONE, {0}, {0}, @@ -226,7 +226,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_AUDIO_SAMPLERATE, "audio-samplerate", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)8000}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -237,7 +237,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_AUDIO_FORMAT, "audio-format", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_CAMCORDER_AUDIO_FORMAT_PCM_S16_LE}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -249,7 +249,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_AUDIO_CHANNEL, "audio-channel", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)2}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -260,9 +260,9 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_AUDIO_VOLUME, "audio-volume", - MMF_VALUE_TYPE_DOUBLE, + MM_ATTRS_TYPE_DOUBLE, MM_ATTRS_FLAG_RW, - {(void*)1}, + {.value_double = 1.0}, MM_ATTRS_VALID_TYPE_DOUBLE_RANGE, {.double_min = 0.0}, {.double_max = 10.0}, @@ -271,7 +271,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_AUDIO_INPUT_ROUTE, "audio-input-route", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_AUDIOROUTE_USE_EXTERNAL_SETTING}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -282,7 +282,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_FILTER_SCENE_MODE, "filter-scene-mode", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -293,7 +293,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_FILTER_BRIGHTNESS, "filter-brightness", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)1}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -304,7 +304,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_FILTER_CONTRAST, "filter-contrast", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -315,7 +315,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_FILTER_WB, "filter-wb", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -326,7 +326,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_FILTER_COLOR_TONE, "filter-color-tone", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -337,7 +337,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_FILTER_SATURATION, "filter-saturation", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -348,7 +348,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_FILTER_HUE, "filter-hue", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -360,7 +360,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_FILTER_SHARPNESS, "filter-sharpness", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -371,7 +371,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_FORMAT, "camera-format", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_PIXEL_FORMAT_YUYV}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -382,9 +382,9 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_RECORDING_MOTION_RATE, "camera-recording-motion-rate", - MMF_VALUE_TYPE_DOUBLE, + MM_ATTRS_TYPE_DOUBLE, MM_ATTRS_FLAG_RW, - {(void*)1}, + {.value_double = 1.0}, MM_ATTRS_VALID_TYPE_DOUBLE_RANGE, {.double_min = 0.0}, {.double_max = _MMCAMCORDER_MAX_DOUBLE}, @@ -393,7 +393,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_FPS, "camera-fps", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)30}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -404,7 +404,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_WIDTH, "camera-width", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MMCAMCORDER_DEFAULT_CAMERA_WIDTH}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -415,7 +415,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_HEIGHT, "camera-height", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MMCAMCORDER_DEFAULT_CAMERA_HEIGHT}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -426,7 +426,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_DIGITAL_ZOOM, "camera-digital-zoom", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)10}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -437,7 +437,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_OPTICAL_ZOOM, "camera-optical-zoom", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -448,7 +448,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_FOCUS_MODE, "camera-focus-mode", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_CAMCORDER_FOCUS_MODE_NONE}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -459,7 +459,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_AF_SCAN_RANGE, "camera-af-scan-range", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -471,7 +471,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_EXPOSURE_MODE, "camera-exposure-mode", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -482,7 +482,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_EXPOSURE_VALUE, "camera-exposure-value", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -493,7 +493,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_F_NUMBER, "camera-f-number", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -504,7 +504,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_SHUTTER_SPEED, "camera-shutter-speed", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -515,7 +515,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_ISO, "camera-iso", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -526,7 +526,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_WDR, "camera-wdr", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -537,7 +537,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_ANTI_HANDSHAKE, "camera-anti-handshake", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -548,7 +548,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_FPS_AUTO, "camera-fps-auto", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)FALSE}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -559,7 +559,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_DELAY_ATTR_SETTING, "camera-delay-attr-setting", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)FALSE}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -570,7 +570,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_AUDIO_ENCODER_BITRATE, "audio-encoder-bitrate", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -582,7 +582,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_VIDEO_ENCODER_BITRATE, "video-encoder-bitrate", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -593,7 +593,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_IMAGE_ENCODER_QUALITY, "image-encoder-quality", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)95}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -604,7 +604,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAPTURE_FORMAT, "capture-format", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_PIXEL_FORMAT_ENCODED}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -615,7 +615,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAPTURE_WIDTH, "capture-width", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)1600}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -626,7 +626,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAPTURE_HEIGHT, "capture-height", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)1200}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -637,7 +637,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAPTURE_COUNT, "capture-count", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)1}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -648,7 +648,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAPTURE_INTERVAL, "capture-interval", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -659,7 +659,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAPTURE_BREAK_CONTINUOUS_SHOT, "capture-break-cont-shot", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)FALSE}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -670,9 +670,9 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DISPLAY_HANDLE, "display-handle", - MMF_VALUE_TYPE_DATA, + MM_ATTRS_TYPE_DATA, MM_ATTRS_FLAG_RW, - {(void*)NULL}, + {NULL}, MM_ATTRS_VALID_TYPE_NONE, {0}, {0}, @@ -681,7 +681,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DISPLAY_DEVICE, "display-device", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_DISPLAY_DEVICE_MAINLCD}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -693,7 +693,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DISPLAY_SURFACE, "display-surface", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_DISPLAY_SURFACE_OVERLAY}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -704,7 +704,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DISPLAY_RECT_X, "display-rect-x", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -715,7 +715,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DISPLAY_RECT_Y, "display-rect-y", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -726,7 +726,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DISPLAY_RECT_WIDTH, "display-rect-width", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -737,7 +737,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DISPLAY_RECT_HEIGHT, "display-rect-height", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -748,7 +748,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DISPLAY_SOURCE_X, "display-src-x", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -759,7 +759,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DISPLAY_SOURCE_Y, "display-src-y", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -770,7 +770,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DISPLAY_SOURCE_WIDTH, "display-src-width", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -781,7 +781,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DISPLAY_SOURCE_HEIGHT, "display-src-height", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -792,7 +792,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DISPLAY_ROTATION, "display-rotation", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_DISPLAY_ROTATION_NONE}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -804,7 +804,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DISPLAY_VISIBLE, "display-visible", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)1}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -815,7 +815,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DISPLAY_SCALE, "display-scale", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -826,7 +826,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DISPLAY_GEOMETRY_METHOD, "display-geometry-method", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -837,9 +837,9 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_TARGET_FILENAME, "target-filename", - MMF_VALUE_TYPE_STRING, + MM_ATTRS_TYPE_STRING, MM_ATTRS_FLAG_RW, - {(void*)NULL}, + {NULL}, MM_ATTRS_VALID_TYPE_NONE, {0}, {0}, @@ -848,7 +848,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_TARGET_MAX_SIZE, "target-max-size", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -859,7 +859,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_TARGET_TIME_LIMIT, "target-time-limit", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -870,7 +870,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_TAG_ENABLE, "tag-enable", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -881,9 +881,9 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_TAG_IMAGE_DESCRIPTION, "tag-image-description", - MMF_VALUE_TYPE_STRING, + MM_ATTRS_TYPE_STRING, MM_ATTRS_FLAG_RW, - {(void*)NULL}, + {NULL}, MM_ATTRS_VALID_TYPE_NONE, {0}, {0}, @@ -892,7 +892,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_TAG_ORIENTATION, "tag-orientation", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)1}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -903,9 +903,9 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_TAG_SOFTWARE, "tag-software", - MMF_VALUE_TYPE_STRING, + MM_ATTRS_TYPE_STRING, MM_ATTRS_FLAG_RW, - {(void*)NULL}, + {NULL}, MM_ATTRS_VALID_TYPE_NONE, {0}, {0}, @@ -915,9 +915,9 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_TAG_LATITUDE, "tag-latitude", - MMF_VALUE_TYPE_DOUBLE, + MM_ATTRS_TYPE_DOUBLE, MM_ATTRS_FLAG_RW, - {(void*)0}, + {.value_double = 0.0}, MM_ATTRS_VALID_TYPE_DOUBLE_RANGE, {.double_min = -360.0}, {.double_max = 360.0}, @@ -926,9 +926,9 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_TAG_LONGITUDE, "tag-longitude", - MMF_VALUE_TYPE_DOUBLE, + MM_ATTRS_TYPE_DOUBLE, MM_ATTRS_FLAG_RW, - {(void*)0}, + {.value_double = 0.0}, MM_ATTRS_VALID_TYPE_DOUBLE_RANGE, {.double_min = -360.0}, {.double_max = 360.0}, @@ -937,9 +937,9 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_TAG_ALTITUDE, "tag-altitude", - MMF_VALUE_TYPE_DOUBLE, + MM_ATTRS_TYPE_DOUBLE, MM_ATTRS_FLAG_RW, - {(void*)0}, + {.value_double = 0.0}, MM_ATTRS_VALID_TYPE_DOUBLE_RANGE, {.double_min = -999999.0}, {.double_max = 999999.0}, @@ -948,7 +948,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_STROBE_CONTROL, "strobe-control", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -959,7 +959,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_STROBE_CAPABILITIES, "strobe-capabilities", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -970,7 +970,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_STROBE_MODE, "strobe-mode", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -981,7 +981,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DETECT_MODE, "detect-mode", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -992,7 +992,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DETECT_NUMBER, "detect-number", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1003,7 +1003,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DETECT_FOCUS_SELECT, "detect-focus-select", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1014,7 +1014,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DETECT_SELECT_NUMBER, "detect-select-number", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1026,7 +1026,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DETECT_STATUS, "detect-status", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -1037,7 +1037,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAPTURE_ZERO_SYSTEMLAG, "capture-zero-systemlag", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)FALSE}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1048,7 +1048,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_AF_TOUCH_X, "camera-af-touch-x", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1059,7 +1059,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_AF_TOUCH_Y, "camera-af-touch-y", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1070,7 +1070,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_AF_TOUCH_WIDTH, "camera-af-touch-width", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1081,7 +1081,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_AF_TOUCH_HEIGHT, "camera-af-touch-height", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1092,9 +1092,9 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_FOCAL_LENGTH, "camera-focal-length", - MMF_VALUE_TYPE_DOUBLE, + MM_ATTRS_TYPE_DOUBLE, MM_ATTRS_FLAG_RW, - {(void*)0}, + {.value_double = 0.0}, MM_ATTRS_VALID_TYPE_DOUBLE_RANGE, {.double_min = 0.0}, {.double_max = 1000.0}, @@ -1103,7 +1103,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_RECOMMEND_PREVIEW_FORMAT_FOR_CAPTURE, "recommend-preview-format-for-capture", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_PIXEL_FORMAT_YUYV}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1114,7 +1114,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_RECOMMEND_PREVIEW_FORMAT_FOR_RECORDING, "recommend-preview-format-for-recording", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_PIXEL_FORMAT_NV12}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1125,7 +1125,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_TAG_GPS_ENABLE, "tag-gps-enable", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)FALSE}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1137,9 +1137,9 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_TAG_GPS_TIME_STAMP, "tag-gps-time-stamp", - MMF_VALUE_TYPE_DOUBLE, + MM_ATTRS_TYPE_DOUBLE, MM_ATTRS_FLAG_RW, - {(void*)0}, + {.value_double = 0.0}, MM_ATTRS_VALID_TYPE_NONE, {0}, {0}, @@ -1148,9 +1148,9 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_TAG_GPS_DATE_STAMP, "tag-gps-date-stamp", - MMF_VALUE_TYPE_STRING, + MM_ATTRS_TYPE_STRING, MM_ATTRS_FLAG_RW, - {(void*)NULL}, + {NULL}, MM_ATTRS_VALID_TYPE_NONE, {0}, {0}, @@ -1159,9 +1159,9 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_TAG_GPS_PROCESSING_METHOD, "tag-gps-processing-method", - MMF_VALUE_TYPE_STRING, + MM_ATTRS_TYPE_STRING, MM_ATTRS_FLAG_RW, - {(void*)NULL}, + {NULL}, MM_ATTRS_VALID_TYPE_NONE, {0}, {0}, @@ -1170,7 +1170,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_ROTATION, "camera-rotation", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_VIDEO_INPUT_ROTATION_NONE}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -1181,9 +1181,9 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAPTURED_SCREENNAIL, "captured-screennail", - MMF_VALUE_TYPE_DATA, - MM_ATTRS_FLAG_READABLE, - {(void*)NULL}, + MM_ATTRS_TYPE_DATA, + MM_ATTRS_FLAG_RW, + {NULL}, MM_ATTRS_VALID_TYPE_NONE, {0}, {0}, @@ -1192,7 +1192,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAPTURE_SOUND_ENABLE, "capture-sound-enable", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)TRUE}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1203,7 +1203,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_RECOMMEND_DISPLAY_ROTATION, "recommend-display-rotation", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_DISPLAY_ROTATION_270}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1214,7 +1214,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_FLIP, "camera-flip", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_FLIP_NONE}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -1225,7 +1225,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_HDR_CAPTURE, "camera-hdr-capture", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)FALSE}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -1236,7 +1236,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DISPLAY_MODE, "display-mode", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_DISPLAY_MODE_DEFAULT}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -1248,7 +1248,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_AUDIO_DISABLE, "audio-disable", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)FALSE}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1259,7 +1259,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_RECOMMEND_CAMERA_WIDTH, "recommend-camera-width", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MMCAMCORDER_DEFAULT_CAMERA_WIDTH}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -1270,7 +1270,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_RECOMMEND_CAMERA_HEIGHT, "recommend-camera-height", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MMCAMCORDER_DEFAULT_CAMERA_HEIGHT}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -1281,9 +1281,9 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAPTURED_EXIF_RAW_DATA, "captured-exif-raw-data", - MMF_VALUE_TYPE_DATA, - MM_ATTRS_FLAG_READABLE, - {(void*)NULL}, + MM_ATTRS_TYPE_DATA, + MM_ATTRS_FLAG_RW, + {NULL}, MM_ATTRS_VALID_TYPE_NONE, {0}, {0}, @@ -1292,9 +1292,9 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DISPLAY_EVAS_SURFACE_SINK, "display-evas-surface-sink", - MMF_VALUE_TYPE_STRING, - MM_ATTRS_FLAG_READABLE, - {(void*)NULL}, + MM_ATTRS_TYPE_STRING, + MM_ATTRS_FLAG_RW, + {NULL}, MM_ATTRS_VALID_TYPE_NONE, {0}, {0}, @@ -1303,7 +1303,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DISPLAY_EVAS_DO_SCALING, "display-evas-do-scaling", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)TRUE}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1314,7 +1314,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_FACING_DIRECTION, "camera-facing-direction", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_CAMCORDER_CAMERA_FACING_DIRECTION_REAR}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1325,7 +1325,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DISPLAY_FLIP, "display-flip", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_FLIP_NONE}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1336,7 +1336,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_VIDEO_STABILIZATION, "camera-video-stabilization", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_CAMCORDER_VIDEO_STABILIZATION_OFF}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -1347,7 +1347,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_TAG_VIDEO_ORIENTATION, "tag-video-orientation", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MM_CAMCORDER_TAG_VIDEO_ORT_NONE}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1359,7 +1359,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_PAN_MECHA, "camera-pan-mecha", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1370,7 +1370,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_PAN_ELEC, "camera-pan-elec", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1381,7 +1381,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_TILT_MECHA, "camera-tilt-mecha", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1392,7 +1392,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_TILT_ELEC, "camera-tilt-elec", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1403,7 +1403,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_CAMERA_PTZ_TYPE, "camera-ptz-type", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -1414,7 +1414,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_VIDEO_WIDTH, "video-width", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -1425,7 +1425,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_VIDEO_HEIGHT, "video-height", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_ARRAY, @@ -1436,7 +1436,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_SUPPORT_ZSL_CAPTURE, "support-zsl-capture", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)FALSE}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1447,7 +1447,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_SUPPORT_ZERO_COPY_FORMAT, "support-zero-copy-format", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)FALSE}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1458,7 +1458,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_SUPPORT_MEDIA_PACKET_PREVIEW_CB, "support-media-packet-preview-cb", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)FALSE}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1470,7 +1470,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_ENCODED_PREVIEW_BITRATE, "encoded-preview-bitrate", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MMCAMCORDER_DEFAULT_ENCODED_PREVIEW_BITRATE}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1481,7 +1481,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_ENCODED_PREVIEW_GOP_INTERVAL, "encoded-preview-gop-interval", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)MMCAMCORDER_DEFAULT_ENCODED_PREVIEW_GOP_INTERVAL}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1492,7 +1492,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_RECORDER_TAG_ENABLE, "recorder-tag-enable", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)FALSE}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1503,31 +1503,31 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DISPLAY_SOCKET_PATH, "display-socket-path", - MMF_VALUE_TYPE_STRING, + MM_ATTRS_TYPE_STRING, MM_ATTRS_FLAG_RW, - {(void*)NULL}, + {NULL}, MM_ATTRS_VALID_TYPE_NONE, {0}, {0}, NULL, }, { - MM_CAM_PID_FOR_SOUND_FOCUS, - "pid-for-sound-focus", - MMF_VALUE_TYPE_INT, + MM_CAM_CLIENT_PID, + "client-pid", + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)0}, MM_ATTRS_VALID_TYPE_INT_RANGE, {.int_min = 0}, {.int_max = _MMCAMCORDER_MAX_INT}, - _mmcamcorder_commit_pid_for_sound_focus, + NULL, }, { MM_CAM_ROOT_DIRECTORY, "root-directory", - MMF_VALUE_TYPE_STRING, + MM_ATTRS_TYPE_STRING, MM_ATTRS_FLAG_RW, - {(void*)NULL}, + {NULL}, MM_ATTRS_VALID_TYPE_NONE, {0}, {0}, @@ -1536,7 +1536,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_SOUND_STREAM_INDEX, "sound-stream-index", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)-1}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1547,9 +1547,9 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_SOUND_STREAM_TYPE, "sound-stream-type", - MMF_VALUE_TYPE_STRING, + MM_ATTRS_TYPE_STRING, MM_ATTRS_FLAG_RW, - {(void*)NULL}, + {NULL}, MM_ATTRS_VALID_TYPE_NONE, {0}, {0}, @@ -1558,7 +1558,7 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DISPLAY_REUSE_HINT, "display-reuse-hint", - MMF_VALUE_TYPE_INT, + MM_ATTRS_TYPE_INT, MM_ATTRS_FLAG_RW, {(void*)FALSE}, MM_ATTRS_VALID_TYPE_INT_RANGE, @@ -1569,9 +1569,9 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_DISPLAY_REUSE_ELEMENT, "display-reuse-element", - MMF_VALUE_TYPE_DATA, + MM_ATTRS_TYPE_DATA, MM_ATTRS_FLAG_RW, - {(void*)NULL}, + {NULL}, MM_ATTRS_VALID_TYPE_NONE, {0}, {0}, @@ -1580,9 +1580,53 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) { MM_CAM_GDBUS_CONNECTION, "gdbus-connection", - MMF_VALUE_TYPE_DATA, + MM_ATTRS_TYPE_DATA, MM_ATTRS_FLAG_RW, - {(void*)NULL}, + {NULL}, + MM_ATTRS_VALID_TYPE_NONE, + {0}, + {0}, + NULL, + }, + { + MM_CAM_AUDIO_REPLAY_GAIN_ENABLE, + "audio-replay-gain-enable", + MM_ATTRS_TYPE_INT, + MM_ATTRS_FLAG_RW, + {(void*)FALSE}, + MM_ATTRS_VALID_TYPE_INT_RANGE, + {.int_min = 0}, + {.int_max = 1}, + _mmcamcorder_commit_audio_replay_gain, + }, + { + MM_CAM_AUDIO_REPLAY_GAIN_REFERENCE_LEVEL, + "audio-replay-gain-reference-level", + MM_ATTRS_TYPE_DOUBLE, + MM_ATTRS_FLAG_RW, + {.value_double = MMCAMCORDER_DEFAULT_REPLAY_GAIN_REFERENCE_LEVEL}, + MM_ATTRS_VALID_TYPE_DOUBLE_RANGE, + {.double_min = 0.0}, + {.double_max = 150.0}, + _mmcamcorder_commit_audio_replay_gain, + }, + { + MM_CAM_SUPPORT_USER_BUFFER, + "support-user-buffer", + MM_ATTRS_TYPE_INT, + MM_ATTRS_FLAG_RW, + {(void*)FALSE}, + MM_ATTRS_VALID_TYPE_INT_RANGE, + {.int_min = FALSE}, + {.int_max = TRUE}, + NULL, + }, + { + MM_CAM_USER_BUFFER_FD, + "user-buffer-fd", + MM_ATTRS_TYPE_DATA, + MM_ATTRS_FLAG_RW, + {NULL}, MM_ATTRS_VALID_TYPE_NONE, {0}, {0}, @@ -1612,16 +1656,17 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) /* Camcorder Attributes */ _mmcam_dbg_log("Create Camcorder Attributes[%p, %d]", attrs_const_info, attr_count); - attrs = mmf_attrs_new_from_data("Camcorder_Attributes", - attrs_const_info, + ret = mm_attrs_new(attrs_const_info, attr_count, + "Camcorder_Attributes", _mmcamcorder_commit_camcorder_attrs, - (void *)handle); + (void *)handle, + &attrs); free(attrs_const_info); attrs_const_info = NULL; - if (attrs == 0) { + if (ret != MM_ERROR_NONE) { _mmcam_dbg_err("Fail to alloc attribute handle"); free(hcamcorder->cam_attrs_const_info); hcamcorder->cam_attrs_const_info = NULL; @@ -1631,41 +1676,45 @@ _mmcamcorder_alloc_attribute(MMHandleType handle, MMCamPreset *info) __mmcamcorder_set_conf_to_valid_info(handle); for (idx = 0; idx < attr_count; idx++) { -/* _mmcam_dbg_log("Valid type [%s:%d, %d, %d]", cam_attrs_const_info[idx].name, cam_attrs_const_info[idx].validity_type - , cam_attrs_const_info[idx].validity_value1, cam_attrs_const_info[idx].validity_value2); + mm_cam_attr_construct_info *attr_info = &hcamcorder->cam_attrs_const_info[idx]; + +/* + _mmcam_dbg_log("Valid type [%s:%d, %d, %d]", + attr_info->name, attr_info->validity_type, + attr_info->validity_value1, attr_info->validity_value2); */ - mmf_attrs_set_valid_type(attrs, idx, hcamcorder->cam_attrs_const_info[idx].validity_type); + mm_attrs_set_valid_type(attrs, idx, attr_info->validity_type); - switch (hcamcorder->cam_attrs_const_info[idx].validity_type) { + switch (attr_info->validity_type) { case MM_ATTRS_VALID_TYPE_INT_ARRAY: - if (hcamcorder->cam_attrs_const_info[idx].validity_value_1.int_array && - hcamcorder->cam_attrs_const_info[idx].validity_value_2.count > 0) { - mmf_attrs_set_valid_array(attrs, idx, - (const int *)(hcamcorder->cam_attrs_const_info[idx].validity_value_1.int_array), - hcamcorder->cam_attrs_const_info[idx].validity_value_2.count, - hcamcorder->cam_attrs_const_info[idx].default_value.value_int); + if (attr_info->validity_value_1.int_array && + attr_info->validity_value_2.count > 0) { + mm_attrs_set_valid_array(attrs, idx, + (const int *)(attr_info->validity_value_1.int_array), + attr_info->validity_value_2.count, + attr_info->default_value.value_int); } break; case MM_ATTRS_VALID_TYPE_INT_RANGE: - mmf_attrs_set_valid_range(attrs, idx, - hcamcorder->cam_attrs_const_info[idx].validity_value_1.int_min, - hcamcorder->cam_attrs_const_info[idx].validity_value_2.int_max, - hcamcorder->cam_attrs_const_info[idx].default_value.value_int); + mm_attrs_set_valid_range(attrs, idx, + attr_info->validity_value_1.int_min, + attr_info->validity_value_2.int_max, + attr_info->default_value.value_int); break; case MM_ATTRS_VALID_TYPE_DOUBLE_ARRAY: - if (hcamcorder->cam_attrs_const_info[idx].validity_value_1.double_array && - hcamcorder->cam_attrs_const_info[idx].validity_value_2.count > 0) { - mmf_attrs_set_valid_double_array(attrs, idx, - (const double *)(hcamcorder->cam_attrs_const_info[idx].validity_value_1.double_array), - hcamcorder->cam_attrs_const_info[idx].validity_value_2.count, - hcamcorder->cam_attrs_const_info[idx].default_value.value_double); + if (attr_info->validity_value_1.double_array && + attr_info->validity_value_2.count > 0) { + mm_attrs_set_valid_double_array(attrs, idx, + (const double *)(attr_info->validity_value_1.double_array), + attr_info->validity_value_2.count, + attr_info->default_value.value_double); } break; case MM_ATTRS_VALID_TYPE_DOUBLE_RANGE: - mmf_attrs_set_valid_double_range(attrs, idx, - hcamcorder->cam_attrs_const_info[idx].validity_value_1.double_min, - hcamcorder->cam_attrs_const_info[idx].validity_value_2.double_max, - hcamcorder->cam_attrs_const_info[idx].default_value.value_double); + mm_attrs_set_valid_double_range(attrs, idx, + attr_info->validity_value_1.double_min, + attr_info->validity_value_2.double_max, + attr_info->default_value.value_double); break; case MM_ATTRS_VALID_TYPE_NONE: break; @@ -1695,7 +1744,7 @@ _mmcamcorder_dealloc_attribute(MMHandleType handle, MMHandleType attrs) _mmcam_dbg_log(""); if (attrs) { - mmf_attrs_free(attrs); + mm_attrs_free(attrs); _mmcam_dbg_log("released attribute"); } @@ -1704,6 +1753,8 @@ _mmcamcorder_dealloc_attribute(MMHandleType handle, MMHandleType attrs) hcamcorder->cam_attrs_const_info = NULL; _mmcam_dbg_log("released attribute info"); } + + return; } @@ -1730,11 +1781,12 @@ _mmcamcorder_set_attributes(MMHandleType handle, char **err_attr_name, const cha { MMHandleType attrs = 0; int ret = MM_ERROR_NONE; + int err_index = 0; + char *tmp_err_attr_name = NULL; mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); va_list var_args_copy; mmf_return_val_if_fail(handle, MM_ERROR_CAMCORDER_INVALID_ARGUMENT); - /*mmf_return_val_if_fail(err_attr_name, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);*/ if (!_MMCAMCORDER_TRYLOCK_CMD(handle)) { _mmcam_dbg_err("Another command is running."); @@ -1746,16 +1798,16 @@ _mmcamcorder_set_attributes(MMHandleType handle, char **err_attr_name, const cha attrs = MMF_CAMCORDER_ATTRS(handle); if (attrs) { - ret = __mmcamcorder_check_valid_pair(handle, err_attr_name, attribute_name, var_args); + ret = __mmcamcorder_check_valid_pair(handle, &tmp_err_attr_name, attribute_name, var_args); } else { - _mmcam_dbg_err("handle 0x%x, attrs is NULL, attr name [%s]", handle, attribute_name); + _mmcam_dbg_err("handle %p, attrs is NULL, attr name [%s]", handle, attribute_name); ret = MM_ERROR_CAMCORDER_NOT_INITIALIZED; } if (ret == MM_ERROR_NONE) { hcamcorder->error_code = MM_ERROR_NONE; /* In 64bit environment, unexpected result is returned if var_args is used again. */ - ret = mm_attrs_set_valist(attrs, err_attr_name, attribute_name, var_args_copy); + ret = mm_attrs_set_valist(attrs, &tmp_err_attr_name, attribute_name, var_args_copy); } va_end(var_args_copy); @@ -1763,8 +1815,17 @@ _mmcamcorder_set_attributes(MMHandleType handle, char **err_attr_name, const cha _MMCAMCORDER_UNLOCK_CMD(handle); if (ret != MM_ERROR_NONE) { + if (ret == MM_ERROR_COMMON_OUT_OF_RANGE) { + if (mm_attrs_get_index(attrs, tmp_err_attr_name, &err_index) == MM_ERROR_NONE && + _mmcamcorder_check_supported_attribute(handle, err_index)) { + _mmcam_dbg_err("[%s] is supported, but value is invalid", + tmp_err_attr_name ? tmp_err_attr_name : "NULL"); + ret = MM_ERROR_CAMCORDER_INVALID_ARGUMENT; + } + } + if (hcamcorder->error_code != MM_ERROR_NONE) { - _mmcam_dbg_err("error_code is not NONE. origin 0x%x, modified 0x%x", ret, hcamcorder->error_code); + _mmcam_dbg_err("error_code is set. ret 0x%x -> modified 0x%x", ret, hcamcorder->error_code); ret = hcamcorder->error_code; hcamcorder->error_code = MM_ERROR_NONE; } @@ -1772,6 +1833,16 @@ _mmcamcorder_set_attributes(MMHandleType handle, char **err_attr_name, const cha _mmcam_dbg_err("failed error code 0x%x - handle %p", ret, (mmf_camcorder_t *)handle); } + if (tmp_err_attr_name) { + if (!err_attr_name) { + _mmcam_dbg_err("set attribute[%s] error, but err name is NULL", tmp_err_attr_name); + free(tmp_err_attr_name); + tmp_err_attr_name = NULL; + } else { + *err_attr_name = tmp_err_attr_name; + } + } + return ret; } @@ -1832,7 +1903,7 @@ _mmcamcorder_get_attribute_info(MMHandleType handle, const char *attr_name, MMCa bool -_mmcamcorder_commit_camcorder_attrs(int attr_idx, const char *attr_name, const mmf_value_t *value, void *commit_param) +_mmcamcorder_commit_camcorder_attrs(int attr_idx, const char *attr_name, const MMAttrsValue *value, void *commit_param) { bool bret = FALSE; mmf_camcorder_t *hcamcorder = NULL; @@ -1940,7 +2011,7 @@ int __mmcamcorder_release_conf_valid_info(MMHandleType handle) } -bool _mmcamcorder_commit_capture_width(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_capture_width(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { MMHandleType attr = 0; int current_state = MM_CAMCORDER_STATE_NONE; @@ -1977,7 +2048,7 @@ bool _mmcamcorder_commit_capture_width(MMHandleType handle, int attr_idx, const } -bool _mmcamcorder_commit_capture_height(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_capture_height(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int current_state = MM_CAMCORDER_STATE_NONE; @@ -1998,13 +2069,14 @@ bool _mmcamcorder_commit_capture_height(MMHandleType handle, int attr_idx, const } -bool _mmcamcorder_commit_capture_break_cont_shot(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_capture_break_cont_shot(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int current_state = 0; int ivalue = 0; const char *videosrc_name = NULL; mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); _MMCamcorderSubContext *sc = NULL; + _MMCamcorderImageInfo *info = NULL; GstCameraControl *control = NULL; type_element *VideosrcElement = NULL; @@ -2023,7 +2095,18 @@ bool _mmcamcorder_commit_capture_break_cont_shot(MMHandleType handle, int attr_i if (!sc) return TRUE; + info = sc->info_image; + if (!info) { + _mmcam_dbg_err("info image is NULL"); + return FALSE; + } + if (ivalue && current_state == MM_CAMCORDER_STATE_CAPTURING) { + if (info->capture_send_count > 0) { + info->capturing = FALSE; + _mmcam_dbg_warn("capturing -> FALSE and skip capture callback since now"); + } + if (!GST_IS_CAMERA_CONTROL(sc->element[_MMCAMCORDER_VIDEOSRC_SRC].gst)) { _mmcam_dbg_warn("Can't cast Video source into camera control."); return TRUE; @@ -2044,7 +2127,7 @@ bool _mmcamcorder_commit_capture_break_cont_shot(MMHandleType handle, int attr_i } -bool _mmcamcorder_commit_capture_count(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_capture_count(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int mode = MM_CAMCORDER_MODE_VIDEO_CAPTURE; int current_state = MM_CAMCORDER_STATE_NONE; @@ -2068,7 +2151,7 @@ bool _mmcamcorder_commit_capture_count(MMHandleType handle, int attr_idx, const } -bool _mmcamcorder_commit_capture_sound_enable(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_capture_sound_enable(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); @@ -2088,7 +2171,7 @@ bool _mmcamcorder_commit_capture_sound_enable(MMHandleType handle, int attr_idx, } -bool _mmcamcorder_commit_audio_volume(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_audio_volume(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int current_state = MM_CAMCORDER_STATE_NONE; _MMCamcorderSubContext *sc = NULL; @@ -2127,7 +2210,7 @@ bool _mmcamcorder_commit_audio_volume(MMHandleType handle, int attr_idx, const m } -bool _mmcamcorder_commit_camera_format(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_camera_format(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); int current_state = MM_CAMCORDER_STATE_NONE; @@ -2145,7 +2228,7 @@ bool _mmcamcorder_commit_camera_format(MMHandleType handle, int attr_idx, const } -bool _mmcamcorder_commit_camera_fps(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_camera_fps(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); MMCamAttrsInfo fps_info; @@ -2196,7 +2279,7 @@ bool _mmcamcorder_commit_camera_fps(MMHandleType handle, int attr_idx, const mmf } -bool _mmcamcorder_commit_camera_recording_motion_rate(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_camera_recording_motion_rate(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int current_state = MM_CAMCORDER_STATE_NONE; mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); @@ -2232,7 +2315,7 @@ bool _mmcamcorder_commit_camera_recording_motion_rate(MMHandleType handle, int a } -bool _mmcamcorder_commit_camera_width(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_camera_width(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { MMHandleType attr = 0; int current_state = MM_CAMCORDER_STATE_NONE; @@ -2328,7 +2411,7 @@ bool _mmcamcorder_commit_camera_width(MMHandleType handle, int attr_idx, const m } -bool _mmcamcorder_commit_camera_height(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_camera_height(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int ret = 0; int current_state = MM_CAMCORDER_STATE_NONE; @@ -2423,7 +2506,7 @@ bool _mmcamcorder_commit_camera_height(MMHandleType handle, int attr_idx, const } -bool _mmcamcorder_commit_video_size(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_video_size(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int current_state = MM_CAMCORDER_STATE_NONE; mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); @@ -2443,7 +2526,7 @@ bool _mmcamcorder_commit_video_size(MMHandleType handle, int attr_idx, const mmf } -bool _mmcamcorder_commit_camera_zoom(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_camera_zoom(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); _MMCamcorderSubContext *sc = NULL; @@ -2506,7 +2589,7 @@ bool _mmcamcorder_commit_camera_zoom(MMHandleType handle, int attr_idx, const mm } -bool _mmcamcorder_commit_camera_ptz_type(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_camera_ptz_type(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); _MMCamcorderSubContext *sc = NULL; @@ -2553,7 +2636,7 @@ bool _mmcamcorder_commit_camera_ptz_type(MMHandleType handle, int attr_idx, cons for (item = controls ; item && item->data ; item = item->next) { CameraControlChannel = item->data; _mmcam_dbg_log("CameraControlChannel->label %s", CameraControlChannel->label); - if (!strcmp(CameraControlChannel->label, "ptz")) { + if (!strcmp(CameraControlChannel->label, "ptz_type")) { if (gst_camera_control_set_value(CameraControl, CameraControlChannel, value->value.i_val)) { _mmcam_dbg_warn("set ptz type %d done", value->value.i_val); return TRUE; @@ -2564,16 +2647,14 @@ bool _mmcamcorder_commit_camera_ptz_type(MMHandleType handle, int attr_idx, cons } } - if (item == NULL) { - _mmcam_dbg_warn("failed to find tilt control channel"); - } + _mmcam_dbg_warn("failed to find ptz type control channel"); } return FALSE; } -bool _mmcamcorder_commit_camera_pan(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_camera_pan(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); _MMCamcorderSubContext *sc = NULL; @@ -2631,16 +2712,14 @@ bool _mmcamcorder_commit_camera_pan(MMHandleType handle, int attr_idx, const mmf } } - if (item == NULL) { - _mmcam_dbg_warn("failed to find pan control channel"); - } + _mmcam_dbg_warn("failed to find pan control channel"); } return FALSE; } -bool _mmcamcorder_commit_camera_tilt(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_camera_tilt(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); _MMCamcorderSubContext *sc = NULL; @@ -2698,16 +2777,14 @@ bool _mmcamcorder_commit_camera_tilt(MMHandleType handle, int attr_idx, const mm } } - if (item == NULL) { - _mmcam_dbg_warn("failed to find tilt control channel"); - } + _mmcam_dbg_warn("failed to find tilt control channel"); } return FALSE; } -bool _mmcamcorder_commit_camera_focus_mode(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_camera_focus_mode(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { MMHandleType attr = 0; int current_state = MM_CAMCORDER_STATE_NONE; @@ -2792,7 +2869,7 @@ bool _mmcamcorder_commit_camera_focus_mode(MMHandleType handle, int attr_idx, co } -bool _mmcamcorder_commit_camera_af_scan_range(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_camera_af_scan_range(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); _MMCamcorderSubContext *sc = NULL; @@ -2870,7 +2947,7 @@ bool _mmcamcorder_commit_camera_af_scan_range(MMHandleType handle, int attr_idx, } -bool _mmcamcorder_commit_camera_af_touch_area(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_camera_af_touch_area(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); _MMCamcorderSubContext *sc = NULL; @@ -3068,7 +3145,7 @@ bool _mmcamcorder_commit_camera_af_touch_area(MMHandleType handle, int attr_idx, } -bool _mmcamcorder_commit_camera_capture_mode(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_camera_capture_mode(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { GstCameraControl *control = NULL; int ivalue = 0; @@ -3169,7 +3246,7 @@ bool _mmcamcorder_commit_camera_capture_mode(MMHandleType handle, int attr_idx, } -bool _mmcamcorder_commit_camera_wdr(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_camera_wdr(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { GstCameraControl *control = NULL; int mslVal = 0; @@ -3240,7 +3317,7 @@ bool _mmcamcorder_commit_camera_wdr(MMHandleType handle, int attr_idx, const mmf } -bool _mmcamcorder_commit_camera_anti_handshake(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_camera_anti_handshake(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int current_state = MM_CAMCORDER_STATE_NONE; mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); @@ -3267,7 +3344,7 @@ bool _mmcamcorder_commit_camera_anti_handshake(MMHandleType handle, int attr_idx } -bool _mmcamcorder_commit_encoder_bitrate(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_encoder_bitrate(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int audio_enc = 0; int bitrate = 0; @@ -3306,7 +3383,7 @@ bool _mmcamcorder_commit_encoder_bitrate(MMHandleType handle, int attr_idx, cons } -bool _mmcamcorder_commit_camera_video_stabilization(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_camera_video_stabilization(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int current_state = MM_CAMCORDER_STATE_NONE; mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); @@ -3327,7 +3404,7 @@ bool _mmcamcorder_commit_camera_video_stabilization(MMHandleType handle, int att } -bool _mmcamcorder_commit_camera_rotate(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_camera_rotate(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int current_state = MM_CAMCORDER_STATE_NONE; mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); @@ -3348,7 +3425,7 @@ bool _mmcamcorder_commit_camera_rotate(MMHandleType handle, int attr_idx, const } -bool _mmcamcorder_commit_image_encoder_quality(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_image_encoder_quality(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int current_state = MM_CAMCORDER_STATE_NONE; @@ -3388,47 +3465,23 @@ bool _mmcamcorder_commit_image_encoder_quality(MMHandleType handle, int attr_idx } -bool _mmcamcorder_commit_target_filename(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_target_filename(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { - _MMCamcorderSubContext *sc = NULL; - const char *filename = NULL; - int size = 0; - mmf_return_val_if_fail(handle && value, FALSE); - sc = MMF_CAMCORDER_SUBCONTEXT(handle); - if (!sc) - return TRUE; - /* get string */ - filename = mmf_value_get_string(value, &size); - if (filename == NULL) { + if (!value->value.s_val) { _mmcam_dbg_err("NULL filename"); return FALSE; } - if (sc->info_video) { - SAFE_G_FREE(sc->info_video->filename); - sc->info_video->filename = g_strdup(filename); - if (sc->info_video->filename == NULL) { - _mmcam_dbg_err("failed to strdup filename [%s]", filename); - return FALSE; - } - } - - if (sc->encode_element && sc->encode_element[_MMCAMCORDER_ENCSINK_SINK].gst) { - _mmcam_dbg_log("new file location set.[%s] filesink %p", filename, sc->encode_element[_MMCAMCORDER_ENCSINK_SINK].gst); - MMCAMCORDER_G_OBJECT_SET_POINTER(sc->encode_element[_MMCAMCORDER_ENCSINK_SINK].gst, "location", filename); - _mmcam_dbg_log("new file location set.(%s)", filename); - } else { - _mmcam_dbg_log("element is not created yet. [%s] will be set later...", filename); - } + _mmcam_dbg_log("set filename [%s]", value->value.s_val); return TRUE; } -bool _mmcamcorder_commit_recording_max_limit(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_recording_max_limit(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int current_state = MM_CAMCORDER_STATE_NONE; mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); @@ -3446,7 +3499,7 @@ bool _mmcamcorder_commit_recording_max_limit(MMHandleType handle, int attr_idx, } -bool _mmcamcorder_commit_filter(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_filter(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { GstColorBalance *balance = NULL; GstColorBalanceChannel *Colorchannel = NULL; @@ -3579,7 +3632,7 @@ bool _mmcamcorder_commit_filter(MMHandleType handle, int attr_idx, const mmf_val } -bool _mmcamcorder_commit_filter_scene_mode(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_filter_scene_mode(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int mslVal = 0; int newVal = 0; @@ -3642,11 +3695,11 @@ bool _mmcamcorder_commit_filter_scene_mode(MMHandleType handle, int attr_idx, co MM_CAM_FILTER_COLOR_TONE, MM_CAM_CAMERA_EXPOSURE_MODE }; - mmf_attrs_t *attr = (mmf_attrs_t *)MMF_CAMCORDER_ATTRS(handle); + MMHandleType attrs = MMF_CAMCORDER_ATTRS(handle); for (i = 0 ; i < ARRAY_SIZE(attr_idxs) ; i++) { - if (__mmcamcorder_attrs_is_supported((MMHandleType)attr, attr_idxs[i])) - mmf_attribute_set_modified(&(attr->items[attr_idxs[i]])); + if (_mmcamcorder_check_supported_attribute(handle, attr_idxs[i])) + mm_attrs_set_modified(attrs, attr_idxs[i]); } } @@ -3662,7 +3715,7 @@ bool _mmcamcorder_commit_filter_scene_mode(MMHandleType handle, int attr_idx, co } -bool _mmcamcorder_commit_filter_flip(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_filter_flip(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { mmf_return_val_if_fail(handle && value, FALSE); @@ -3672,7 +3725,7 @@ bool _mmcamcorder_commit_filter_flip(MMHandleType handle, int attr_idx, const mm } -bool _mmcamcorder_commit_audio_input_route(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_audio_input_route(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { mmf_return_val_if_fail(handle && value, FALSE); @@ -3682,7 +3735,7 @@ bool _mmcamcorder_commit_audio_input_route(MMHandleType handle, int attr_idx, co } -bool _mmcamcorder_commit_audio_disable(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_audio_disable(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int current_state = MM_CAMCORDER_STATE_NONE; mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); @@ -3701,7 +3754,7 @@ bool _mmcamcorder_commit_audio_disable(MMHandleType handle, int attr_idx, const } -bool _mmcamcorder_commit_display_handle(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_display_handle(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int current_state = MM_CAMCORDER_STATE_NONE; const char *videosink_name = NULL; @@ -3739,19 +3792,14 @@ bool _mmcamcorder_commit_display_handle(MMHandleType handle, int attr_idx, const _mmcam_dbg_log("Commit : videosinkname[%s]", videosink_name); if (!strcmp(videosink_name, "xvimagesink") || !strcmp(videosink_name, "ximagesink")) { - _mmcam_dbg_log("Commit : Set XID[%x]", *(int*)(p_handle)); - gst_video_overlay_set_window_handle(GST_VIDEO_OVERLAY(sc->element[_MMCAMCORDER_VIDEOSINK_SINK].gst), *(int*)(p_handle)); + _mmcam_dbg_log("Commit : Set XID[%x]", *(int *)(p_handle)); + gst_video_overlay_set_window_handle(GST_VIDEO_OVERLAY(sc->element[_MMCAMCORDER_VIDEOSINK_SINK].gst), *(int *)(p_handle)); } else if (!strcmp(videosink_name, "evasimagesink") || !strcmp(videosink_name, "evaspixmapsink")) { _mmcam_dbg_log("Commit : Set evas object [%p]", p_handle); MMCAMCORDER_G_OBJECT_SET_POINTER(sc->element[_MMCAMCORDER_VIDEOSINK_SINK].gst, "evas-object", p_handle); - } else if (!strcmp(videosink_name, "waylandsink")) { - MMCamWaylandInfo *wl_info = (MMCamWaylandInfo *)p_handle; - - _mmcam_dbg_log("wayland global surface id : %d", wl_info->global_surface_id); - - gst_video_overlay_set_wl_window_wl_surface_id(GST_VIDEO_OVERLAY(sc->element[_MMCAMCORDER_VIDEOSINK_SINK].gst), (guintptr)wl_info->global_surface_id); - gst_video_overlay_set_render_rectangle(GST_VIDEO_OVERLAY(sc->element[_MMCAMCORDER_VIDEOSINK_SINK].gst), - wl_info->window_x, wl_info->window_y, wl_info->window_width, wl_info->window_height); + } else if (!strcmp(videosink_name, "tizenwlsink")) { + _mmcam_dbg_log("wayland global surface id : %d", *(int *)(p_handle)); + gst_video_overlay_set_wl_window_wl_surface_id(GST_VIDEO_OVERLAY(sc->element[_MMCAMCORDER_VIDEOSINK_SINK].gst), (guintptr)*(int *)(p_handle)); } else { _mmcam_dbg_warn("Commit : Nothing to commit with this element[%s]", videosink_name); return FALSE; @@ -3765,7 +3813,7 @@ bool _mmcamcorder_commit_display_handle(MMHandleType handle, int attr_idx, const } -bool _mmcamcorder_commit_display_mode(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_display_mode(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int current_state = MM_CAMCORDER_STATE_NONE; const char *videosink_name = NULL; @@ -3798,18 +3846,18 @@ bool _mmcamcorder_commit_display_mode(MMHandleType handle, int attr_idx, const m _mmcam_dbg_log("Commit : videosinkname[%s]", videosink_name); - if (!strcmp(videosink_name, "xvimagesink") || !strcmp(videosink_name, "waylandsink")) { + if (!strcmp(videosink_name, "xvimagesink") || !strcmp(videosink_name, "tizenwlsink")) { _mmcam_dbg_log("Commit : display mode [%d]", value->value.i_val); MMCAMCORDER_G_OBJECT_SET(sc->element[_MMCAMCORDER_VIDEOSINK_SINK].gst, "display-mode", value->value.i_val); - return TRUE; } else { - _mmcam_dbg_warn("Commit : This element [%s] does not support display mode", videosink_name); - return FALSE; + _mmcam_dbg_warn("[%s] does not support display mode, but no error", videosink_name); } + + return TRUE; } -bool _mmcamcorder_commit_display_rotation(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_display_rotation(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int current_state = MM_CAMCORDER_STATE_NONE; @@ -3834,7 +3882,7 @@ bool _mmcamcorder_commit_display_rotation(MMHandleType handle, int attr_idx, con } -bool _mmcamcorder_commit_display_flip(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_display_flip(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int current_state = MM_CAMCORDER_STATE_NONE; @@ -3859,7 +3907,7 @@ bool _mmcamcorder_commit_display_flip(MMHandleType handle, int attr_idx, const m } -bool _mmcamcorder_commit_display_visible(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_display_visible(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int current_state = MM_CAMCORDER_STATE_NONE; const char *videosink_name = NULL; @@ -3891,19 +3939,19 @@ bool _mmcamcorder_commit_display_visible(MMHandleType handle, int attr_idx, cons return FALSE; } - if (!strcmp(videosink_name, "xvimagesink") || !strcmp(videosink_name, "waylandsink") || + if (!strcmp(videosink_name, "xvimagesink") || !strcmp(videosink_name, "tizenwlsink") || !strcmp(videosink_name, "evaspixmapsink") || !strcmp(videosink_name, "evasimagesink")) { MMCAMCORDER_G_OBJECT_SET(sc->element[_MMCAMCORDER_VIDEOSINK_SINK].gst, "visible", value->value.i_val); _mmcam_dbg_log("Set visible [%d] done.", value->value.i_val); - return TRUE; } else { - _mmcam_dbg_warn("videosink[%s] does not support VISIBLE.", videosink_name); - return FALSE; + _mmcam_dbg_warn("[%s] does not support VISIBLE, but no error", videosink_name); } + + return TRUE; } -bool _mmcamcorder_commit_display_geometry_method(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_display_geometry_method(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int method = 0; int current_state = MM_CAMCORDER_STATE_NONE; @@ -3936,22 +3984,22 @@ bool _mmcamcorder_commit_display_geometry_method(MMHandleType handle, int attr_i return FALSE; } - if (!strcmp(videosink_name, "xvimagesink") || !strcmp(videosink_name, "waylandsink") || - !strcmp(videosink_name, "evaspixmapsink") || !strcmp(videosink_name, "evasimagesink")) { + if (!strcmp(videosink_name, "xvimagesink") || !strcmp(videosink_name, "tizenwlsink") || + !strcmp(videosink_name, "evaspixmapsink") || !strcmp(videosink_name, "evasimagesink") || + !strcmp(videosink_name, "directvideosink")) { method = value->value.i_val; MMCAMCORDER_G_OBJECT_SET(sc->element[_MMCAMCORDER_VIDEOSINK_SINK].gst, "display-geometry-method", method); - return TRUE; } else { - _mmcam_dbg_warn("videosink[%s] does not support geometry method.", videosink_name); - return FALSE; + _mmcam_dbg_warn("[%s] does not support geometry method, but no error", videosink_name); } + + return TRUE; } -bool _mmcamcorder_commit_display_rect(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_display_rect(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int current_state = MM_CAMCORDER_STATE_NONE; - int method = 0; int ret = MM_ERROR_NONE; const char *videosink_name = NULL; @@ -3975,15 +4023,6 @@ bool _mmcamcorder_commit_display_rect(MMHandleType handle, int attr_idx, const m sc = MMF_CAMCORDER_SUBCONTEXT(handle); - /* check current method */ - mm_camcorder_get_attributes(handle, NULL, - MMCAM_DISPLAY_GEOMETRY_METHOD, &method, - NULL); - if (method != MM_DISPLAY_METHOD_CUSTOM_ROI) { - _mmcam_dbg_log("current method[%d] is not supported rect", method); - return FALSE; - } - /* Get videosink name */ _mmcamcorder_conf_get_value_element_name(sc->VideosinkElement, &videosink_name); if (videosink_name == NULL) { @@ -3991,8 +4030,8 @@ bool _mmcamcorder_commit_display_rect(MMHandleType handle, int attr_idx, const m return FALSE; } - if (!strcmp(videosink_name, "xvimagesink") || !strcmp(videosink_name, "waylandsink") || - !strcmp(videosink_name, "evaspixmapsink")) { + if (!strcmp(videosink_name, "xvimagesink") || !strcmp(videosink_name, "tizenwlsink") || + !strcmp(videosink_name, "evaspixmapsink") || !strcmp(videosink_name, "directvideosink")) { int rect_x = 0; int rect_y = 0; int rect_width = 0; @@ -4045,11 +4084,11 @@ bool _mmcamcorder_commit_display_rect(MMHandleType handle, int attr_idx, const m if (!(flags & MM_ATTRS_FLAG_MODIFIED)) { _mmcam_dbg_log("RECT(x,y,w,h) = (%d,%d,%d,%d)", rect_x, rect_y, rect_width, rect_height); - if (!strcmp(videosink_name, "waylandsink")) { - ret = gst_video_overlay_set_render_rectangle(GST_VIDEO_OVERLAY(sc->element[_MMCAMCORDER_VIDEOSINK_SINK].gst), + if (!strcmp(videosink_name, "tizenwlsink")) { + ret = gst_video_overlay_set_display_roi_area(GST_VIDEO_OVERLAY(sc->element[_MMCAMCORDER_VIDEOSINK_SINK].gst), rect_x, rect_y, rect_width, rect_height); if (!ret) { - _mmcam_dbg_err("FAILED : could not set render rectangle."); + _mmcam_dbg_err("FAILED : could not set display roi area."); return FALSE; } } else { @@ -4061,16 +4100,15 @@ bool _mmcamcorder_commit_display_rect(MMHandleType handle, int attr_idx, const m NULL); } } - - return TRUE; } else { - _mmcam_dbg_warn("videosink[%s] does not support display rect.", videosink_name); - return FALSE; + _mmcam_dbg_warn("[%s] does not support display rect, but no error", videosink_name); } + + return TRUE; } -bool _mmcamcorder_commit_display_scale(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_display_scale(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int zoom = 0; int current_state = MM_CAMCORDER_STATE_NONE; @@ -4105,7 +4143,7 @@ bool _mmcamcorder_commit_display_scale(MMHandleType handle, int attr_idx, const } zoom = value->value.i_val; - if (!strcmp(videosink_name, "xvimagesink") || !strcmp(videosink_name, "waylandsink")) { + if (!strcmp(videosink_name, "xvimagesink") || !strcmp(videosink_name, "tizenwlsink")) { vs_element = sc->element[_MMCAMCORDER_VIDEOSINK_SINK].gst; MMCAMCORDER_G_OBJECT_SET(vs_element, "zoom", (float)(zoom + 1)); @@ -4119,7 +4157,7 @@ bool _mmcamcorder_commit_display_scale(MMHandleType handle, int attr_idx, const } -bool _mmcamcorder_commit_display_evas_do_scaling(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_display_evas_do_scaling(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int current_state = MM_CAMCORDER_STATE_NONE; int do_scaling = 0; @@ -4165,7 +4203,7 @@ bool _mmcamcorder_commit_display_evas_do_scaling(MMHandleType handle, int attr_i } -bool _mmcamcorder_commit_strobe(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_strobe(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { bool bret = FALSE; _MMCamcorderSubContext *sc = NULL; @@ -4276,7 +4314,7 @@ bool _mmcamcorder_commit_strobe(MMHandleType handle, int attr_idx, const mmf_val } -bool _mmcamcorder_commit_camera_flip(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_camera_flip(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int ret = 0; int current_state = MM_CAMCORDER_STATE_NONE; @@ -4305,7 +4343,7 @@ bool _mmcamcorder_commit_camera_flip(MMHandleType handle, int attr_idx, const mm } -bool _mmcamcorder_commit_camera_hdr_capture(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_camera_hdr_capture(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int set_hdr_mode = MM_CAMCORDER_HDR_OFF; int current_state = MM_CAMCORDER_STATE_NONE; @@ -4378,7 +4416,7 @@ bool _mmcamcorder_commit_camera_hdr_capture(MMHandleType handle, int attr_idx, c } -bool _mmcamcorder_commit_detect(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_detect(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { bool bret = FALSE; _MMCamcorderSubContext *sc = NULL; @@ -4467,7 +4505,7 @@ bool _mmcamcorder_commit_detect(MMHandleType handle, int attr_idx, const mmf_val } -bool _mmcamcorder_commit_encoded_preview_bitrate(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_encoded_preview_bitrate(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int current_state = MM_CAMCORDER_STATE_NONE; int preview_format = MM_PIXEL_FORMAT_NV12; @@ -4494,7 +4532,7 @@ bool _mmcamcorder_commit_encoded_preview_bitrate(MMHandleType handle, int attr_i } -bool _mmcamcorder_commit_encoded_preview_gop_interval(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_encoded_preview_gop_interval(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int current_state = MM_CAMCORDER_STATE_NONE; int preview_format = MM_PIXEL_FORMAT_NV12; @@ -4521,90 +4559,7 @@ bool _mmcamcorder_commit_encoded_preview_gop_interval(MMHandleType handle, int a } -bool _mmcamcorder_commit_pid_for_sound_focus(MMHandleType handle, int attr_idx, const mmf_value_t *value) -{ - int new_pid = 0; - int ret = 0; - int current_state = MM_CAMCORDER_STATE_NONE; - mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); - - mmf_return_val_if_fail(hcamcorder && value, FALSE); - - /* state check */ - current_state = _mmcamcorder_get_state(handle); - if (current_state > MM_CAMCORDER_STATE_NULL) { - _mmcam_dbg_log("invalid state %d", current_state); - hcamcorder->error_code = MM_ERROR_CAMCORDER_INVALID_STATE; - return FALSE; - } - - new_pid = value->value.i_val; - - _mmcam_dbg_log("Commit : pid %d, current focus id %d, subscribe id %u", - new_pid, hcamcorder->sound_focus_id, hcamcorder->sound_focus_subscribe_id); - - /* unregister sound focus and unsubscribe sound signal before set new one */ - if (hcamcorder->sound_focus_id > 0) { - mm_sound_unregister_focus(hcamcorder->sound_focus_id); - _mmcam_dbg_log("unregister sound focus done"); - hcamcorder->sound_focus_id = 0; - } - - if (hcamcorder->sound_focus_subscribe_id > 0) { - mm_sound_unsubscribe_signal(hcamcorder->sound_focus_subscribe_id); - _mmcam_dbg_log("unsubscribe sound signal done"); - hcamcorder->sound_focus_subscribe_id = 0; - } - - ret = _mm_session_util_read_information(new_pid, &hcamcorder->session_type, &hcamcorder->session_flags); - if (ret == MM_ERROR_NONE) { - if (hcamcorder->session_type == MM_SESSION_TYPE_REPLACED_BY_STREAM) { - hcamcorder->sound_focus_register = FALSE; - _mmcam_dbg_warn("no need to use sound focus internally"); - } else { - ret = mm_sound_focus_get_id(&hcamcorder->sound_focus_id); - if (ret != MM_ERROR_NONE) { - _mmcam_dbg_err("mm_sound_focus_get_id failed"); - hcamcorder->error_code = MM_ERROR_POLICY_BLOCKED; - return FALSE; - } - - ret = mm_sound_register_focus_for_session(hcamcorder->sound_focus_id, - new_pid, "media", _mmcamcorder_sound_focus_cb, hcamcorder); - if (ret != MM_ERROR_NONE) { - _mmcam_dbg_err("mm_sound_register_focus_for_session failed 0x%x", ret); - hcamcorder->sound_focus_id = 0; - hcamcorder->error_code = MM_ERROR_POLICY_BLOCKED; - return FALSE; - } - - hcamcorder->sound_focus_register = TRUE; - - _mmcam_dbg_log("mm_sound_register_focus_for_session done - id %d, session type %d, flags 0x%x", - hcamcorder->sound_focus_id, hcamcorder->session_type, hcamcorder->session_flags); - } - } else { - hcamcorder->session_type = 0; - hcamcorder->session_flags = 0; - hcamcorder->sound_focus_register = TRUE; - - _mmcam_dbg_warn("read session info failed. sound focus watch cb will be set."); - - ret = mm_sound_subscribe_signal_for_daemon(MM_SOUND_SIGNAL_RELEASE_INTERNAL_FOCUS, - new_pid, &hcamcorder->sound_focus_subscribe_id, - (mm_sound_signal_callback)_mmcamcorder_sound_signal_callback, (void*)hcamcorder); - if (ret != MM_ERROR_NONE) { - _mmcam_dbg_err("subscribe sound signal failed [0x%x]", ret); - hcamcorder->error_code = MM_ERROR_POLICY_BLOCKED; - return FALSE; - } - } - - return TRUE; -} - - -bool _mmcamcorder_commit_sound_stream_info(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_sound_stream_info(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { int stream_index = 0; char *stream_type = NULL; @@ -4618,13 +4573,6 @@ bool _mmcamcorder_commit_sound_stream_info(MMHandleType handle, int attr_idx, co return FALSE; } - sc = MMF_CAMCORDER_SUBCONTEXT(handle); - if (!sc || !sc->encode_element || - !sc->encode_element[_MMCAMCORDER_AUDIOSRC_SRC].gst) { - _mmcam_dbg_log("audiosrc element is not initialized, it will be set later"); - return TRUE; - } - mm_camcorder_get_attributes(handle, NULL, MMCAM_SOUND_STREAM_INDEX, &stream_index, NULL); @@ -4633,13 +4581,20 @@ bool _mmcamcorder_commit_sound_stream_info(MMHandleType handle, int attr_idx, co return FALSE; } - _mmcam_dbg_log("Commit : sound stream info - type %s, index %d", stream_type, stream_index); + sc = MMF_CAMCORDER_SUBCONTEXT(handle); + if (!sc || !sc->encode_element || + !sc->encode_element[_MMCAMCORDER_AUDIOSRC_SRC].gst) { + _mmcam_dbg_warn("audiosrc element is not initialized, it will be set later"); + return TRUE; + } + + _mmcam_dbg_warn("Commit : sound stream info - type %s, index %d", stream_type, stream_index); return _mmcamcorder_set_sound_stream_info(sc->encode_element[_MMCAMCORDER_AUDIOSRC_SRC].gst, stream_type, stream_index); } -bool _mmcamcorder_commit_tag(MMHandleType handle, int attr_idx, const mmf_value_t *value) +bool _mmcamcorder_commit_tag(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); int current_state = MM_CAMCORDER_STATE_NONE; @@ -4656,30 +4611,53 @@ bool _mmcamcorder_commit_tag(MMHandleType handle, int attr_idx, const mmf_value_ return TRUE; } - -static bool __mmcamcorder_attrs_is_supported(MMHandleType handle, int idx) +bool _mmcamcorder_commit_audio_replay_gain(MMHandleType handle, int attr_idx, const MMAttrsValue *value) { - mmf_attrs_t *attr = (mmf_attrs_t*)handle; - int flag; + mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); + + mmf_return_val_if_fail(hcamcorder && value, FALSE); - if (mm_attrs_get_flags(handle, idx, &flag) == MM_ERROR_NONE) { - if (flag == MM_ATTRS_FLAG_NONE) + if (attr_idx == MM_CAM_AUDIO_REPLAY_GAIN_ENABLE) { + /* Replay gain enable */ + int current_state = MM_CAMCORDER_STATE_NONE; + int audio_disable = FALSE; + + current_state = _mmcamcorder_get_state(handle); + if (current_state >= MM_CAMCORDER_STATE_RECORDING) { + _mmcam_dbg_err("Can not set replay gain enable [state : %d]", current_state); + hcamcorder->error_code = MM_ERROR_CAMCORDER_INVALID_STATE; return FALSE; - } else { - return FALSE; - } + } - if (attr->items[idx].value_spec.type == MM_ATTRS_VALID_TYPE_INT_RANGE) { - int min, max; - mm_attrs_get_valid_range((MMHandleType)attr, idx, &min, &max); - if (max < min) + mm_camcorder_get_attributes(handle, NULL, + MMCAM_AUDIO_DISABLE, &audio_disable, + NULL); + + if (audio_disable) { + _mmcam_dbg_err("audio is disabled"); + hcamcorder->error_code = MM_ERROR_CAMCORDER_INVALID_CONDITION; return FALSE; - } else if (attr->items[idx].value_spec.type == MM_ATTRS_VALID_TYPE_INT_ARRAY) { - int count; - int *array; - mm_attrs_get_valid_array((MMHandleType)attr, idx, &count, &array); - if (count == 0) + } + + _mmcam_dbg_log("set replay gain enable : %d", value->value.i_val); + } else if (attr_idx == MM_CAM_AUDIO_REPLAY_GAIN_REFERENCE_LEVEL) { + /* Replay gain reference level */ + int replay_gain_enable = FALSE; + + mm_camcorder_get_attributes(handle, NULL, + MMCAM_AUDIO_REPLAY_GAIN_ENABLE, &replay_gain_enable, + NULL); + + if (replay_gain_enable == FALSE) { + _mmcam_dbg_err("replay gain is disabled"); + hcamcorder->error_code = MM_ERROR_CAMCORDER_INVALID_CONDITION; return FALSE; + } + + _mmcam_dbg_log("set reference level for replay gain : %lf dB", value->value.d_val); + } else { + _mmcam_dbg_err("unknown attribute id %d", attr_idx); + return FALSE; } return TRUE; @@ -4689,7 +4667,7 @@ static bool __mmcamcorder_attrs_is_supported(MMHandleType handle, int idx) bool _mmcamcorder_set_attribute_to_camsensor(MMHandleType handle) { mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); - mmf_attrs_t *attr = NULL; + MMHandleType attrs; int scene_mode = MM_CAMCORDER_SCENE_MODE_NORMAL; @@ -4701,7 +4679,6 @@ bool _mmcamcorder_set_attribute_to_camsensor(MMHandleType handle) MM_CAM_CAMERA_WDR, MM_CAM_FILTER_CONTRAST, MM_CAM_FILTER_HUE, - MM_CAM_STROBE_MODE, MM_CAM_DETECT_MODE }; @@ -4717,41 +4694,80 @@ bool _mmcamcorder_set_attribute_to_camsensor(MMHandleType handle) mmf_return_val_if_fail(hcamcorder, FALSE); - _mmcam_dbg_log("Set all attribute again."); + _mmcam_dbg_log("commit some attributes again"); - attr = (mmf_attrs_t *)MMF_CAMCORDER_ATTRS(handle); - if (attr == NULL) { + attrs = MMF_CAMCORDER_ATTRS(handle); + if (attrs == NULL) { _mmcam_dbg_err("Get attribute handle failed."); return FALSE; - } else { - /* Get Scene mode */ - mm_camcorder_get_attributes(handle, NULL, MMCAM_FILTER_SCENE_MODE, &scene_mode, NULL); + } - _mmcam_dbg_log("attribute count(%d)", attr->count); + /* Get Scene mode */ + mm_camcorder_get_attributes(handle, NULL, MMCAM_FILTER_SCENE_MODE, &scene_mode, NULL); - for (i = 0 ; i < ARRAY_SIZE(attr_idxs_default) ; i++) { - if (__mmcamcorder_attrs_is_supported((MMHandleType)attr, attr_idxs_default[i])) - mmf_attribute_set_modified(&(attr->items[attr_idxs_default[i]])); - } + for (i = 0 ; i < ARRAY_SIZE(attr_idxs_default) ; i++) { + if (_mmcamcorder_check_supported_attribute(handle, attr_idxs_default[i])) + mm_attrs_set_modified(attrs, attr_idxs_default[i]); + } - /* Set extra if scene mode is NORMAL */ - if (scene_mode == MM_CAMCORDER_SCENE_MODE_NORMAL) { - for (i = 0 ; i < ARRAY_SIZE(attr_idxs_extra) ; i++) { - if (__mmcamcorder_attrs_is_supported((MMHandleType)attr, attr_idxs_extra[i])) - mmf_attribute_set_modified(&(attr->items[attr_idxs_extra[i]])); - } - } else { - /* Set scene mode if scene mode is NOT NORMAL */ - if (__mmcamcorder_attrs_is_supported((MMHandleType)attr, MM_CAM_FILTER_SCENE_MODE)) - mmf_attribute_set_modified(&(attr->items[MM_CAM_FILTER_SCENE_MODE])); + /* Set extra if scene mode is NORMAL */ + if (scene_mode == MM_CAMCORDER_SCENE_MODE_NORMAL) { + for (i = 0 ; i < ARRAY_SIZE(attr_idxs_extra) ; i++) { + if (_mmcamcorder_check_supported_attribute(handle, attr_idxs_extra[i])) + mm_attrs_set_modified(attrs, attr_idxs_extra[i]); } + } else { + /* Set scene mode if scene mode is NOT NORMAL */ + if (_mmcamcorder_check_supported_attribute(handle, MM_CAM_FILTER_SCENE_MODE)) + mm_attrs_set_modified(attrs, MM_CAM_FILTER_SCENE_MODE); + } - if (mmf_attrs_commit((MMHandleType)attr) == -1) - ret = FALSE; - else - ret = TRUE; + if (mm_attrs_commit_all(attrs) == -1) + ret = FALSE; + else + ret = TRUE; + + _mmcam_dbg_log("Done."); + + return ret; +} + + +bool _mmcamcorder_set_attribute_to_camsensor2(MMHandleType handle) +{ + mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); + MMHandleType attrs; + unsigned int i = 0; + int ret = TRUE; + int attr_idxs[] = { + MM_CAM_STROBE_MODE, + MM_CAM_CAMERA_PTZ_TYPE, + MM_CAM_CAMERA_PAN_MECHA, + MM_CAM_CAMERA_PAN_ELEC, + MM_CAM_CAMERA_TILT_MECHA, + MM_CAM_CAMERA_TILT_ELEC + }; + + mmf_return_val_if_fail(hcamcorder, FALSE); + + _mmcam_dbg_log("commit some attribute again[2]"); + + attrs = MMF_CAMCORDER_ATTRS(handle); + if (attrs == NULL) { + _mmcam_dbg_err("Get attribute handle failed."); + return FALSE; + } + + for (i = 0 ; i < ARRAY_SIZE(attr_idxs) ; i++) { + if (_mmcamcorder_check_supported_attribute(handle, attr_idxs[i])) + mm_attrs_set_modified(attrs, attr_idxs[i]); } + if (mm_attrs_commit_all(attrs) == -1) + ret = FALSE; + else + ret = TRUE; + _mmcam_dbg_log("Done."); return ret; @@ -4761,15 +4777,15 @@ bool _mmcamcorder_set_attribute_to_camsensor(MMHandleType handle) int _mmcamcorder_lock_readonly_attributes(MMHandleType handle) { mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); + MMHandleType attrs; int table_size = 0; int i = 0; - mmf_attrs_t *attr = NULL; int nerror = MM_ERROR_NONE; mmf_return_val_if_fail(hcamcorder, MM_ERROR_CAMCORDER_INVALID_ARGUMENT); - attr = (mmf_attrs_t*) MMF_CAMCORDER_ATTRS(handle); - mmf_return_val_if_fail(attr, MM_ERROR_CAMCORDER_NOT_INITIALIZED); + attrs = MMF_CAMCORDER_ATTRS(handle); + mmf_return_val_if_fail(attrs, MM_ERROR_CAMCORDER_NOT_INITIALIZED); _mmcam_dbg_log(""); @@ -4778,7 +4794,7 @@ int _mmcamcorder_lock_readonly_attributes(MMHandleType handle) for (i = 0; i < table_size; i++) { int sCategory = readonly_attributes[i]; - mmf_attribute_set_readonly(&(attr->items[sCategory])); + mm_attrs_set_readonly(attrs, sCategory); } return nerror; @@ -4788,16 +4804,16 @@ int _mmcamcorder_lock_readonly_attributes(MMHandleType handle) int _mmcamcorder_set_disabled_attributes(MMHandleType handle) { mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); + MMHandleType attrs; int i = 0; - mmf_attrs_t *attr = NULL; type_string_array * disabled_attr = NULL; int cnt_str = 0; int nerror = MM_ERROR_NONE ; mmf_return_val_if_fail(hcamcorder, MM_ERROR_CAMCORDER_INVALID_ARGUMENT); - attr = (mmf_attrs_t*) MMF_CAMCORDER_ATTRS(handle); - mmf_return_val_if_fail(attr, MM_ERROR_CAMCORDER_NOT_INITIALIZED); + attrs = MMF_CAMCORDER_ATTRS(handle); + mmf_return_val_if_fail(attrs, MM_ERROR_CAMCORDER_NOT_INITIALIZED); _mmcam_dbg_log(""); @@ -4811,10 +4827,10 @@ int _mmcamcorder_set_disabled_attributes(MMHandleType handle) for (i = 0; i < cnt_str; i++) { int idx = 0; _mmcam_dbg_log("[%d]%s", i, disabled_attr->value[i]); - nerror = mm_attrs_get_index((MMHandleType)attr, disabled_attr->value[i], &idx); + nerror = mm_attrs_get_index(attrs, disabled_attr->value[i], &idx); if (nerror == MM_ERROR_NONE) - mmf_attribute_set_disabled(&(attr->items[idx])); + mm_attrs_set_disabled(attrs, idx); else _mmcam_dbg_warn("No ATTR named %s[%d]", disabled_attr->value[i], i); } @@ -5062,21 +5078,21 @@ bool _mmcamcorder_check_supported_attribute(MMHandleType handle, int attr_index) /* _mmcam_dbg_log("int array count %d", info.int_array.count); */ - if (info.int_array.count <= 1) + if (info.int_array.count < 1) return FALSE; break; case MM_ATTRS_VALID_TYPE_INT_RANGE: /* _mmcam_dbg_log("int range min %d, max %d",info.int_range.min, info.int_range.max); */ - if (info.int_range.min >= info.int_range.max) + if (info.int_range.min > info.int_range.max) return FALSE; break; case MM_ATTRS_VALID_TYPE_DOUBLE_ARRAY: /* _mmcam_dbg_log("double array count %d", info.double_array.count); */ - if (info.double_array.count <= 1) + if (info.double_array.count < 1) return FALSE; break; case MM_ATTRS_VALID_TYPE_DOUBLE_RANGE: