Use get_image_info instead
[platform/core/multimedia/libmedia-service.git] / src / common / media-svc-util.c
index f4997a6..8fbb2a8 100644 (file)
@@ -29,7 +29,6 @@
 #include <libexif/exif-data.h>
 #include <media-util.h>
 #include <uuid/uuid.h>
-#include <mm_util_magick.h>
 #include <media-thumbnail.h>
 #include "media-svc-util.h"
 #include "media-svc-db-utils.h"
@@ -318,22 +317,18 @@ static int __media_svc_save_image(unsigned char *image, unsigned int size, char
        return MS_MEDIA_ERR_NONE;
 }
 
-static char *__media_svc_get_title_from_filepath(const char *path)
+static char *__media_svc_get_title_from_filename(const char *filename)
 {
-       char *filename = NULL;
        char *title = NULL;
        char *last_dot = NULL;
 
-       media_svc_retvm_if(!STRING_VALID(path), NULL, "Invalid path");
-
-       filename = g_path_get_basename(path);
+       media_svc_retvm_if(!STRING_VALID(filename), g_strdup(MEDIA_SVC_TAG_UNKNOWN), "Invalid path");
 
        last_dot = strrchr(filename, '.');
        if (last_dot) {
                title = g_strndup(filename, last_dot - filename);
-               g_free(filename);
        } else {
-               title = filename;
+               title = g_strdup(filename);
        }
 
        media_svc_debug("extract title is [%s]", title);
@@ -454,12 +449,11 @@ int _media_svc_set_media_info(media_svc_content_info_s *content_info, const char
        return MS_MEDIA_ERR_NONE;
 }
 
-static char * __media_svc_get_title(MMHandleType tag, const char *path)
+static char * __media_svc_get_title(MMHandleType tag, const char *filename)
 {
        int ret = FILEINFO_ERROR_NONE;
        char *p = NULL;
        int size = 0;
-       char *title = NULL;
 
        if (tag) {
                ret = mm_file_get_attrs(tag, MM_FILE_TAG_TITLE, &p, &size, NULL);
@@ -471,19 +465,13 @@ static char * __media_svc_get_title(MMHandleType tag, const char *path)
                }
        }
 
-       title = __media_svc_get_title_from_filepath(path);
-       if (title)
-               return title;
-
-       media_svc_error("Can't extract title");
-
-       return g_strdup(MEDIA_SVC_TAG_UNKNOWN);
+       return __media_svc_get_title_from_filename(filename);
 }
 
-char * _media_svc_get_title_by_path(const char *path)
+char * _media_svc_get_title_from_filename(const char *filename)
 {
        /* No MMHandleType in media-svc.c */
-       return __media_svc_get_title(NULL, path);
+       return __media_svc_get_title_from_filename(filename);
 }
 
 int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info)
@@ -502,7 +490,7 @@ int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info)
        media_svc_retvm_if(!STRING_VALID(content_info->path), MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid path");
 
        path = content_info->path;
-       content_info->media_meta.title = __media_svc_get_title(NULL, path);
+       content_info->media_meta.title = __media_svc_get_title_from_filename(content_info->file_name);
 
        /* Not used. But to preserved the behavior, set MEDIA_SVC_TAG_UNKNOWN. */
        content_info->media_meta.album = g_strdup(MEDIA_SVC_TAG_UNKNOWN);
@@ -566,14 +554,14 @@ int _media_svc_extract_image_metadata(media_svc_content_info_s *content_info)
                exif_data_unref(ed);
 
 GET_WIDTH_HEIGHT:
-
        if (content_info->media_meta.width == 0 || content_info->media_meta.height == 0) {
                /*Get image width, height*/
                unsigned int img_width = 0;
                unsigned int img_height = 0;
-               mm_util_img_codec_type img_type = IMG_CODEC_UNKNOWN_TYPE;
 
-               mm_util_extract_image_info(path, &img_type, &img_width, &img_height);
+               if (get_image_info(path, &img_width, &img_height) != THUMB_OK)
+                       return MS_MEDIA_ERR_NONE;
+
                if (content_info->media_meta.width == 0)
                        content_info->media_meta.width = img_width;
 
@@ -616,7 +604,7 @@ int _media_svc_extract_audio_metadata(sqlite3 *handle, bool is_direct, media_svc
                mmf_error = mm_file_create_tag_attrs_no_albumart(&tag, content_info->path);
 
        if (mmf_error == FILEINFO_ERROR_NONE) {
-               content_info->media_meta.title = __media_svc_get_title(tag, content_info->path);
+               content_info->media_meta.title = __media_svc_get_title(tag, content_info->file_name);
                content_info->media_meta.album = __media_svc_get_tag_str_value(tag, MM_FILE_TAG_ALBUM);
                content_info->media_meta.artist = __media_svc_get_tag_str_value(tag, MM_FILE_TAG_ARTIST);
                content_info->media_meta.album_artist = __media_svc_get_tag_str_value(tag, MM_FILE_TAG_ALBUM_ARTIST);
@@ -701,7 +689,7 @@ int _media_svc_extract_audio_metadata(sqlite3 *handle, bool is_direct, media_svc
                if (mmf_error != FILEINFO_ERROR_NONE)
                        media_svc_error("fail to free tag attr - err(%x)", mmf_error);
        }       else {
-               content_info->media_meta.title = __media_svc_get_title(NULL, content_info->path);
+               content_info->media_meta.title = __media_svc_get_title_from_filename(content_info->file_name);
                content_info->album_id = album_id;
        }
 
@@ -747,7 +735,7 @@ int _media_svc_extract_video_metadata(media_svc_content_info_s *content_info)
 
        mm_file_destroy_content_attrs(content);
 
-       content_info->media_meta.title = __media_svc_get_title(NULL, content_info->path);
+       content_info->media_meta.title = __media_svc_get_title_from_filename(content_info->file_name);
        content_info->media_meta.album = g_strdup(MEDIA_SVC_TAG_UNKNOWN);
        content_info->media_meta.artist = g_strdup(MEDIA_SVC_TAG_UNKNOWN);
        content_info->media_meta.album_artist = g_strdup(MEDIA_SVC_TAG_UNKNOWN);