Use g_free instead of macro 55/230255/1
authorMinje Ahn <minje.ahn@samsung.com>
Thu, 9 Apr 2020 04:07:41 +0000 (13:07 +0900)
committerMinje Ahn <minje.ahn@samsung.com>
Thu, 9 Apr 2020 04:07:41 +0000 (13:07 +0900)
Change-Id: I600ed5f86d2027f8866e759ae8ff78254d244cca
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
src/common/media-svc-db-utils.c
src/common/media-svc-localize_ch.c
src/common/media-svc-media-folder.c
src/common/media-svc-noti.c
src/common/media-svc-storage.c
src/common/media-svc-util.c
src/common/media-svc.c
src/include/common/media-svc-util.h

index a9f0da2..47a11b1 100755 (executable)
@@ -62,8 +62,7 @@ static int __media_svc_add_table_info(const char *name, const char *trigger_name
                media_svc_retvm_if(!STRING_VALID(action_table), MS_MEDIA_ERR_INVALID_PARAMETER, "action_table is NULL");
        }
 
-       tbl = calloc(1, sizeof(table_info_s));
-       media_svc_retvm_if(!tbl, MS_MEDIA_ERR_OUT_OF_MEMORY, "Failed to allocation");
+       tbl = g_new0(table_info_s, 1);
 
        if (STRING_VALID(trigger_name)) {
                tbl->trigger_name = g_strdup(trigger_name);
@@ -79,11 +78,9 @@ static int __media_svc_add_table_info(const char *name, const char *trigger_name
        return MS_MEDIA_ERR_NONE;
 }
 
-int __media_svc_add_column_info(GSList **slist, const char *name, const char *type, const char *option, int version, const char *index_name, bool is_unique, bool is_trigger, bool is_view)
+static void __media_svc_add_column_info(GSList **slist, const char *name, const char *type, const char *option, int version, const char *index_name, bool is_unique, bool is_trigger, bool is_view)
 {
-       column_info_s *col = NULL;
-       col = calloc(1, sizeof(column_info_s));
-       media_svc_retvm_if(!col, MS_MEDIA_ERR_OUT_OF_MEMORY, "Failed to allocation");
+       column_info_s *col = g_new0(column_info_s, 1);
 
        col->name = g_strdup(name);
        col->type = g_strdup(type);
@@ -96,8 +93,6 @@ int __media_svc_add_column_info(GSList **slist, const char *name, const char *ty
        col->is_view = is_view;
 
        *slist = g_slist_append(*slist, col);
-
-       return MS_MEDIA_ERR_NONE;
 }
 
 static int __create_playlist_view(uid_t uid)
@@ -407,22 +402,22 @@ static void __media_svc_table_free(gpointer data)
 {
        table_info_s *tb = (table_info_s *) data;
 
-       SAFE_FREE(tb->trigger_name);
-       SAFE_FREE(tb->view_name);
-       SAFE_FREE(tb->event_table);
-       SAFE_FREE(tb->action_table);
-       SAFE_FREE(tb);
+       g_free(tb->trigger_name);
+       g_free(tb->view_name);
+       g_free(tb->event_table);
+       g_free(tb->action_table);
+       g_free(tb);
 }
 
 static void __media_svc_column_free(gpointer data)
 {
        column_info_s *col = (column_info_s *) data;
 
-       SAFE_FREE(col->name);
-       SAFE_FREE(col->type);
-       SAFE_FREE(col->option);
-       SAFE_FREE(col->index_name);
-       SAFE_FREE(col);
+       g_free(col->name);
+       g_free(col->type);
+       g_free(col->option);
+       g_free(col->index_name);
+       g_free(col);
 }
 
 int _media_svc_init_table_query(const char *event_table_name)
@@ -458,225 +453,127 @@ int _media_svc_init_table_query(const char *event_table_name)
 
        /*insert column info.. */
        /*media*/
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_id", MEDIA_SVC_DB_TYPE_TEXT, "PRIMARY KEY", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_path", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL UNIQUE", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_display_name", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_type", MEDIA_SVC_DB_TYPE_INT, NULL, USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_mime_type", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_size", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_added_time", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_modified_time", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "folder_id", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL", USER_V2, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_thumbnail_path", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_title", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "album_id", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V2, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_album", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_artist", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_album_artist", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_genre", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_composer", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_year", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_recorded_date", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_copyright", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_track_num", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_description", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_bitrate", MEDIA_SVC_DB_TYPE_INT, "DEFAULT -1", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_bitpersample", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V3, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_samplerate", MEDIA_SVC_DB_TYPE_INT, "DEFAULT -1", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_channel", MEDIA_SVC_DB_TYPE_INT, "DEFAULT -1", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_duration", MEDIA_SVC_DB_TYPE_INT, "DEFAULT -1", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_longitude", MEDIA_SVC_DB_TYPE_DOUBLE, "DEFAULT 0", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_latitude", MEDIA_SVC_DB_TYPE_DOUBLE, "DEFAULT 0", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_altitude", MEDIA_SVC_DB_TYPE_DOUBLE, "DEFAULT 0", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "exposure_time", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V4, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "fnumber", MEDIA_SVC_DB_TYPE_DOUBLE, "DEFAULT 0", USER_V4, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "iso", MEDIA_SVC_DB_TYPE_INT, "DEFAULT -1", USER_V4, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "model", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V4, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_width", MEDIA_SVC_DB_TYPE_INT, "DEFAULT -1", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_height", MEDIA_SVC_DB_TYPE_INT, "DEFAULT -1", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_datetaken", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_orientation", MEDIA_SVC_DB_TYPE_INT, "DEFAULT -1", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_rating", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_favourite", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_is_drm", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_storage_type", MEDIA_SVC_DB_TYPE_INT, NULL, USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_timeline", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_file_name_pinyin", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_title_pinyin", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_album_pinyin", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_artist_pinyin", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_album_artist_pinyin", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_genre_pinyin", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_composer_pinyin", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_copyright_pinyin", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_description_pinyin", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_id", MEDIA_SVC_DB_TYPE_TEXT, "PRIMARY KEY", USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_path", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL UNIQUE", USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_display_name", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL", USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_type", MEDIA_SVC_DB_TYPE_INT, NULL, USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_mime_type", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_size", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_added_time", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_modified_time", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "folder_id", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL", USER_V2, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_thumbnail_path", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_title", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "album_id", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V2, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_album", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_artist", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_album_artist", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_genre", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_composer", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_year", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_recorded_date", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_copyright", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_track_num", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_description", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_bitrate", MEDIA_SVC_DB_TYPE_INT, "DEFAULT -1", USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_bitpersample", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V3, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_samplerate", MEDIA_SVC_DB_TYPE_INT, "DEFAULT -1", USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_channel", MEDIA_SVC_DB_TYPE_INT, "DEFAULT -1", USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_duration", MEDIA_SVC_DB_TYPE_INT, "DEFAULT -1", USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_longitude", MEDIA_SVC_DB_TYPE_DOUBLE, "DEFAULT 0", USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_latitude", MEDIA_SVC_DB_TYPE_DOUBLE, "DEFAULT 0", USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_altitude", MEDIA_SVC_DB_TYPE_DOUBLE, "DEFAULT 0", USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "exposure_time", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V4, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "fnumber", MEDIA_SVC_DB_TYPE_DOUBLE, "DEFAULT 0", USER_V4, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "iso", MEDIA_SVC_DB_TYPE_INT, "DEFAULT -1", USER_V4, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "model", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V4, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_width", MEDIA_SVC_DB_TYPE_INT, "DEFAULT -1", USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_height", MEDIA_SVC_DB_TYPE_INT, "DEFAULT -1", USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_datetaken", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_orientation", MEDIA_SVC_DB_TYPE_INT, "DEFAULT -1", USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_rating", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_favourite", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_is_drm", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_storage_type", MEDIA_SVC_DB_TYPE_INT, NULL, USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_timeline", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_file_name_pinyin", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_title_pinyin", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_album_pinyin", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_artist_pinyin", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_album_artist_pinyin", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_genre_pinyin", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_composer_pinyin", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_copyright_pinyin", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_description_pinyin", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
        /* storage_uuid column is added in DB v4. When doing DB upgrade to v4, if storage_uuid is NOT NULL, alter table failed. */
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "storage_uuid", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V4, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "validity", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 1", USER_V2, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "storage_uuid", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V4, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "validity", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 1", USER_V2, NULL, false, false, false);
        /* color column is added with dcm. (DB v5) */
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_360", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V5, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_MEDIA], "media_360", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V5, NULL, false, false, true);
 
        /*folder*/
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FOLDER], "folder_id", MEDIA_SVC_DB_TYPE_TEXT, "PRIMARY KEY", USER_V2, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FOLDER], "folder_path", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL", USER_V2, NULL, true, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FOLDER], "folder_name", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL", USER_V2, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FOLDER], "folder_modified_time", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V2, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FOLDER], "folder_name_pinyin", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FOLDER], "folder_storage_type", MEDIA_SVC_DB_TYPE_INT, NULL, USER_V2, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FOLDER], "folder_id", MEDIA_SVC_DB_TYPE_TEXT, "PRIMARY KEY", USER_V2, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FOLDER], "folder_path", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL", USER_V2, NULL, true, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FOLDER], "folder_name", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL", USER_V2, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FOLDER], "folder_modified_time", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V2, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FOLDER], "folder_name_pinyin", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FOLDER], "folder_storage_type", MEDIA_SVC_DB_TYPE_INT, NULL, USER_V2, NULL, false, false, false);
        /* storage_uuid column is added in DB v4. When doing DB upgrade to v4, if storage_uuid is NOT NULL, alter table failed. */
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FOLDER], "storage_uuid", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V4, NULL, true, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FOLDER], "validity", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 1", USER_V4, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FOLDER], "storage_uuid", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V4, NULL, true, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FOLDER], "validity", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 1", USER_V4, NULL, false, false, false);
 
        /*playlist_map*/
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_PLAYLIST_MAP], "_id", MEDIA_SVC_DB_TYPE_INT, "PRIMARY KEY AUTOINCREMENT", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_PLAYLIST_MAP], "playlist_id", MEDIA_SVC_DB_TYPE_INT, "NOT NULL", USER_V2, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_PLAYLIST_MAP], "media_id", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL", USER_V2, NULL, false, true, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_PLAYLIST_MAP], "playlist_member_order", MEDIA_SVC_DB_TYPE_INT, "NOT NULL", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_PLAYLIST_MAP], "_id", MEDIA_SVC_DB_TYPE_INT, "PRIMARY KEY AUTOINCREMENT", USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_PLAYLIST_MAP], "playlist_id", MEDIA_SVC_DB_TYPE_INT, "NOT NULL", USER_V2, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_PLAYLIST_MAP], "media_id", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL", USER_V2, NULL, false, true, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_PLAYLIST_MAP], "playlist_member_order", MEDIA_SVC_DB_TYPE_INT, "NOT NULL", USER_V2, NULL, false, false, true);
 
        /*playlist*/
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_PLAYLIST], "playlist_id", MEDIA_SVC_DB_TYPE_INT, "PRIMARY KEY AUTOINCREMENT", USER_V2, NULL, false, true, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_PLAYLIST], "playlist_name", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL UNIQUE", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_PLAYLIST], "thumbnail_path", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_PLAYLIST], "playlist_id", MEDIA_SVC_DB_TYPE_INT, "PRIMARY KEY AUTOINCREMENT", USER_V2, NULL, false, true, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_PLAYLIST], "playlist_name", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL UNIQUE", USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_PLAYLIST], "thumbnail_path", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, true);
 
        /*album*/
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_ALBUM], "album_id", MEDIA_SVC_DB_TYPE_INT, "PRIMARY KEY AUTOINCREMENT", USER_V2, NULL, false, true, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_ALBUM], "name", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL", USER_V2, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_ALBUM], "artist", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_ALBUM], "album_art", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_ALBUM], "album_id", MEDIA_SVC_DB_TYPE_INT, "PRIMARY KEY AUTOINCREMENT", USER_V2, NULL, false, true, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_ALBUM], "name", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL", USER_V2, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_ALBUM], "artist", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_ALBUM], "album_art", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
 
        /*tag_map*/
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_TAG_MAP], "_id", MEDIA_SVC_DB_TYPE_INT, "PRIMARY KEY AUTOINCREMENT", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_TAG_MAP], "tag_id", MEDIA_SVC_DB_TYPE_INT, "NOT NULL", USER_V2, NULL, true, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_TAG_MAP], "media_id", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL", USER_V2, NULL, true, true, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_TAG_MAP], "_id", MEDIA_SVC_DB_TYPE_INT, "PRIMARY KEY AUTOINCREMENT", USER_V2, NULL, false, false, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_TAG_MAP], "tag_id", MEDIA_SVC_DB_TYPE_INT, "NOT NULL", USER_V2, NULL, true, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_TAG_MAP], "media_id", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL", USER_V2, NULL, true, true, false);
 
        /*tag*/
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_TAG], "tag_id ", MEDIA_SVC_DB_TYPE_INT, "PRIMARY KEY AUTOINCREMENT", USER_V2, NULL, false, true, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_TAG], "tag_name", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL UNIQUE", USER_V2, NULL, false, false, true);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_TAG], "tag_id ", MEDIA_SVC_DB_TYPE_INT, "PRIMARY KEY AUTOINCREMENT", USER_V2, NULL, false, true, true);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_TAG], "tag_name", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL UNIQUE", USER_V2, NULL, false, false, true);
 
        /*bookmark*/
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_BOOKMARK], "bookmark_id", MEDIA_SVC_DB_TYPE_INT, "PRIMARY KEY AUTOINCREMENT", USER_V2, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_BOOKMARK], "media_id", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL", USER_V2, NULL, true, true, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_BOOKMARK], "bookmark_marked_time", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V2, NULL, true, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_BOOKMARK], "bookmark_thumbnail_path", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_BOOKMARK], "bookmark_name", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V6, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_BOOKMARK], "bookmark_id", MEDIA_SVC_DB_TYPE_INT, "PRIMARY KEY AUTOINCREMENT", USER_V2, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_BOOKMARK], "media_id", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL", USER_V2, NULL, true, true, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_BOOKMARK], "bookmark_marked_time", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V2, NULL, true, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_BOOKMARK], "bookmark_thumbnail_path", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V2, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_BOOKMARK], "bookmark_name", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V6, NULL, false, false, false);
 
        /*storage*/
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_STORAGE], "storage_id", MEDIA_SVC_DB_TYPE_TEXT, "PRIMARY KEY", USER_V3, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_STORAGE], "storage_path", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL", USER_V3, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_STORAGE], "storage_type", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V3, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_STORAGE], "validity", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 1", USER_V3, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_STORAGE], "storage_id", MEDIA_SVC_DB_TYPE_TEXT, "PRIMARY KEY", USER_V3, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_STORAGE], "storage_path", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL", USER_V3, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_STORAGE], "storage_type", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V3, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_STORAGE], "validity", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 1", USER_V3, NULL, false, false, false);
 
        /*face scan list*/
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FACE_SCAN_LIST], "media_id", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL UNIQUE", USER_V4, NULL, false, true, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FACE_SCAN_LIST], "modified_time", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V6, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FACE_SCAN_LIST], "media_id", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL UNIQUE", USER_V4, NULL, false, true, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FACE_SCAN_LIST], "modified_time", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V6, NULL, false, false, false);
 
        /*face*/
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FACE], "media_face_id", MEDIA_SVC_DB_TYPE_INT, "PRIMARY KEY AUTOINCREMENT", USER_V4, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FACE], "media_id", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL", USER_V4, NULL, true, true, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FACE], "face_rect_x", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V4, NULL, true, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FACE], "face_rect_y", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V4, NULL, true, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FACE], "face_rect_w", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V4, NULL, true, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FACE], "face_rect_h", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V4, NULL, true, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FACE], "face_orientation", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V4, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
-       ret = __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FACE], "media_face_tag", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V4, NULL, false, false, false);
-       media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FACE], "media_face_id", MEDIA_SVC_DB_TYPE_INT, "PRIMARY KEY AUTOINCREMENT", USER_V4, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FACE], "media_id", MEDIA_SVC_DB_TYPE_TEXT, "NOT NULL", USER_V4, NULL, true, true, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FACE], "face_rect_x", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V4, NULL, true, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FACE], "face_rect_y", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V4, NULL, true, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FACE], "face_rect_w", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V4, NULL, true, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FACE], "face_rect_h", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V4, NULL, true, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FACE], "face_orientation", MEDIA_SVC_DB_TYPE_INT, "DEFAULT 0", USER_V4, NULL, false, false, false);
+       __media_svc_add_column_info(&column_list[MEDIA_SVC_DB_LIST_FACE], "media_face_tag", MEDIA_SVC_DB_TYPE_TEXT, NULL, USER_V4, NULL, false, false, false);
 
        return ret;
 }
index 03d49de..147996e 100755 (executable)
@@ -2246,8 +2246,7 @@ int _media_svc_convert_chinese_to_pinyin(const char *src, pinyin_name_s **name,
        }
 
        *size = total_count;
-       temp_name = calloc(total_count, sizeof(pinyin_name_s));
-       media_svc_retvm_if(temp_name == NULL, MS_MEDIA_ERR_OUT_OF_MEMORY, "calloc Failed()");
+       temp_name = g_new0(pinyin_name_s, total_count);
 
        int repeat = 1;
        int name_len[total_count];
@@ -2265,14 +2264,8 @@ int _media_svc_convert_chinese_to_pinyin(const char *src, pinyin_name_s **name,
                                name_len[j] = 0;
                                initial_len[j] = 0;
 
-                               temp_name[j].pinyin_name = calloc(1, pinyin_name_len);
-                               temp_name[j].pinyin_initial = calloc(1, pinyin_initial_len);
-                               if (temp_name[j].pinyin_initial == NULL || temp_name[j].pinyin_name == NULL) {
-                                       media_svc_error("calloc failed");
-                                       SAFE_FREE(temp_name[j].pinyin_name);
-                                       SAFE_FREE(temp_name[j].pinyin_initial);
-                                       continue;
-                               }
+                               temp_name[j].pinyin_name = (char *)g_malloc0(pinyin_name_len);
+                               temp_name[j].pinyin_initial = (char *)g_malloc0(pinyin_initial_len);
                        }
 
                        if (spell[i][index][0]) {
@@ -2312,9 +2305,9 @@ void _media_svc_pinyin_free(pinyin_name_s *pinyinname, int size)
                return;
 
        for (i = 0; i < size; i++) {
-               SAFE_FREE(pinyinname[i].pinyin_initial);
-               SAFE_FREE(pinyinname[i].pinyin_name);
+               g_free(pinyinname[i].pinyin_initial);
+               g_free(pinyinname[i].pinyin_name);
        }
-       SAFE_FREE(pinyinname);
+       g_free(pinyinname);
 }
 
index 57fdd98..06c6f10 100755 (executable)
@@ -69,8 +69,8 @@ static int __media_svc_append_folder(bool is_direct, const char *storage_id, ms_
 
        SQLITE3_SAFE_FREE(sql);
 
-       SAFE_FREE(folder_name);
-       SAFE_FREE(folder_name_pinyin);
+       g_free(folder_name);
+       g_free(folder_name_pinyin);
 
        return ret;
 }
@@ -105,7 +105,7 @@ static int __media_svc_get_and_append_parent_folder(sqlite3 *handle, bool is_dir
                media_svc_retvm_if(ret != MS_MEDIA_ERR_NONE, ret, "Fail to get root path");
 
                next_pos = strlen(internal_path);
-               SAFE_FREE(internal_path);
+               g_free(internal_path);
        } else {
                media_svc_retvm_if(!STRING_VALID(MEDIA_ROOT_PATH_EXTERNAL), MS_MEDIA_ERR_INTERNAL, "Failed to get root path");
                next_pos = strlen(MEDIA_ROOT_PATH_EXTERNAL) + 1;
@@ -123,7 +123,7 @@ static int __media_svc_get_and_append_parent_folder(sqlite3 *handle, bool is_dir
 
                ret = _media_svc_check_folder_by_path(handle, storage_id, dir_path);
                if (ret == MS_MEDIA_ERR_DB_NO_RECORD) {
-                       SAFE_FREE(folder_uuid);
+                       g_free(folder_uuid);
                        folder_uuid = _media_info_generate_uuid();
                        if (folder_uuid == NULL) {
                                media_svc_error("Invalid UUID");
@@ -143,7 +143,7 @@ static int __media_svc_get_and_append_parent_folder(sqlite3 *handle, bool is_dir
 
        if (STRING_VALID(folder_uuid)) {
                SAFE_STRLCPY(folder_id, folder_uuid, MEDIA_SVC_UUID_SIZE + 1);
-               SAFE_FREE(folder_uuid);
+               g_free(folder_uuid);
        } else {
                media_svc_error("Fail to get folder_uuid");
                return MS_MEDIA_ERR_INTERNAL;
@@ -163,7 +163,7 @@ int _media_svc_get_and_append_folder_id_by_path(sqlite3 *handle, bool is_direct,
        if (ret == MS_MEDIA_ERR_DB_NO_RECORD)
                ret = __media_svc_get_and_append_parent_folder(handle, is_direct, storage_id, dir_path, storage_type, folder_id, uid);
 
-       SAFE_FREE(dir_path);
+       g_free(dir_path);
 
        return ret;
 }
index fa56afc..8b88142 100755 (executable)
@@ -48,10 +48,10 @@ static void __media_svc_destroy_noti_item(gpointer data)
 {
        media_svc_noti_item *item = (media_svc_noti_item *)data;
 
-       SAFE_FREE(item->media_uuid);
-       SAFE_FREE(item->path);
-       SAFE_FREE(item->mime_type);
-       SAFE_FREE(item);
+       g_free(item->media_uuid);
+       g_free(item->path);
+       g_free(item->mime_type);
+       g_free(item);
 }
 
 int _media_svc_publish_noti(media_item_update_type_e update_type, const char *path, media_type_e media_type, const char *uuid, const char *mime_type)
@@ -100,20 +100,17 @@ void _media_svc_insert_item_to_noti_list(media_svc_content_info_s *content_info)
        if (!content_info)
                return;
 
-       item = (media_svc_noti_item *) malloc(sizeof(media_svc_noti_item));
-       if (item) {
-               item->pid = g_noti_from_pid;
-               item->update_item = MS_MEDIA_ITEM_INSERT; /* INSERT */
-               item->update_type = MS_MEDIA_ITEM_FILE;
-               item->media_type = content_info->media_type;
-               item->media_uuid = g_strdup(content_info->media_uuid);
-               item->path = g_strdup(content_info->path);
-               item->mime_type = g_strdup(content_info->mime_type);
-
-               g_inserted_noti_list = g_slist_append(g_inserted_noti_list, (gpointer)item);
-       } else {
-               media_svc_error("Allocation failed");
-       }
+       item = g_new0(media_svc_noti_item, 1);
+
+       item->pid = g_noti_from_pid;
+       item->update_item = MS_MEDIA_ITEM_INSERT; /* INSERT */
+       item->update_type = MS_MEDIA_ITEM_FILE;
+       item->media_type = content_info->media_type;
+       item->media_uuid = g_strdup(content_info->media_uuid);
+       item->path = g_strdup(content_info->path);
+       item->mime_type = g_strdup(content_info->mime_type);
+
+       g_inserted_noti_list = g_slist_append(g_inserted_noti_list, (gpointer)item);
 }
 
 void _media_svc_publish_noti_list(void)
@@ -128,8 +125,8 @@ void _media_svc_destroy_noti_item(media_svc_noti_item *item)
        if (!item)
                return;
 
-       SAFE_FREE(item->media_uuid);
-       SAFE_FREE(item->path);
-       SAFE_FREE(item->mime_type);
-       SAFE_FREE(item);
+       g_free(item->media_uuid);
+       g_free(item->path);
+       g_free(item->mime_type);
+       g_free(item);
 }
index c0a603d..9ffb0fa 100755 (executable)
@@ -170,11 +170,11 @@ int _media_svc_get_storage_uuid(sqlite3 *handle, const char *path, char *storage
 
        if (STRING_VALID(internal_path) && strncmp(path, internal_path, strlen(internal_path)) == 0) {
                SAFE_STRLCPY(storage_id, MEDIA_SVC_DB_TABLE_MEDIA, MEDIA_SVC_UUID_SIZE+1);
-               SAFE_FREE(internal_path);
+               g_free(internal_path);
                return MS_MEDIA_ERR_NONE;
        }
 
-       SAFE_FREE(internal_path);
+       g_free(internal_path);
 
        sql = sqlite3_mprintf("SELECT storage_id FROM %q WHERE validity=1 AND instr(%Q, storage_path)", MEDIA_SVC_DB_TABLE_STORAGE, path);
 
index acca550..9a9020f 100644 (file)
@@ -581,11 +581,11 @@ static int __media_svc_save_image(unsigned char *image, unsigned int size, char
 
        if (-1 == statfs(thumb_path, &fs)) {
                media_svc_error("error in statfs");
-               SAFE_FREE(thumb_path);
+               g_free(thumb_path);
                return MS_MEDIA_ERR_INTERNAL;
        }
 
-       SAFE_FREE(thumb_path);
+       g_free(thumb_path);
 
        long bsize_kbytes = fs.f_bsize >> 10;
 
@@ -632,7 +632,7 @@ static char *__media_svc_get_title_from_filepath(const char *path)
        filename = g_path_get_basename(path);
        if (!STRING_VALID(filename)) {
                media_svc_error("wrong file name");
-               SAFE_FREE(filename);
+               g_free(filename);
                return NULL;
        }
 
@@ -647,13 +647,13 @@ static char *__media_svc_get_title_from_filepath(const char *path)
        new_title_len = filename_len - strlen(ext);
        if (new_title_len < 1) {
                media_svc_error("title length is zero");
-               SAFE_FREE(filename);
+               g_free(filename);
                return NULL;
        }
 
        title = g_strndup(filename, new_title_len < MEDIA_SVC_PATHNAME_SIZE ? new_title_len : MEDIA_SVC_PATHNAME_SIZE - 1);
 
-       SAFE_FREE(filename);
+       g_free(filename);
 
        media_svc_debug("extract title is [%s]", title);
 
@@ -685,7 +685,7 @@ int _media_svc_get_thumbnail_path(media_svc_media_type_e media_type, char *thumb
 
        if (!g_file_test(thumb_dir, G_FILE_TEST_IS_DIR)) {
                media_svc_error("Wrong path[%s]", thumb_dir);
-               SAFE_FREE(thumb_dir);
+               g_free(thumb_dir);
                return MS_MEDIA_ERR_INTERNAL;
        }
 
@@ -696,7 +696,7 @@ int _media_svc_get_thumbnail_path(media_svc_media_type_e media_type, char *thumb
        ret = mb_svc_generate_hash_code(pathname, hash, sizeof(hash));
        if (ret != MS_MEDIA_ERR_NONE) {
                media_svc_error("mb_svc_generate_hash_code failed : %d", ret);
-               SAFE_FREE(thumb_dir);
+               g_free(thumb_dir);
                return MS_MEDIA_ERR_INTERNAL;
        }
 
@@ -711,7 +711,7 @@ int _media_svc_get_thumbnail_path(media_svc_media_type_e media_type, char *thumb
                        thumbfile_ext = (char *)"bmp";
                } else {
                        media_svc_error("Not proper img format");
-                       SAFE_FREE(thumb_dir);
+                       g_free(thumb_dir);
                        return MS_MEDIA_ERR_INTERNAL;
                }
 
@@ -720,7 +720,7 @@ int _media_svc_get_thumbnail_path(media_svc_media_type_e media_type, char *thumb
                snprintf(thumb_path, MEDIA_SVC_PATHNAME_SIZE, "%s/.%s-%s.png", thumb_dir, file_ext, hash);
        }
 
-       SAFE_FREE(thumb_dir);
+       g_free(thumb_dir);
 
        return MS_MEDIA_ERR_NONE;
 }
@@ -851,11 +851,6 @@ static int __image_360_check(const char *path)
 
 
                        xmp_data = g_malloc(exif_app1_xmp_size);
-                       if (!xmp_data) {
-                               media_svc_error("invalid exif_app1_xmp_size [%zu]", exif_app1_xmp_size);
-                               goto ERROR;
-                       }
-
                        ptr = xmp_data;
 
                        do {
@@ -878,7 +873,7 @@ static int __image_360_check(const char *path)
                        && strstr(ptr, "equirectangular"))
                                result = 1;
 
-                       SAFE_FREE(xmp_data);
+                       g_free(xmp_data);
                }
        }
 
@@ -1160,7 +1155,7 @@ int _media_svc_extract_media_metadata(sqlite3 *handle, bool is_direct, media_svc
                                /*Creation time format is 2013-01-01 00:00:00 +0000. change it to 2013:01:01 00:00:00  +0000 like exif time format*/
                                char *p_value = g_strdelimit(g_strdup(p), "-", ':');
                                content_info->media_meta.recorded_date = g_strdup_printf("%s +0000", p_value);
-                               SAFE_FREE(p_value);
+                               g_free(p_value);
                        } else {
                                content_info->media_meta.recorded_date = g_strdup(p);
                        }
@@ -1345,39 +1340,39 @@ void _media_svc_destroy_content_info(media_svc_content_info_s *content_info)
        media_svc_retm_if(content_info == NULL, "content info is NULL");
 
        /* Delete media_svc_content_info_s */
-       SAFE_FREE(content_info->media_uuid);
-       SAFE_FREE(content_info->path);
-       SAFE_FREE(content_info->file_name);
-       SAFE_FREE(content_info->mime_type);
-       SAFE_FREE(content_info->folder_uuid);
-       SAFE_FREE(content_info->thumbnail_path);
-       SAFE_FREE(content_info->storage_uuid);
+       g_free(content_info->media_uuid);
+       g_free(content_info->path);
+       g_free(content_info->file_name);
+       g_free(content_info->mime_type);
+       g_free(content_info->folder_uuid);
+       g_free(content_info->thumbnail_path);
+       g_free(content_info->storage_uuid);
 
        /* Delete media_svc_content_meta_s */
-       SAFE_FREE(content_info->media_meta.title);
-       SAFE_FREE(content_info->media_meta.album);
-       SAFE_FREE(content_info->media_meta.artist);
-       SAFE_FREE(content_info->media_meta.album_artist);
-       SAFE_FREE(content_info->media_meta.genre);
-       SAFE_FREE(content_info->media_meta.composer);
-       SAFE_FREE(content_info->media_meta.year);
-       SAFE_FREE(content_info->media_meta.recorded_date);
-       SAFE_FREE(content_info->media_meta.copyright);
-       SAFE_FREE(content_info->media_meta.track_num);
-       SAFE_FREE(content_info->media_meta.description);
-       SAFE_FREE(content_info->media_meta.datetaken);
-       SAFE_FREE(content_info->media_meta.exposure_time);
-       SAFE_FREE(content_info->media_meta.model);
-
-       SAFE_FREE(content_info->file_name_pinyin);
-       SAFE_FREE(content_info->media_meta.title_pinyin);
-       SAFE_FREE(content_info->media_meta.album_pinyin);
-       SAFE_FREE(content_info->media_meta.artist_pinyin);
-       SAFE_FREE(content_info->media_meta.album_artist_pinyin);
-       SAFE_FREE(content_info->media_meta.genre_pinyin);
-       SAFE_FREE(content_info->media_meta.composer_pinyin);
-       SAFE_FREE(content_info->media_meta.copyright_pinyin);
-       SAFE_FREE(content_info->media_meta.description_pinyin);
+       g_free(content_info->media_meta.title);
+       g_free(content_info->media_meta.album);
+       g_free(content_info->media_meta.artist);
+       g_free(content_info->media_meta.album_artist);
+       g_free(content_info->media_meta.genre);
+       g_free(content_info->media_meta.composer);
+       g_free(content_info->media_meta.year);
+       g_free(content_info->media_meta.recorded_date);
+       g_free(content_info->media_meta.copyright);
+       g_free(content_info->media_meta.track_num);
+       g_free(content_info->media_meta.description);
+       g_free(content_info->media_meta.datetaken);
+       g_free(content_info->media_meta.exposure_time);
+       g_free(content_info->media_meta.model);
+
+       g_free(content_info->file_name_pinyin);
+       g_free(content_info->media_meta.title_pinyin);
+       g_free(content_info->media_meta.album_pinyin);
+       g_free(content_info->media_meta.artist_pinyin);
+       g_free(content_info->media_meta.album_artist_pinyin);
+       g_free(content_info->media_meta.genre_pinyin);
+       g_free(content_info->media_meta.composer_pinyin);
+       g_free(content_info->media_meta.copyright_pinyin);
+       g_free(content_info->media_meta.description_pinyin);
 }
 
 int _media_svc_create_thumbnail(const char *path, char *thumb_path, media_svc_media_type_e media_type, uid_t uid)
@@ -1428,9 +1423,9 @@ int _media_svc_get_pinyin_str(const char *src_str, char **pinyin_str)
        ret = _media_svc_convert_chinese_to_pinyin(src_str, &pinyinname, &size);
        if (ret == MS_MEDIA_ERR_NONE) {
                if (size > 0 && STRING_VALID(pinyinname[0].pinyin_name))
-                       *pinyin_str = strdup(pinyinname[0].pinyin_name);
+                       *pinyin_str = g_strdup(pinyinname[0].pinyin_name);
                else
-                       *pinyin_str = strdup(src_str);  /* Return Original Non China Character */
+                       *pinyin_str = g_strdup(src_str);        /* Return Original Non China Character */
        }
 
        _media_svc_pinyin_free(pinyinname, size);
index bf8839f..c27ebac 100755 (executable)
@@ -371,7 +371,7 @@ int media_svc_move_item(sqlite3 *handle,
        ret = _media_svc_get_thumbnail_path_by_path(handle, src_path, old_thumb_path);
        if ((ret != MS_MEDIA_ERR_NONE) && (ret != MS_MEDIA_ERR_DB_NO_RECORD)) {
                media_svc_error("_media_svc_get_thumbnail_path_by_path failed");
-               SAFE_FREE(file_name);
+               g_free(file_name);
                return ret;
        }
 
@@ -379,7 +379,7 @@ int media_svc_move_item(sqlite3 *handle,
 
        /*move item*/
        ret = _media_svc_update_item_by_path(src_path, dst_stg_id, dst_stg_type, dest_path, file_name, modified_time, folder_uuid, uid);
-       SAFE_FREE(file_name);
+       g_free(file_name);
        media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        media_svc_debug("Move is successful. Sending noti for this");
@@ -388,7 +388,7 @@ int media_svc_move_item(sqlite3 *handle,
        /*update folder modified_time*/
        folder_path = g_path_get_dirname(dest_path);
        ret = _media_svc_update_folder_modified_time_by_folder_uuid(folder_uuid, folder_path, uid);
-       SAFE_FREE(folder_path);
+       g_free(folder_path);
        media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
 
        return MS_MEDIA_ERR_NONE;
@@ -569,7 +569,7 @@ static void __media_svc_noti_all_storage(sqlite3 *handle, uid_t uid)
        if (ret != MS_MEDIA_ERR_NONE)
                media_svc_error("Fail to send noti");
 
-       SAFE_FREE(root_path);
+       g_free(root_path);
 
        path_list = g_ptr_array_new_with_free_func(g_free);
        _media_svc_get_storage_path(handle, &path_list);
index 982f3ba..9f5ffd2 100755 (executable)
@@ -36,14 +36,6 @@ extern "C" {
 
 #define STRING_VALID(str)      (str != NULL && strlen(str) > 0)
 
-#define SAFE_FREE(src) do { \
-                               if (src) { \
-                                       free(src); \
-                                       src = NULL; \
-                               } \
-                       } while (0)
-
-
 #define SAFE_STRLCAT(dst, src, n) do { \
                                if (src) \
                                        g_strlcat(dst, src, n); \