Update _media_svc_extract_image_metadata to reduce Cyclomatic Complexity 01/213601/3
authorhj kim <backto.kim@samsung.com>
Mon, 9 Sep 2019 06:14:43 +0000 (15:14 +0900)
committerhj kim <backto.kim@samsung.com>
Mon, 9 Sep 2019 08:36:34 +0000 (17:36 +0900)
Change-Id: Ifb384a55bc657c17ccbd7044f17a4aba515786d9

src/common/media-svc-util.c

index 7d6c70a..780e156 100755 (executable)
@@ -1011,18 +1011,11 @@ int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info)
 
        char buf[MEDIA_SVC_METADATA_LEN_MAX + 1] = { '\0' };
 
-       memset(buf, 0x00, sizeof(buf));
-
-       if (content_info == NULL || content_info->media_type != MEDIA_SVC_MEDIA_TYPE_IMAGE) {
-               media_svc_error("content_info == NULL || media_type != MEDIA_SVC_MEDIA_TYPE_IMAGE");
-               return MS_MEDIA_ERR_INVALID_PARAMETER;
-       }
+       media_svc_retvm_if(!content_info, MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid content_info");
+       media_svc_retvm_if(content_info->media_type != MEDIA_SVC_MEDIA_TYPE_IMAGE, MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid media_type [%d]", content_info->media_type);
+       media_svc_retvm_if(!STRING_VALID(content_info->path), MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid path");
 
        path = content_info->path;
-       if (!STRING_VALID(path)) {
-               media_svc_error("Invalid Path");
-               return MS_MEDIA_ERR_INVALID_PARAMETER;
-       }
 
        /* Load an ExifData object from an EXIF file */
        ed = exif_data_new_from_file(path);
@@ -1034,6 +1027,16 @@ int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info)
 
        content_info->media_meta.is_360 = image_360_check(path);
 
+       content_info->media_meta.latitude = MEDIA_SVC_DEFAULT_GPS_VALUE;
+       content_info->media_meta.longitude = MEDIA_SVC_DEFAULT_GPS_VALUE;
+       content_info->media_meta.description = g_strdup(MEDIA_SVC_TAG_UNKNOWN);
+       content_info->media_meta.fnumber = 0.0;
+       content_info->media_meta.iso = 0;
+       content_info->media_meta.orientation = 0;
+       content_info->media_meta.width = 0;
+       content_info->media_meta.height = 0;
+
+       memset(buf, 0x00, sizeof(buf));
        if (__media_svc_get_exif_info(ed, NULL, NULL, &value, EXIF_TAG_GPS_LATITUDE) == MS_MEDIA_ERR_NONE) {
                if (__media_svc_get_exif_info(ed, buf, NULL, NULL, EXIF_TAG_GPS_LATITUDE_REF) == MS_MEDIA_ERR_NONE) {
                        if (strlen(buf) > 0) {
@@ -1041,15 +1044,10 @@ int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info)
                                        value = -1 * value;
                        }
                        content_info->media_meta.latitude = value;
-               } else {
-                       content_info->media_meta.latitude = MEDIA_SVC_DEFAULT_GPS_VALUE;
                }
-       } else {
-               content_info->media_meta.latitude = MEDIA_SVC_DEFAULT_GPS_VALUE;
        }
 
        memset(buf, 0x00, sizeof(buf));
-
        if (__media_svc_get_exif_info(ed, NULL, NULL, &value, EXIF_TAG_GPS_LONGITUDE) == MS_MEDIA_ERR_NONE) {
                if (__media_svc_get_exif_info(ed, buf, NULL, NULL, EXIF_TAG_GPS_LONGITUDE_REF) == MS_MEDIA_ERR_NONE) {
                        if (strlen(buf) > 0) {
@@ -1057,26 +1055,18 @@ int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info)
                                        value = -1 * value;
                        }
                        content_info->media_meta.longitude = value;
-               } else {
-                       content_info->media_meta.longitude = MEDIA_SVC_DEFAULT_GPS_VALUE;
                }
-       } else {
-               content_info->media_meta.longitude = MEDIA_SVC_DEFAULT_GPS_VALUE;
        }
 
        memset(buf, 0x00, sizeof(buf));
-
        if (__media_svc_get_exif_info(ed, buf, NULL, NULL, EXIF_TAG_IMAGE_DESCRIPTION) == MS_MEDIA_ERR_NONE) {
-               if (strlen(buf) == 0)
-                       content_info->media_meta.description = g_strdup(MEDIA_SVC_TAG_UNKNOWN);
-               else
+               if (strlen(buf) > 0) {
+                       SAFE_FREE(content_info->media_meta.description);
                        content_info->media_meta.description = g_strdup(buf);
-       } else {
-               content_info->media_meta.description = g_strdup(MEDIA_SVC_TAG_UNKNOWN);
+               }
        }
 
        memset(buf, 0x00, sizeof(buf));
-
        if (!has_datetaken && __media_svc_get_exif_info(ed, buf, NULL, NULL, EXIF_TAG_DATE_TIME_ORIGINAL) == MS_MEDIA_ERR_NONE) {
                if (strlen(buf) > 0) {
                        has_datetaken = true;
@@ -1088,7 +1078,6 @@ int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info)
        }
 
        memset(buf, 0x00, sizeof(buf));
-
        if (!has_datetaken && __media_svc_get_exif_info(ed, buf, NULL, NULL, EXIF_TAG_DATE_TIME) == MS_MEDIA_ERR_NONE) {
                if (strlen(buf) > 0) {
                        has_datetaken = true;
@@ -1108,7 +1097,6 @@ int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info)
        }
 
        memset(buf, 0x00, sizeof(buf));
-
        /* Get exposure_time value from exif. */
        if (__media_svc_get_exif_info(ed, buf, NULL, NULL, EXIF_TAG_EXPOSURE_TIME) == MS_MEDIA_ERR_NONE) {
                if (strlen(buf) > 0)
@@ -1119,24 +1107,15 @@ int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info)
        if (__media_svc_get_exif_info(ed, NULL, NULL, &fnumber, EXIF_TAG_FNUMBER) == MS_MEDIA_ERR_NONE) {
                if (fnumber > 0.0)
                        content_info->media_meta.fnumber = fnumber;
-               else
-                       content_info->media_meta.fnumber = 0.0;
-       } else {
-               content_info->media_meta.fnumber = 0.0;
        }
 
        /* Get iso value from exif. */
        if (__media_svc_get_exif_info(ed, NULL, &iso, NULL, EXIF_TAG_ISO_SPEED_RATINGS) == MS_MEDIA_ERR_NONE) {
                if (iso > 0)
                        content_info->media_meta.iso = iso;
-               else
-                       content_info->media_meta.iso = 0;
-       } else {
-               content_info->media_meta.iso = 0;
        }
 
        memset(buf, 0x00, sizeof(buf));
-
        /* Get model value from exif. */
        if (__media_svc_get_exif_info(ed, buf, NULL, NULL, EXIF_TAG_MODEL) == MS_MEDIA_ERR_NONE) {
                if (strlen(buf) > 0)
@@ -1147,30 +1126,18 @@ int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info)
        if (__media_svc_get_exif_info(ed, NULL, &orient_value, NULL, EXIF_TAG_ORIENTATION) == MS_MEDIA_ERR_NONE) {
                if (orient_value >= NOT_AVAILABLE && orient_value <= ROT_270)
                        content_info->media_meta.orientation = orient_value;
-               else
-                       content_info->media_meta.orientation = 0;
-       } else {
-               content_info->media_meta.orientation = 0;
        }
 
        /* Get width value from exif. */
        if (__media_svc_get_exif_info(ed, NULL, &exif_width, NULL, EXIF_TAG_PIXEL_X_DIMENSION) == MS_MEDIA_ERR_NONE) {
                if (exif_width > 0)
                        content_info->media_meta.width = exif_width;
-               else
-                       content_info->media_meta.width = 0;
-       } else {
-               content_info->media_meta.width = 0;
        }
 
        /* Get height value from exif. */
        if (__media_svc_get_exif_info(ed, NULL, &exif_height, NULL, EXIF_TAG_PIXEL_Y_DIMENSION) == MS_MEDIA_ERR_NONE) {
                if (exif_height > 0)
                        content_info->media_meta.height = exif_height;
-               else
-                       content_info->media_meta.height = 0;
-       } else {
-               content_info->media_meta.height = 0;
        }
 
        if (ed != NULL) exif_data_unref(ed);