- mmf_return_val_if_fail(handle, MM_ERROR_CAMCORDER_NOT_INITIALIZED);
-
- _mmcamcorder_set_converted_value(handle, &_mmcamcorder_enum_conv_whitebalance);
- _mmcamcorder_set_converted_value(handle, &_mmcamcorder_enum_conv_colortone);
- _mmcamcorder_set_converted_value(handle, &_mmcamcorder_enum_conv_iso);
- _mmcamcorder_set_converted_value(handle, &_mmcamcorder_enum_conv_prgrm);
- _mmcamcorder_set_converted_value(handle, &_mmcamcorder_enum_conv_focus_mode);
- _mmcamcorder_set_converted_value(handle, &_mmcamcorder_enum_conv_focus_type);
- _mmcamcorder_set_converted_value(handle, &_mmcamcorder_enum_conv_ae_type);
-// _mmcamcorder_set_converted_value(handle, &_mmcamcorder_enum_conv_pcolor_mode);
-// _mmcamcorder_set_converted_value(handle, &_mmcamcorder_enum_conv_flip);
-// _mmcamcorder_set_converted_value(handle, &_mmcamcorder_enum_conv_pcolor);
- _mmcamcorder_set_converted_value(handle, &_mmcamcorder_enum_conv_strobe_mode);
- _mmcamcorder_set_converted_value(handle, &_mmcamcorder_enum_conv_wdr_ctrl);
- _mmcamcorder_set_converted_value(handle, &_mmcamcorder_enum_conv_ahs);
-// _mmcamcorder_set_converted_value(handle, &_mmcamcorder_enum_conv_picture_format);
+ mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle);
+ int enum_conv_size = sizeof(_MMCamcorderEnumConvert);
+ int caminfo_conv_size = sizeof(g_caminfo_convert);
+ int caminfo_conv_length = sizeof(g_caminfo_convert) / sizeof(_MMCamcorderInfoConverting);
+ int i = 0;
+
+ mmf_return_val_if_fail(hcamcorder, MM_ERROR_CAMCORDER_NOT_INITIALIZED);
+
+ /* copy default conv data into memory of handle */
+ memcpy(&(hcamcorder->caminfo_convert), &g_caminfo_convert, caminfo_conv_size);
+ memcpy(&(hcamcorder->enum_conv[ENUM_CONVERT_WHITE_BALANCE]), &_mmcamcorder_enum_conv_whitebalance, enum_conv_size);
+ memcpy(&(hcamcorder->enum_conv[ENUM_CONVERT_COLOR_TONE]), &_mmcamcorder_enum_conv_colortone, enum_conv_size);
+ memcpy(&(hcamcorder->enum_conv[ENUM_CONVERT_ISO]), &_mmcamcorder_enum_conv_iso, enum_conv_size);
+ memcpy(&(hcamcorder->enum_conv[ENUM_CONVERT_PROGRAM_MODE]), &_mmcamcorder_enum_conv_prgrm, enum_conv_size);
+ memcpy(&(hcamcorder->enum_conv[ENUM_CONVERT_FOCUS_MODE]), &_mmcamcorder_enum_conv_focus_mode, enum_conv_size);
+ memcpy(&(hcamcorder->enum_conv[ENUM_CONVERT_AF_RANGE]), &_mmcamcorder_enum_conv_focus_type, enum_conv_size);
+ memcpy(&(hcamcorder->enum_conv[ENUM_CONVERT_EXPOSURE_MODE]), &_mmcamcorder_enum_conv_ae_type, enum_conv_size);
+ memcpy(&(hcamcorder->enum_conv[ENUM_CONVERT_STROBE_MODE]), &_mmcamcorder_enum_conv_strobe_mode, enum_conv_size);
+ memcpy(&(hcamcorder->enum_conv[ENUM_CONVERT_WDR]), &_mmcamcorder_enum_conv_wdr_ctrl, enum_conv_size);
+ memcpy(&(hcamcorder->enum_conv[ENUM_CONVERT_FLIP]), &_mmcamcorder_enum_conv_flip_ctrl, enum_conv_size);
+ memcpy(&(hcamcorder->enum_conv[ENUM_CONVERT_ROTATION]), &_mmcamcorder_enum_conv_rotation_ctrl, enum_conv_size);
+ memcpy(&(hcamcorder->enum_conv[ENUM_CONVERT_ANTI_HAND_SHAKE]), &_mmcamcorder_enum_conv_ahs, enum_conv_size);
+ memcpy(&(hcamcorder->enum_conv[ENUM_CONVERT_VIDEO_STABILIZATION]), &_mmcamcorder_enum_conv_video_stabilization, enum_conv_size);
+
+ /* set ini info to conv data */
+ _mmcamcorder_set_converted_value(handle, &(hcamcorder->enum_conv[ENUM_CONVERT_WHITE_BALANCE]));
+ _mmcamcorder_set_converted_value(handle, &(hcamcorder->enum_conv[ENUM_CONVERT_COLOR_TONE]));
+ _mmcamcorder_set_converted_value(handle, &(hcamcorder->enum_conv[ENUM_CONVERT_ISO]));
+ _mmcamcorder_set_converted_value(handle, &(hcamcorder->enum_conv[ENUM_CONVERT_PROGRAM_MODE]));
+ _mmcamcorder_set_converted_value(handle, &(hcamcorder->enum_conv[ENUM_CONVERT_FOCUS_MODE]));
+ _mmcamcorder_set_converted_value(handle, &(hcamcorder->enum_conv[ENUM_CONVERT_AF_RANGE]));
+ _mmcamcorder_set_converted_value(handle, &(hcamcorder->enum_conv[ENUM_CONVERT_EXPOSURE_MODE]));
+ _mmcamcorder_set_converted_value(handle, &(hcamcorder->enum_conv[ENUM_CONVERT_STROBE_MODE]));
+ _mmcamcorder_set_converted_value(handle, &(hcamcorder->enum_conv[ENUM_CONVERT_WDR]));
+ _mmcamcorder_set_converted_value(handle, &(hcamcorder->enum_conv[ENUM_CONVERT_FLIP]));
+ _mmcamcorder_set_converted_value(handle, &(hcamcorder->enum_conv[ENUM_CONVERT_ROTATION]));
+ _mmcamcorder_set_converted_value(handle, &(hcamcorder->enum_conv[ENUM_CONVERT_ANTI_HAND_SHAKE]));
+ _mmcamcorder_set_converted_value(handle, &(hcamcorder->enum_conv[ENUM_CONVERT_VIDEO_STABILIZATION]));
+
+ /* set modified conv data to handle */
+ for (i = 0 ; i < caminfo_conv_length ; i++) {
+ if (hcamcorder->caminfo_convert[i].type == CONFIGURE_TYPE_CTRL) {
+ switch (hcamcorder->caminfo_convert[i].category) {
+ case CONFIGURE_CATEGORY_CTRL_STROBE:
+ if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "StrobeMode")) {
+ hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_STROBE_MODE]);
+ }
+ break;
+ case CONFIGURE_CATEGORY_CTRL_EFFECT:
+ if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "WhiteBalance")) {
+ hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_WHITE_BALANCE]);
+ } else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "ColorTone")) {
+ hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_COLOR_TONE]);
+ } else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "WDR")) {
+ hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_WDR]);
+ } else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "Flip")) {
+ hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_FLIP]);
+ } else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "Rotation")) {
+ hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_ROTATION]);
+ }
+ break;
+ case CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH:
+ if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "FocusMode")) {
+ hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_FOCUS_MODE]);
+ } else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "AFType")) {
+ hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_AF_RANGE]);
+ } else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "AEType")) {
+ hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_EXPOSURE_MODE]);
+ } else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "ISO")) {
+ hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_ISO]);
+ } else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "ProgramMode")) {
+ hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_PROGRAM_MODE]);
+ } else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "AntiHandshake")) {
+ hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_ANTI_HAND_SHAKE]);
+ } else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "VideoStabilization")) {
+ hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_VIDEO_STABILIZATION]);
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ }