Fix a bug in media_svc_refresh_item
authorHyunjun Ko <zzoon.ko@samsung.com>
Tue, 23 Apr 2013 09:30:35 +0000 (18:30 +0900)
committerHyunjun Ko <zzoon.ko@samsung.com>
Tue, 23 Apr 2013 09:30:35 +0000 (18:30 +0900)
packaging/libmedia-service.spec
src/common/media-svc.c

index 90be399..4673f8a 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       libmedia-service
 Summary:    Media information service library for multimedia applications.
-Version: 0.2.40
+Version: 0.2.41
 Release:    1
 Group:      System/Libraries
 License:    Apache License, Version 2.0
index afa5a61..f211f1c 100755 (executable)
@@ -897,14 +897,27 @@ int media_svc_refresh_item(MediaSvcHandle *handle, media_svc_storage_type_e stor
        ret = _media_svc_update_thumbnail_path(handle, path, NULL);
        media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
 
+       /* Get notification info */
+       media_svc_noti_item *noti_item = NULL;
+       ret = _media_svc_get_noti_info(handle, path, MS_MEDIA_ITEM_FILE, &noti_item);
+       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+
+       media_type = noti_item->media_type;
+
        if(media_type == MEDIA_SVC_MEDIA_TYPE_OTHER) {
                /*Do nothing.*/
        } else if(media_type == MEDIA_SVC_MEDIA_TYPE_IMAGE) {
                ret = _media_svc_extract_image_metadata(&content_info, media_type);
-               media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+               if (ret != MEDIA_INFO_ERROR_NONE) {
+                       _media_svc_destroy_noti_item(noti_item);
+                       return ret;
+               }
        } else {
                ret = _media_svc_extract_media_metadata(handle, &content_info, media_type, drm_contentInfo);
-               media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
+               if (ret != MEDIA_INFO_ERROR_NONE) {
+                       _media_svc_destroy_noti_item(noti_item);
+                       return ret;
+               }
        }
 #if 1
        /* Extracting thumbnail */
@@ -931,11 +944,6 @@ int media_svc_refresh_item(MediaSvcHandle *handle, media_svc_storage_type_e stor
                        content_info.media_meta.height = height;
        }
 #endif
-       /* Get notification info */
-       media_svc_noti_item *noti_item = NULL;
-       ret = _media_svc_get_noti_info(handle, path, MS_MEDIA_ITEM_FILE, &noti_item);
-       media_svc_retv_if(ret != MEDIA_INFO_ERROR_NONE, ret);
-
        ret = _media_svc_update_item_with_data(db_handle, &content_info);
 
        if (ret == MEDIA_INFO_ERROR_NONE) {