int media_svc_send_query(uid_t uid);
int media_svc_get_media_type(const char *path, int *mediatype);
+int media_svc_create_thumbnail(const char *file_path, int media_type, uid_t uid, char **thumbnail_path);
#ifdef __cplusplus
}
return MS_MEDIA_ERR_INVALID_PARAMETER;
}
- media_svc_sec_debug("Path : %s", path);
+ media_svc_sec_debug("Path[%s] Type[%d]", path, media_type);
//1. make hash path
ret = _media_svc_get_thumbnail_path(store_type, media_type, thumb_path, path, THUMB_EXT, uid);
return _media_svc_get_media_type(path, mediatype);
}
+int media_svc_create_thumbnail(const char *file_path, int media_type, uid_t uid, char **thumbnail_path)
+{
+ int ret = MS_MEDIA_ERR_NONE;
+ char thumb_path[MEDIA_SVC_PATHNAME_SIZE + 1] = { 0, };
+ char *sql = NULL;
+
+ // 1. Check media type
+ if (media_type != MS_MEDIA_IMAGE && media_type != MS_MEDIA_VIDEO)
+ return MS_MEDIA_ERR_UNSUPPORTED_CONTENT;
+
+ // 2. try to create thumbnail
+ ret = _media_svc_create_thumbnail(file_path, thumb_path, MEDIA_SVC_PATHNAME_SIZE, media_type, uid);
+ if (ret != MS_MEDIA_ERR_NONE)
+ media_svc_error("Failed to create thumbnail [%d]", ret);
+
+ // 3. Update creation result to media db
+ sql = sqlite3_mprintf("UPDATE %q SET thumbnail_path = '%q' WHERE path='%q';", MEDIA_SVC_DB_TABLE_MEDIA, thumb_path, file_path);
+
+ ret = _media_svc_sql_query(sql, uid);
+ SQLITE3_SAFE_FREE(sql);
+ if (ret != MS_MEDIA_ERR_NONE) {
+ media_svc_error("Failed to update media db [%d]", ret);
+ *thumbnail_path = g_strdup("");
+ } else {
+ *thumbnail_path = g_strdup(thumb_path);
+ }
+
+ return ret;
+}