#include <aul/aul.h>
#include <mm_file.h>
#include <libexif/exif-data.h>
-#include <media-util.h>
#include <uuid/uuid.h>
#include <media-thumbnail.h>
+#include <media-util-user.h>
#include "media-svc-util.h"
#include "media-svc-db-utils.h"
#include "media-svc-debug.h"
char * _media_svc_get_title_from_filename(const char *filename)
{
- /* No MMHandleType in media-svc.c */
return __media_svc_get_title_from_filename(filename);
}
}
content_info->media_meta.title = __media_svc_find_and_get_value(root, "title");
+ /* In the case of PDF, if there is no title, it may not be a metadata block. Search for the next xml block*/
if (is_pdf && !content_info->media_meta.title) {
xmlFreeDoc(doc);
return FALSE;
int _media_svc_extract_book_metadata(media_svc_content_info_s *content_info)
{
+ int ret = MS_MEDIA_ERR_NONE;
+
media_svc_retvm_if(!content_info, MS_MEDIA_ERR_INVALID_PARAMETER, "content info is NULL");
if (g_str_has_suffix(content_info->mime_type, "epub+zip"))
- return __media_svc_get_epub_metadata(content_info);
+ ret = __media_svc_get_epub_metadata(content_info);
else
- return __media_svc_get_pdf_metadata(content_info);
+ ret = __media_svc_get_pdf_metadata(content_info);
+
+ media_svc_retvm_if(ret != MS_MEDIA_ERR_NONE, ret, "failed to extract metadata");
+ if (!content_info->media_meta.title || strlen(content_info->media_meta.title) == 0) {
+ g_free(content_info->media_meta.title);
+ content_info->media_meta.title = __media_svc_get_title_from_filename(content_info->file_name);
+ }
+
+ return MS_MEDIA_ERR_NONE;
}
void _media_svc_destroy_content_info(media_svc_content_info_s *content_info)
//1. make thumb path
ret = __media_svc_get_thumbnail_path(thumb_path, path, NULL, uid);
- if (ret != MS_MEDIA_ERR_NONE) {
- media_svc_error("Failed to create thumbnail path[%d]", ret);
- g_strlcpy(thumb_path, "", MAX_FILEPATH_LEN);
- return ret;
- }
+ media_svc_retvm_if(ret != MS_MEDIA_ERR_NONE, ret, "Failed to create thumbnail path[%d]", ret);
//2. save thumbnail
if (media_type == MEDIA_SVC_MEDIA_TYPE_IMAGE)