#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"
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);
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);
}
}
- 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)
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);
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;
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);
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;
}
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);