Fix memory leak in testsuite
[platform/core/api/media-content.git] / test / media-content_test.c
index 7baf733..8fc4103 100755 (executable)
@@ -34,16 +34,15 @@ GMainLoop *g_loop = NULL;
 static int g_cnt = 0;
 static int g_media_cnt = 0;
 
-#define test_audio_id  "0f999626-6218-450c-a4ad-181a3bab6ebf"
-#define test_video_id  "22aa5ba1-8b54-4a62-b0e4-d15f7169f7d3"
+#define test_audio_id  "3304285f-1070-41af-8b4e-f0086cc768f3"
+#define test_video_id  "53c43e7e-53d2-4194-80a6-55d5dcde0def"
 #define test_image_id "db1c184c-6f31-43b4-b924-8c00ac5b6197"
 media_folder_h g_folder = NULL;
 
-bool get_audio_meta(audio_meta_h audio)
+static void get_audio_meta(audio_meta_h audio)
 {
        char *c_value = NULL;
        int i_value = 0;
-       time_t t_value = 0;
        int ret = MEDIA_CONTENT_ERROR_NONE;
 
        media_content_debug("=== audio meta ===");
@@ -51,106 +50,113 @@ bool get_audio_meta(audio_meta_h audio)
        ret = audio_meta_get_media_id(audio, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("audio_id : [%s]", c_value);
+
+       if (c_value)
+               media_content_debug("audio_id : [%s]", c_value);
        SAFE_FREE(c_value);
 
        ret = audio_meta_get_album(audio, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("album : [%s]", c_value);
+
+       if (c_value)
+               media_content_debug("album : [%s]", c_value);
        SAFE_FREE(c_value);
 
        ret = audio_meta_get_artist(audio, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("artist : [%s]", c_value);
+
+       if (c_value)
+               media_content_debug("artist : [%s]", c_value);
        SAFE_FREE(c_value);
 
        ret = audio_meta_get_album_artist(audio, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("album_artist : [%s]", c_value);
+
+       if (c_value)
+               media_content_debug("album_artist : [%s]", c_value);
        SAFE_FREE(c_value);
 
        ret = audio_meta_get_genre(audio, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("genre : [%s]", c_value);
+
+       if (c_value)
+               media_content_debug("genre : [%s]", c_value);
        SAFE_FREE(c_value);
 
        ret = audio_meta_get_composer(audio, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("composer : [%s]", c_value);
+
+       if (c_value)
+               media_content_debug("composer : [%s]", c_value);
        SAFE_FREE(c_value);
 
        ret = audio_meta_get_year(audio, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("year : [%s]", c_value);
+
+       if (c_value)
+               media_content_debug("year : [%s]", c_value);
        SAFE_FREE(c_value);
 
        ret = audio_meta_get_recorded_date(audio, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("recorded_date : [%s]", c_value);
+
+       if (c_value)
+               media_content_debug("recorded_date : [%s]", c_value);
        SAFE_FREE(c_value);
 
        ret = audio_meta_get_copyright(audio, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("copyright : [%s]", c_value);
+
+       if (c_value)
+               media_content_debug("copyright : [%s]", c_value);
        SAFE_FREE(c_value);
 
        ret = audio_meta_get_track_num(audio, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("track_num : [%s]", c_value);
+
+       if (c_value)
+               media_content_debug("track_num : [%s]", c_value);
        SAFE_FREE(c_value);
 
        ret = audio_meta_get_bit_rate(audio, &i_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("bitrate : [%d]", i_value);
+       else
+               media_content_debug("bitrate : [%d]", i_value);
 
        ret = audio_meta_get_sample_rate(audio, &i_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("samplerate : [%d]", i_value);
+       else
+               media_content_debug("samplerate : [%d]", i_value);
 
        ret = audio_meta_get_channel(audio, &i_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("channel : [%d]", i_value);
+       else
+               media_content_debug("channel : [%d]", i_value);
 
        ret = audio_meta_get_duration(audio, &i_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("duration : [%d]", i_value);
-
-       ret = audio_meta_get_played_count(audio, &i_value);
-       if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("played_count : [%d]", i_value);
-
-       ret = audio_meta_get_played_time(audio, &t_value);
-       if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("played_time : [%d]", t_value);
-
-       ret = audio_meta_get_played_position(audio, &i_value);
-       if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("played_position : [%d]", i_value);
+       else
+               media_content_debug("duration : [%d]", i_value);
 
-       return true;
 }
 
-bool get_video_meta(video_meta_h video)
+static void get_video_meta(video_meta_h video)
 {
        char *c_value = NULL;
        int i_value = 0;
-       time_t t_value = 0;
        int ret = MEDIA_CONTENT_ERROR_NONE;
 
        media_content_debug("=== video meta ===");
@@ -158,382 +164,574 @@ bool get_video_meta(video_meta_h video)
        ret = video_meta_get_media_id(video, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("video_id : [%s]", c_value);
+
+       if (c_value)
+               media_content_debug("video_id : [%s]", c_value);
        SAFE_FREE(c_value);
 
        ret = video_meta_get_album(video, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("album : [%s]", c_value);
+
+       if (c_value)
+               media_content_debug("album : [%s]", c_value);
        SAFE_FREE(c_value);
 
        ret = video_meta_get_artist(video, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("artist : [%s]", c_value);
+
+       if (c_value)
+               media_content_debug("artist : [%s]", c_value);
        SAFE_FREE(c_value);
 
        ret = video_meta_get_album_artist(video, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("album_artist : [%s]", c_value);
+
+       if (c_value)
+               media_content_debug("album_artist : [%s]", c_value);
        SAFE_FREE(c_value);
 
        ret = video_meta_get_genre(video, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("genre : [%s]", c_value);
+
+       if (c_value)
+               media_content_debug("genre : [%s]", c_value);
        SAFE_FREE(c_value);
 
        ret = video_meta_get_composer(video, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("omposer : [%s]", c_value);
+
+       if (c_value)
+               media_content_debug("omposer : [%s]", c_value);
        SAFE_FREE(c_value);
 
        ret = video_meta_get_year(video, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("year : [%s]", c_value);
+
+       if (c_value)
+               media_content_debug("year : [%s]", c_value);
        SAFE_FREE(c_value);
 
        ret = video_meta_get_recorded_date(video, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("recorded_date : [%s]", c_value);
+
+       if (c_value)
+               media_content_debug("recorded_date : [%s]", c_value);
        SAFE_FREE(c_value);
 
        ret = video_meta_get_copyright(video, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("copyright : [%s]", c_value);
+
+       if (c_value)
+               media_content_debug("copyright : [%s]", c_value);
        SAFE_FREE(c_value);
 
        ret = video_meta_get_track_num(video, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("track_num : [%s]", c_value);
+
+       if (c_value)
+               media_content_debug("track_num : [%s]", c_value);
        SAFE_FREE(c_value);
 
        ret = video_meta_get_bit_rate(video, &i_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("bitrate : [%d]", i_value);
+       else
+               media_content_debug("bitrate : [%d]", i_value);
 
        ret = video_meta_get_duration(video, &i_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("duration : [%d]", i_value);
+       else
+               media_content_debug("duration : [%d]", i_value);
 
        ret = video_meta_get_width(video, &i_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("width : [%d]", i_value);
+       else
+               media_content_debug("width : [%d]", i_value);
 
        ret = video_meta_get_height(video, &i_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("height : [%d]", i_value);
+       else
+               media_content_debug("height : [%d]", i_value);
+
+}
+
+static void get_image_meta(image_meta_h image)
+{
+       char *c_value = NULL;
+       int i_value = 0;
+       media_content_orientation_e orientation;
+       int ret = MEDIA_CONTENT_ERROR_NONE;
+
+       media_content_debug("=== image meta ===");
 
-       ret = video_meta_get_played_count(video, &i_value);
+       ret = image_meta_get_width(image, &i_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("played_count : [%d]", i_value);
+               media_content_error("error image_meta_get_width : [%d]", ret);
+       else
+               media_content_debug("width : [%d]", i_value);
 
-       ret = video_meta_get_played_time(video, &t_value);
+       ret = image_meta_get_height(image, &i_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("played_time : [%d]", t_value);
+               media_content_error("error image_meta_get_height : [%d]", ret);
+       else
+               media_content_debug("height : [%d]", i_value);
 
-       ret = video_meta_get_played_position(video, &i_value);
+       ret = image_meta_get_orientation(image, &orientation);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get meta : [%d]", ret);
-       media_content_debug("played_position : [%d]", i_value);
+               media_content_error("error image_meta_get_orientation : [%d]", ret);
+       else
+               media_content_debug("orientation : [%d]", orientation);
+
+       ret = image_meta_get_date_taken(image, &c_value);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error image_meta_get_date_taken : [%d]", ret);
+
+       if (c_value)
+               media_content_debug("date_taken : [%s]", c_value);
+       SAFE_FREE(c_value);
 
-       return true;
 }
 
-bool gallery_folder_list_cb(media_folder_h folder, void *user_data)
+static void get_album_meta(media_album_h album)
 {
-       media_folder_h new_folder = NULL;
-       media_folder_clone(&new_folder, folder);
+       char *c_value = NULL;
+       int i_value = 0;
+       int ret = MEDIA_CONTENT_ERROR_NONE;
 
-       GList **list = (GList**)user_data;
-       *list = g_list_append(*list, new_folder);
+       media_content_debug("=== album meta ===");
 
-       return true;
-}
+       ret = media_album_get_album_id(album, &i_value);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_album_get_album_id : [%d]", ret);
+       else
+               media_content_debug("album_id : [%d]", i_value);
 
-bool gallery_media_item_cb(media_info_h media, void *user_data)
-{
-       media_info_h new_media = NULL;
-       media_info_clone(&new_media, media);
+       ret = media_album_get_name(album, &c_value);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_album_get_name : [%d]", ret);
 
-       GList **list = (GList**)user_data;
-       *list = g_list_append(*list, new_media);
+       if (c_value)
+               media_content_debug("album_name : [%s]", c_value);
+       SAFE_FREE(c_value);
+
+       ret = media_album_get_artist(album, &c_value);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_album_get_artist : [%d]", ret);
+
+       if (c_value)
+               media_content_debug("album_artist : [%s]", c_value);
+       SAFE_FREE(c_value);
 
-       return true;
 }
 
-bool gallery_tag_item_cb(media_tag_h tag, void *user_data)
+static void get_bookmark_meta(media_bookmark_h bookmark)
 {
-       media_tag_h new_tag = NULL;
-       media_tag_clone(&new_tag, tag);
+       char *c_value = NULL;
+       int i_value = 0;
+       time_t time = 0;
+       int ret = MEDIA_CONTENT_ERROR_NONE;
 
-       GList **list = (GList**)user_data;
-       *list = g_list_append(*list, new_tag);
+       media_content_debug("=== bookmark meta ===");
+
+       ret = media_bookmark_get_bookmark_id(bookmark, &i_value);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_bookmark_get_bookmark_id : [%d]", ret);
+       else
+               media_content_debug("bookmark_id : %d", i_value);
+
+       ret = media_bookmark_get_thumbnail_path(bookmark, &c_value);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_bookmark_get_thumbnail_path : [%d]", ret);
+
+       if (c_value)
+               media_content_debug("bookmark thumbnail_path : %s", c_value);
+       SAFE_FREE(c_value);
+
+       ret = media_bookmark_get_marked_time(bookmark, &time);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_bookmark_get_marked_time : [%d]", ret);
+       else
+               media_content_debug("bookmark marked_time : %ld", time);
+
+       ret = media_bookmark_get_name(bookmark, &c_value);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_bookmark_get_name : [%d]", ret);
+
+       if (c_value)
+               media_content_debug("bookmark name : %s", c_value);
+       SAFE_FREE(c_value);
 
-       return true;
 }
 
-bool gallery_bookmarks_cb(media_bookmark_h bookmark, void *user_data)
+static void get_tag_meta(media_tag_h tag)
 {
-       media_bookmark_h new_bm = NULL;
+       char *c_value = NULL;
+       int i_value = 0;
        int ret = MEDIA_CONTENT_ERROR_NONE;
 
-       ret = media_bookmark_clone(&new_bm, bookmark);
+       media_content_debug("=== tag meta ===");
+
+       ret = media_tag_get_tag_id(tag, &i_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error media_bookmark_clone : [%d]", ret);
+               media_content_error("error media_tag_get_tag_id : [%d]", ret);
+       else
+               media_content_debug("tag_id : %d", i_value);
 
-       GList **list = (GList**)user_data;
-       *list = g_list_append(*list, new_bm);
+       ret = media_tag_get_name(tag, &c_value);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_tag_get_name : [%d]", ret);
+
+       if (c_value)
+               media_content_debug("tag_name : %s", c_value);
+       SAFE_FREE(c_value);
 
-       return true;
 }
 
-bool media_item_cb(media_info_h media, void *user_data)
+static void get_face_meta(media_face_h face)
 {
        char *c_value = NULL;
-       char *media_id = NULL;
-       media_content_type_e media_type = 0;
+       unsigned int rect_x = 0;
+       unsigned int rect_y = 0;
+       unsigned int rect_w = 0;
+       unsigned int rect_h = 0;
+       media_content_orientation_e orientation = 0;
        int ret = MEDIA_CONTENT_ERROR_NONE;
 
-       if (media == NULL) {
-               media_content_debug("NO Item");
-               return true;
-       }
+       media_content_debug("=== face meta ===");
 
-       ret = media_info_get_media_type(media, &media_type);
+       ret = media_face_get_face_id(face, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("media_type : [%d]", media_type);
+               media_content_error("error media_face_get_face_id : [%d]", ret);
 
-       ret = media_info_get_media_id(media, &media_id);
-       if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("media_id : [%s]", media_id);
+       if (c_value)
+               media_content_debug("face_id : %s", c_value);
+       SAFE_FREE(c_value);
 
-       ret = media_info_get_file_path(media, &c_value);
+       ret = media_face_get_media_id(face, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("file_path : [%s]", c_value);
-       SAFE_FREE(c_value);
+               media_content_error("error media_face_get_media_id : [%d]", ret);
 
-#if 0
-       int i_value = 0;
-       time_t t_value = 0;
-       bool b_value = false;
-       unsigned long long size = 0;
+       if (c_value)
+               media_content_debug("media_id : %s", c_value);
+       SAFE_FREE(c_value);
 
-       if (media_type == MEDIA_CONTENT_TYPE_MUSIC) {
-               audio_meta_h audio;
+       ret = media_face_get_face_rect(face, &rect_x, &rect_y, &rect_w, &rect_h);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_face_get_face_rect : [%d]", ret);
+       else
+               media_content_debug("face_rect x[%d] y[%d] w[%d] h[%d]", rect_x, rect_y, rect_w, rect_h);
 
-               if (media_info_get_audio(media, &audio) == MEDIA_CONTENT_ERROR_NONE) {
-                       get_audio_meta(audio);
-                       ret = audio_meta_destroy(audio);
-                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                               media_content_error("error audio_meta_destroy : [%d]", ret);
-               } else
-                       media_content_error("[audio_error]");
+       ret = media_face_get_orientation(face, &orientation);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_face_get_orientation : [%d]", ret);
+       else
+               media_content_debug("orientation : %d", orientation);
 
-       } else if (media_type == MEDIA_CONTENT_TYPE_IMAGE) {
-               image_meta_h image;
-               media_content_orientation_e orientation = 0;
-               bool is_burst_shot = false;
-               char *burst_id = NULL;
-               char *weather = NULL;
+       ret = media_face_get_tag(face, &c_value);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_face_get_tag : [%d]", ret);
 
-               if (media_info_get_image(media, &image) == MEDIA_CONTENT_ERROR_NONE) {
-                       ret = image_meta_get_orientation(image, &orientation);
-                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                               media_content_error("error image_meta_get_orientation : [%d]", ret);
-                       else
-                               media_content_debug("[image] orientation : %d", orientation);
+       if (c_value)
+               media_content_debug("tag : %s", c_value);
+       SAFE_FREE(c_value);
 
-                       ret = image_meta_is_burst_shot(image, &is_burst_shot);
-                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                               media_content_error("error image_meta_is_burst_shot : [%d]", ret);
-                       if (is_burst_shot) {
-                               ret = image_meta_get_burst_id(image, &burst_id);
-                               if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                       media_content_error("error image_meta_get_burst_id : [%d]", ret);
-                               else
-                                       media_content_debug("[image] burst_id : [%s]", burst_id);
-
-                               SAFE_FREE(burst_id);
-                       }
+}
 
-                       ret = image_meta_destroy(image);
-                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                               media_content_error("error image_meta_destroy : [%d]", ret);
-               } else
-                       media_content_error("[image_error]");
+static void get_folder_meta(media_folder_h folder, char **folder_id)
+{
+       char *c_value = NULL;
+       media_content_storage_e storage_type;
+       int ret = MEDIA_CONTENT_ERROR_NONE;
 
-       } else if (media_type == MEDIA_CONTENT_TYPE_VIDEO) {
-               video_meta_h video;
+       media_content_debug("=== folder meta ===");
 
-               if (media_info_get_video(media, &video) == MEDIA_CONTENT_ERROR_NONE) {
-                       get_video_meta(video);
-                       ret = video_meta_destroy(video);
-                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                               media_content_error("error video_meta_destroy : [%d]", ret);
-               } else
-                       media_content_error("[video_error]");
+       ret = media_folder_get_folder_id(folder, &c_value);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_folder_get_folder_id : [%d]", ret);
 
-       } else {
-               media_content_debug("Other Content");
+       if (c_value) {
+               media_content_debug("folder_id : %s", c_value);
+               *folder_id = c_value;
        }
 
-       media_content_debug("=== media_info ===");
-       ret = media_info_get_file_path(media, &c_value);
+       ret = media_folder_get_path(folder, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("file_path : [%s]", c_value);
-       SAFE_FREE(c_value);
+               media_content_error("error media_folder_get_path : [%d]", ret);
 
-       ret = media_info_get_display_name(media, &c_value);
-       if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("display_name : [%s]", c_value);
+       if (c_value)
+               media_content_debug("folder_path : %s", c_value);
        SAFE_FREE(c_value);
 
-       ret = media_info_get_mime_type(media, &c_value);
+       ret = media_folder_get_name(folder, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("mime_type : [%s]", c_value);
+               media_content_error("error media_folder_get_name : [%d]", ret);
+
+       if (c_value)
+               media_content_debug("folder_name : %s", c_value);
        SAFE_FREE(c_value);
 
-       ret = media_info_get_thumbnail_path(media, &c_value);
+       ret = media_folder_get_storage_type(folder, &storage_type);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("thumbnail_path : [%s]", c_value);
-       SAFE_FREE(c_value);
+               media_content_error("error media_folder_get_storage_type : [%d]", ret);
+       else
+               media_content_debug("storage_type : [%d]", storage_type);
 
-       ret = media_info_get_description(media, &c_value);
+       ret = media_folder_get_storage_id(folder, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("description : [%s]", c_value);
+               media_content_error("error media_folder_get_storage_id : [%d]", ret);
+
+       if (c_value)
+               media_content_debug("storage_id : %s", c_value);
        SAFE_FREE(c_value);
 
-       ret = media_info_get_author(media, &c_value);
+}
+
+static void get_media_meta(media_info_h media)
+{
+       char *c_value = NULL;
+       int i_value = 0;
+       time_t t_value = 0;
+       bool b_value = false;
+       unsigned long long size = 0;
+       media_content_type_e media_type = 0;
+       int ret = MEDIA_CONTENT_ERROR_NONE;
+
+       media_content_debug("=== media meta ===");
+
+       ret = media_info_get_media_type(media, &media_type);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("author : [%s]", c_value);
-       SAFE_FREE(c_value);
+               media_content_error("error media_info_get_media_type : [%d]", ret);
+       else
+               media_content_debug("media_type : [%d]", media_type);
 
-       ret = media_info_get_provider(media, &c_value);
+       ret = media_info_get_media_id(media, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("provider : [%s]", c_value);
+               media_content_error("error media_info_get_media_id : [%d]", ret);
+
+       if (c_value)
+               media_content_debug("media_id : [%s]", c_value);
        SAFE_FREE(c_value);
 
-       ret = media_info_get_content_name(media, &c_value);
+       ret = media_info_get_file_path(media, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("content_name : [%s]", c_value);
+               media_content_error("error media_info_get_file_path : [%d]", ret);
+
+       if (c_value)
+               media_content_debug("file_path : [%s]", c_value);
        SAFE_FREE(c_value);
 
-       ret = media_info_get_category(media, &c_value);
+       ret = media_info_get_display_name(media, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("category : [%s]", c_value);
+               media_content_error("error media_info_get_display_name : [%d]", ret);
+
+       if (c_value)
+               media_content_debug("display_name : [%s]", c_value);
        SAFE_FREE(c_value);
 
-       ret = media_info_get_location_tag(media, &c_value);
+       ret = media_info_get_mime_type(media, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("location_tag : [%s]", c_value);
+               media_content_error("error media_info_get_mime_type : [%d]", ret);
+
+       if (c_value)
+               media_content_debug("mime_type : [%s]", c_value);
        SAFE_FREE(c_value);
 
-       ret = media_info_get_age_rating(media, &c_value);
+       ret = media_info_get_thumbnail_path(media, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("age_rating : [%s]", c_value);
+               media_content_error("error media_info_get_thumbnail_path : [%d]", ret);
+
+       if (c_value)
+               media_content_debug("thumbnail_path : [%s]", c_value);
        SAFE_FREE(c_value);
 
-       ret = media_info_get_keyword(media, &c_value);
+       ret = media_info_get_description(media, &c_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("keyword : [%s]", c_value);
+               media_content_error("error media_info_get_description : [%d]", ret);
+
+       if (c_value)
+               media_content_debug("description : [%s]", c_value);
        SAFE_FREE(c_value);
 
        ret = media_info_get_size(media, &size);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("size : [%lld]", size);
+               media_content_error("error media_info_get_size : [%d]", ret);
+       else
+               media_content_debug("size : [%lld]", size);
 
        ret = media_info_get_added_time(media, &t_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("added_time : [%d]", t_value);
+               media_content_error("error media_info_get_added_time : [%d]", ret);
+       else
+               media_content_debug("added_time : [%ld]", t_value);
 
        ret = media_info_get_modified_time(media, &t_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("modified_time : [%d]", t_value);
+               media_content_error("error media_info_get_modified_time : [%d]", ret);
+       else
+               media_content_debug("modified_time : [%ld]", t_value);
 
        ret = media_info_get_timeline(media, &t_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("timeline : [%d]", t_value);
+               media_content_error("error media_info_get_timeline : [%d]", ret);
+       else
+               media_content_debug("timeline : [%ld]", t_value);
+
+       ret = media_info_get_rating(media, &i_value);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_info_get_rating : [%d]", ret);
+       else
+               media_content_debug("rating : [%d]", i_value);
+
+       ret = media_info_get_favorite(media, &b_value);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_info_get_favorite : [%d]", ret);
+       else
+               media_content_debug("favorite : [%d]", b_value);
+
+       ret = media_info_is_drm(media, &b_value);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_info_is_drm : [%d]", ret);
+       else
+               media_content_debug("is_drm : [%d]", b_value);
+
+       ret = media_info_is_360_content(media, &b_value);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_info_is_360_content : [%d]", ret);
+       else
+               media_content_debug("is_360 : [%d]", b_value);
+
+#ifdef _USE_TVPD_MODE
+       ret = media_info_get_stitched_state(media, &i_value);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_info_get_stitched_state : [%d]", ret);
+       else
+               media_content_debug("360 stitched : [%d]", i_value);
+
+       ret = media_info_get_stitched_engine(media, &i_value);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_info_get_stitched_engine : [%d]", ret);
+       else
+               media_content_debug("360 engine : [%d]", i_value);
+#endif
+
+       if (media_type == MEDIA_CONTENT_TYPE_MUSIC) {
+               audio_meta_h audio;
+
+               ret = media_info_get_audio(media, &audio);
+               if (ret != MEDIA_CONTENT_ERROR_NONE)
+                       media_content_error("error media_info_get_audio : [%d]", ret);
+               else
+                       get_audio_meta(audio);
+
+               ret = audio_meta_destroy(audio);
+               if (ret != MEDIA_CONTENT_ERROR_NONE)
+                       media_content_error("error audio_meta_destroy : [%d]", ret);
+
+       } else if (media_type == MEDIA_CONTENT_TYPE_IMAGE) {
+               image_meta_h image;
+
+               ret = media_info_get_image(media, &image);
+               if (ret != MEDIA_CONTENT_ERROR_NONE)
+                       media_content_error("error media_info_get_image : [%d]", ret);
+               else
+                       get_image_meta(image);
+
+               ret = image_meta_destroy(image);
+               if (ret != MEDIA_CONTENT_ERROR_NONE)
+                       media_content_error("error image_meta_destroy : [%d]", ret);
+
+       } else if (media_type == MEDIA_CONTENT_TYPE_VIDEO) {
+               video_meta_h video;
+
+               ret = media_info_get_video(media, &video);
+               if (ret != MEDIA_CONTENT_ERROR_NONE)
+                       media_content_error("error media_info_get_video : [%d]", ret);
+               else
+                       get_video_meta(video);
+
+               ret = video_meta_destroy(video);
+               if (ret != MEDIA_CONTENT_ERROR_NONE)
+                       media_content_error("error video_meta_destroy : [%d]", ret);
+
+       } else {
+               media_content_debug("Other Content");
+       }
+
+}
+
+bool media_item_cb(media_info_h media, void *user_data)
+{
+       if (!media) {
+               media_content_debug("NO Item");
+               return true;
+       }
+
+       get_media_meta(media);
+
+       return true;
+}
+
+bool gallery_folder_list_cb(media_folder_h folder, void *user_data)
+{
+       media_folder_h new_folder = NULL;
+       media_folder_clone(&new_folder, folder);
+
+       GList **list = (GList**)user_data;
+       *list = g_list_append(*list, new_folder);
+
+       return true;
+}
+
+bool gallery_media_item_cb(media_info_h media, void *user_data)
+{
+       media_info_h new_media = NULL;
+       int ret = MEDIA_CONTENT_ERROR_NONE;
 
-       ret = media_info_get_rating(media, &i_value);
-       if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("rating : [%d]", i_value);
+       ret = media_info_clone(&new_media, media);
 
-       ret = media_info_get_favorite(media, &b_value);
-       if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("favorite : [%d]", b_value);
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               GList **list = (GList**)user_data;
+               *list = g_list_append(*list, new_media);
+       }
 
-       ret = media_info_is_drm(media, &b_value);
-       if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("is_drm : [%d]", b_value);
+       return true;
+}
 
-       ret = media_info_is_360_content(media, &b_value);
-       if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("is_360 : [%d]", b_value);
+bool gallery_tag_item_cb(media_tag_h tag, void *user_data)
+{
+       media_tag_h new_tag = NULL;
+       media_tag_clone(&new_tag, tag);
 
-       ret = media_info_get_stitched_state(media, &i_value);
-       if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("360 stitched : [%d]", i_value);
+       GList **list = (GList**)user_data;
+       *list = g_list_append(*list, new_tag);
 
-       ret = media_info_get_stitched_engine(media, &i_value);
-       if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("360 engine : [%d]", i_value);
+       return true;
+}
 
-       ret = media_info_set_weather(media, "Sunny");
-       if (ret != MEDIA_CONTENT_ERROR_NONE) {
-               media_content_error("Fail to set weather");
-               return ret;
+bool gallery_bookmarks_cb(media_bookmark_h bookmark, void *user_data)
+{
+       media_bookmark_h new_bm = NULL;
+       int ret = MEDIA_CONTENT_ERROR_NONE;
 
-       ret = media_info_get_weather(media, &c_value);
+       ret = media_bookmark_clone(&new_bm, bookmark);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error when get info : [%d]", ret);
-       media_content_debug("weather : [%s]", c_value);
-       SAFE_FREE(c_value);
+               media_content_error("error media_bookmark_clone : [%d]", ret);
+
+       GList **list = (GList**)user_data;
+       *list = g_list_append(*list, new_bm);
 
-       /* Media server can't update when another db handle holds DB connection by sqlite3_prepare */
-       /*ret = media_info_set_location_tag(media, "Test location tag");*/
-       /*media_info_update_to_db(media);*/
-       SAFE_FREE(media_id);
-#endif
-       SAFE_FREE(media_id);
        return true;
 }
 
@@ -541,10 +739,6 @@ bool folder_list_cb(media_folder_h folder, void *user_data)
 {
        int item_count = 0;
        char *folder_id = NULL;
-       char *str_val = NULL;
-       int int_val = -1;
-       media_content_storage_e storage_type;
-       bool ret;
        media_folder_h *_folder = (media_folder_h*)user_data;
 
        media_content_debug("===========================");
@@ -552,54 +746,8 @@ bool folder_list_cb(media_folder_h folder, void *user_data)
                if (_folder != NULL)
                        media_folder_clone(_folder, folder);
 
-               if (media_folder_get_folder_id(folder, &folder_id) != MEDIA_CONTENT_ERROR_NONE) {
-                       media_content_error("[ERROR] media_folder_get_folder_id is failed");
-                       return false;
-               }
-               media_content_debug("folder_id = [%s]", folder_id);
-
-               if (media_folder_get_parent_folder_id(folder, &str_val) != MEDIA_CONTENT_ERROR_NONE) {
-                       media_content_error("[ERROR] media_folder_get_parent_folder_id is failed");
-                       return false;
-               }
-               media_content_debug("parent_folder_id = [%s]", str_val);
-
-               if (media_folder_get_path(folder, &str_val) != MEDIA_CONTENT_ERROR_NONE) {
-                       SAFE_FREE(folder_id);
-                       media_content_error("[ERROR] media_folder_get_path is failed");
-                       return false;
-               }
-               media_content_debug("folder_path = [%s]", str_val);
-               SAFE_FREE(str_val);
-
-               if (media_folder_get_name(folder, &str_val) != MEDIA_CONTENT_ERROR_NONE) {
-                       SAFE_FREE(folder_id);
-                       media_content_error("[ERROR] media_folder_get_name is failed");
-                       return false;
-               }
-               media_content_debug("folder_name = [%s]", str_val);
-               SAFE_FREE(str_val);
-
-               if (media_folder_get_storage_type(folder, &storage_type) != MEDIA_CONTENT_ERROR_NONE) {
-                       SAFE_FREE(folder_id);
-                       media_content_error("[ERROR] media_folder_get_storage_type is failed");
-                       return false;
-               }
-               media_content_debug("storage_type = [%d]", storage_type);
-
-               if (media_folder_get_storage_id(folder, &str_val) != MEDIA_CONTENT_ERROR_NONE) {
-                       SAFE_FREE(folder_id);
-                       media_content_error("[ERROR] media_folder_get_name is failed");
-                       return false;
-               }
-               media_content_debug("storage_id = [%s]", str_val);
+               get_folder_meta(folder, &folder_id);
 
-               if (media_folder_get_order(folder, &int_val) != MEDIA_CONTENT_ERROR_NONE) {
-                       media_content_error("[ERROR] media_folder_get_order is failed");
-                       return false;
-               }
-               media_content_debug("folder_order = [%d]", int_val);
-#if 1
                if (media_folder_get_media_count_from_db(folder_id, g_filter, &item_count) != MEDIA_CONTENT_ERROR_NONE) {
                        SAFE_FREE(folder_id);
                        media_content_error("[ERROR] media_folder_get_media_count_from_db is failed");
@@ -611,63 +759,18 @@ bool folder_list_cb(media_folder_h folder, void *user_data)
                        media_content_error("[ERROR] media_folder_foreach_media_from_db is failed");
                        return false;
                }
-#endif
+
                SAFE_FREE(folder_id);
-               ret = true;
+               return true;
        } else {
-               ret = false;
-       }
-
-       return ret;
-}
-
-bool test_album_from_db(int album_id)
-{
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-       media_album_h album_h;
-       int test_album_id = 0;
-       char *album_name = NULL;
-       char *artist = NULL;
-
-       ret = media_album_get_album_from_db(album_id, &album_h);
-       if (ret != MEDIA_CONTENT_ERROR_NONE) {
-               media_content_error("error when get album");
-               return false;
-       }
-
-       if (media_album_get_album_id(album_h, &test_album_id) != MEDIA_CONTENT_ERROR_NONE) {
-               media_album_destroy(album_h);
                return false;
        }
 
-       media_content_debug("test_album_id : [%d]", test_album_id);
-
-       if (media_album_get_name(album_h, &album_name) != MEDIA_CONTENT_ERROR_NONE) {
-               media_album_destroy(album_h);
-               return false;
-       }
-
-       media_content_debug("album_name : [%s]", album_name);
-
-       if (media_album_get_artist(album_h, &artist) != MEDIA_CONTENT_ERROR_NONE) {
-               media_album_destroy(album_h);
-               /* fix prevent: Resource Leak */
-               SAFE_FREE(album_name);
-               return false;
-       }
-
-       media_content_debug("artist : [%s]", artist);
-
-       SAFE_FREE(album_name);
-       SAFE_FREE(artist);
-
-       media_album_destroy(album_h);
-
-       return true;
 }
 
 bool playlist_list_cb(media_playlist_h playlist, void *user_data)
 {
+       int ret = MEDIA_CONTENT_ERROR_NONE;
        int playlist_id = 0;
        char *playlist_name = NULL;
        media_playlist_h playlist_h;
@@ -683,61 +786,56 @@ bool playlist_list_cb(media_playlist_h playlist, void *user_data)
                return false;
        }
 
-       media_playlist_get_playlist_id(playlist, &playlist_id);
+       ret = media_playlist_get_playlist_id(playlist, &playlist_id);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_playlist_get_playlist_id : [%d]", ret);
+
        media_content_debug("playlist_id : %d", playlist_id);
        /* 64bit build issue */
 #if 0
        if (user_data != NULL)
                *list = g_list_append(*list, (gpointer)playlist_id);
 #endif
-       media_playlist_get_name(playlist, &playlist_name);
+       ret = media_playlist_get_name(playlist, &playlist_name);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_playlist_get_name : [%d]", ret);
+
        media_content_debug("playlist_name : %s", playlist_name);
        SAFE_FREE(playlist_name);
 
-       media_playlist_get_thumbnail_path(playlist, &playlist_thumbnail_path);
+       ret = media_playlist_get_thumbnail_path(playlist, &playlist_thumbnail_path);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_playlist_get_thumbnail_path : [%d]", ret);
+
        media_content_debug("playlist_thumbnail_path : %s", playlist_thumbnail_path);
        SAFE_FREE(playlist_thumbnail_path);
 
-       media_playlist_get_playlist_from_db(playlist_id, &playlist_h);
+       ret = media_playlist_get_playlist_from_db(playlist_id, &playlist_h);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_playlist_get_playlist_from_db : [%d]", ret);
 
-       media_playlist_destroy(playlist_h);
+       ret = media_playlist_destroy(playlist_h);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_playlist_destroy : [%d]", ret);
 
        return true;
 }
 
 bool tag_list_cb(media_tag_h tag, void *user_data)
 {
-       int tag_id = 0;
-       char *tag_name = NULL;
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-
-       if (tag == NULL) {
+       if (!tag) {
                media_content_debug(" tag handle is NULL");
                return false;
        }
 
-       ret = media_tag_get_tag_id(tag, &tag_id);
-       if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error media_tag_get_tag_id : [%d]", ret);
-       else
-               media_content_debug("tag_id : %d", tag_id);
-
-       ret = media_tag_get_name(tag, &tag_name);
-       if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error media_tag_get_name : [%d]", ret);
-       else
-               media_content_debug("tag_name : %s", tag_name);
-       SAFE_FREE(tag_name);
+       get_tag_meta(tag);
 
        return true;
 }
 
 bool bookmarks_cb(media_bookmark_h bookmark, void *user_data)
 {
-       media_bookmark_h *_bookmark = (media_bookmark_h*)bookmark;
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-
-       if (_bookmark != NULL && user_data != NULL) {
+       if (bookmark != NULL && user_data != NULL) {
                media_bookmark_h new_bookmark;
 
                media_bookmark_clone(&new_bookmark, bookmark);
@@ -745,39 +843,7 @@ bool bookmarks_cb(media_bookmark_h bookmark, void *user_data)
                *list = g_list_append(*list, new_bookmark);
        }
 
-       if (_bookmark != NULL) {
-               char *name = NULL;
-               time_t time = 0;
-               int bookmark_id = 0;
-
-               ret = media_bookmark_get_bookmark_id(bookmark, &bookmark_id);
-               if (ret != MEDIA_CONTENT_ERROR_NONE)
-                       media_content_error("error media_bookmark_get_bookmark_id : [%d]", ret);
-               else
-                       media_content_debug("bookmark_id : %d", bookmark_id);
-
-               ret = media_bookmark_get_thumbnail_path(bookmark, &name);
-               if (ret != MEDIA_CONTENT_ERROR_NONE)
-                       media_content_error("error media_bookmark_get_thumbnail_path : [%d]", ret);
-               else
-                       media_content_debug("bookmark thumbnail_path : %s", name);
-               SAFE_FREE(name);
-
-               ret = media_bookmark_get_marked_time(bookmark, &time);
-               if (ret != MEDIA_CONTENT_ERROR_NONE)
-                       media_content_error("error media_bookmark_get_marked_time : [%d]", ret);
-               else
-                       media_content_debug("bookmark marked_time : %d", time);
-
-               ret = media_bookmark_get_name(bookmark, &name);
-               if (ret != MEDIA_CONTENT_ERROR_NONE)
-                       media_content_error("error media_bookmark_get_name : [%d]", ret);
-               else
-                       media_content_debug("bookmark name : %s", name);
-
-               SAFE_FREE(name);
-
-       }
+       get_bookmark_meta(bookmark);
 
        return true;
 }
@@ -785,85 +851,29 @@ bool bookmarks_cb(media_bookmark_h bookmark, void *user_data)
 bool album_list_cb(media_album_h album, void *user_data)
 {
        int album_id = 0;
-       char *album_name = NULL;
-       char *artist = NULL;
-       char *album_art = NULL;
        int media_count = 0;
        int ret = MEDIA_CONTENT_ERROR_NONE;
-       filter_h filter = NULL;
-
-       /*Set Filter*/
-       const char *condition = "MEDIA_TYPE=3"; /*MEDIA_TYPE 0-image, 1-video, 2-sound, 3-music, 4-other*/
-
-       ret = media_filter_create(&filter);
-       if (ret != MEDIA_CONTENT_ERROR_NONE) {
-               media_content_error("Fail to create filter");
-               return ret;
-       }
-       ret = media_filter_set_condition(filter, condition, MEDIA_CONTENT_COLLATE_DEFAULT);
-       if (ret != MEDIA_CONTENT_ERROR_NONE) {
-               media_filter_destroy(filter);
-               media_content_error("Fail to set condition");
-               return ret;
-       }
-       ret = media_filter_set_order(filter, MEDIA_CONTENT_ORDER_ASC, MEDIA_TITLE, MEDIA_CONTENT_COLLATE_NOCASE);
-       if (ret != MEDIA_CONTENT_ERROR_NONE) {
-               media_filter_destroy(filter);
-               media_content_error("Fail to set order");
-               return ret;
-       }
 
        if (album != NULL) {
-               if (media_album_get_album_id(album, &album_id) != MEDIA_CONTENT_ERROR_NONE) {
-                       media_filter_destroy(filter);
-                       return false;
-               }
-
-               media_content_debug("album_id : [%d]", album_id);
-
-               if (media_album_get_name(album, &album_name) != MEDIA_CONTENT_ERROR_NONE) {
-                       media_filter_destroy(filter);
-                       return false;
-               }
-
-               media_content_debug("album_name : [%s]", album_name);
-               SAFE_FREE(album_name);
-
-               if (media_album_get_artist(album, &artist) != MEDIA_CONTENT_ERROR_NONE) {
-                       media_filter_destroy(filter);
-                       return false;
-               }
+               get_album_meta(album);
+               media_album_get_album_id(album, &album_id);
 
-               media_content_debug("artist : [%s]", artist);
-               SAFE_FREE(artist);
-
-               if (media_album_get_album_art(album, &album_art) != MEDIA_CONTENT_ERROR_NONE) {
-                       media_filter_destroy(filter);
-                       return false;
-               }
-
-               media_content_debug("album_art : [%s]", album_art);
-               SAFE_FREE(album_art);
-
-               if (media_album_get_media_count_from_db(album_id, filter, &media_count) != MEDIA_CONTENT_ERROR_NONE) {
-                       media_filter_destroy(filter);
-                       return false;
-               }
+               ret = media_album_get_media_count_from_db(album_id, NULL, &media_count);
+               if (ret != MEDIA_CONTENT_ERROR_NONE)
+                       media_content_error("error media_album_get_media_count_from_db : [%d]", ret);
 
                media_content_debug("media_count : [%d]", media_count);
 
-               if (media_album_foreach_media_from_db(album_id, filter, media_item_cb, NULL) != MEDIA_CONTENT_ERROR_NONE) {
-                       media_filter_destroy(filter);
+               ret = media_album_foreach_media_from_db(album_id, NULL, media_item_cb, NULL);
+               if (ret != MEDIA_CONTENT_ERROR_NONE) {
+                       media_content_error("error media_album_foreach_media_from_db : [%d]", ret);
                        return false;
                }
 
-               test_album_from_db(album_id);
        } else {
                media_content_error("album item not Found!!");
        }
 
-       media_filter_destroy(filter);
-
        return true;
 }
 
@@ -991,31 +1001,14 @@ int test_gallery_scenario(void)
        } else {
                media_content_debug("media_folder_foreach_folder_from_db success!!");
                char *folder_id = NULL;
-               char *folder_name = NULL;
-               char *folder_path = NULL;
 
                for (i = 0; i < g_list_length(folder_list); i++) {
                        folder_handle = (media_folder_h)g_list_nth_data(folder_list, i);
 
-                       ret = media_folder_get_folder_id(folder_handle, &folder_id);
-                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                               media_content_error("media_folder_get_folder_id failed: %d", ret);
-                       ret = media_folder_get_name(folder_handle, &folder_name);
-                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                               media_content_error("media_folder_get_name failed: %d", ret);
-                       ret = media_folder_get_path(folder_handle, &folder_path);
-                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                               media_content_error("media_folder_get_path failed: %d", ret);
-
-                       media_content_debug("folder_id [%d] : %s", i, folder_id);
-                       media_content_debug("folder_name [%d] : %s", i, folder_name);
-                       media_content_debug("folder_path [%d] : %s", i, folder_path);
+                       get_folder_meta(folder_handle, &folder_id);
 
                        ret = media_folder_get_media_count_from_db(folder_id, filter, &count);
-                       /* User should free these string */
                        SAFE_FREE(folder_id);
-                       SAFE_FREE(folder_name);
-                       SAFE_FREE(folder_path);
                        if (ret != MEDIA_CONTENT_ERROR_NONE) {
                                media_content_error("media_folder_get_media_count_from_db failed: %d", ret);
                                return -1;
@@ -1060,107 +1053,10 @@ int test_gallery_scenario(void)
                return -1;
        } else {
                media_content_debug("media_info_foreach_media_from_db success");
-               media_content_type_e media_type;
-               char *media_id = NULL;
-               char *media_name = NULL;
-               char *media_path = NULL;
 
                for (i = 0; i < g_list_length(all_item_list); i++) {
                        media_handle = (media_info_h)g_list_nth_data(all_item_list, i);
-
-                       ret = media_info_get_media_id(media_handle, &media_id);
-                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                               media_content_error("media_info_get_media_id failed: %d", ret);
-                       ret = media_info_get_media_type(media_handle, &media_type);
-                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                               media_content_error("media_info_get_media_type failed: %d", ret);
-                       ret = media_info_get_display_name(media_handle, &media_name);
-                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                               media_content_error("media_info_get_display_name failed: %d", ret);
-                       ret = media_info_get_file_path(media_handle, &media_path);
-                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                               media_content_error("media_info_get_file_path failed: %d", ret);
-
-                       if (media_type == MEDIA_CONTENT_TYPE_IMAGE) {
-                               image_meta_h image_handle;
-                               int width = 0, height = 0;
-                               media_content_orientation_e orientation = 0;
-                               char *datetaken = NULL;
-                               char *burst_id = NULL;
-
-                               ret = media_info_get_image(media_handle, &image_handle);
-                               if (ret != MEDIA_CONTENT_ERROR_NONE) {
-                                       media_content_error("media_info_get_image failed: %d", ret);
-                               } else {
-                                       ret = image_meta_get_width(image_handle, &width);
-                                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                               media_content_error("error image_meta_get_width : [%d]", ret);
-                                       ret = image_meta_get_height(image_handle, &height);
-                                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                               media_content_error("error image_meta_get_height : [%d]", ret);
-                                       ret = image_meta_get_orientation(image_handle, &orientation);
-                                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                               media_content_error("error image_meta_get_orientation : [%d]", ret);
-                                       ret = image_meta_get_date_taken(image_handle, &datetaken);
-                                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                               media_content_error("error image_meta_get_date_taken : [%d]", ret);
-                                       ret = image_meta_get_burst_id(image_handle, &burst_id);
-                                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                               media_content_error("error image_meta_get_burst_id : [%d]", ret);
-
-                                       media_content_debug("This is Image");
-                                       media_content_debug("Width : %d, Height : %d, Orientation : %d, Date taken : %s", width, height, orientation, datetaken);
-                               }
-
-                               SAFE_FREE(datetaken);
-                               SAFE_FREE(burst_id);
-                               ret = image_meta_destroy(image_handle);
-                               if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                       media_content_error("error image_meta_destroy : [%d]", ret);
-
-                       } else if (media_type == MEDIA_CONTENT_TYPE_VIDEO) {
-                               video_meta_h video_handle;
-                               char *title = NULL, *artist = NULL, *album = NULL, *album_artist = NULL;
-                               int duration = 0;
-                               time_t time_played = 0;
-
-                               ret = media_info_get_video(media_handle, &video_handle);
-                               if (ret != MEDIA_CONTENT_ERROR_NONE) {
-                                       media_content_error("media_info_get_video failed: %d", ret);
-                               } else {
-                                       ret = video_meta_get_artist(video_handle, &artist);
-                                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                               media_content_error("error video_meta_get_artist : [%d]", ret);
-                                       ret = video_meta_get_album(video_handle, &album);
-                                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                               media_content_error("error video_meta_get_album : [%d]", ret);
-                                       ret = video_meta_get_album_artist(video_handle, &album_artist);
-                                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                               media_content_error("error video_meta_get_album_artist : [%d]", ret);
-                                       ret = video_meta_get_duration(video_handle, &duration);
-                                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                               media_content_error("error video_meta_get_duration : [%d]", ret);
-                                       ret = video_meta_get_played_time(video_handle, &time_played);
-                                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                               media_content_error("error video_meta_get_played_time : [%d]", ret);
-
-                                       media_content_debug("This is Video");
-                                       media_content_debug("Title: %s, Album: %s, Artist: %s, Album_artist: %s \n Duration: %d, Played time: %d", title, album, artist, album_artist, duration, time_played);
-                               }
-
-                               SAFE_FREE(title);
-                               SAFE_FREE(artist);
-                               SAFE_FREE(album);
-                               SAFE_FREE(album_artist);
-
-                               ret = video_meta_destroy(video_handle);
-                               if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                       media_content_error("error video_meta_destroy : [%d]", ret);
-                       }
-
-                       SAFE_FREE(media_id);
-                       SAFE_FREE(media_name);
-                       SAFE_FREE(media_path);
+                       get_media_meta(media_handle);
                }
        }
 
@@ -1178,165 +1074,22 @@ int test_gallery_scenario(void)
        for (i = 0; i < g_list_length(folder_list); i++) {
                unsigned int j = 0;
                char *folder_id = NULL;
-               char *folder_name = NULL;
                folder_handle = (media_folder_h)g_list_nth_data(folder_list, i);
 
-               media_folder_get_folder_id(folder_handle, &folder_id);
-               media_folder_get_name(folder_handle, &folder_name);
+               get_folder_meta(folder_handle, &folder_id);
 
                ret = media_folder_foreach_media_from_db(folder_id, filter, gallery_media_item_cb, &item_list);
                SAFE_FREE(folder_id);
-               SAFE_FREE(folder_name);
 
                if (ret != MEDIA_CONTENT_ERROR_NONE) {
                        media_content_error("media_folder_foreach_media_from_db failed: %d", ret);
                        return -1;
                } else {
-                       media_content_error("media_folder_foreach_media_from_db success!", ret);
-                       char *media_id = NULL;
-                       char *media_name = NULL;
-                       char *media_path = NULL;
-                       media_content_type_e media_type = 0;
+                       media_content_error("media_folder_foreach_media_from_db success!");
 
                        for (j = 0; j < g_list_length(item_list); j++) {
                                media_handle = (media_info_h)g_list_nth_data(item_list, j);
-
-                               ret = media_info_get_media_id(media_handle, &media_id);
-                               if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                       media_content_error("media_info_get_media_id failed: %d", ret);
-                               ret = media_info_get_display_name(media_handle, &media_name);
-                               if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                       media_content_error("media_info_get_display_name failed: %d", ret);
-                               ret = media_info_get_file_path(media_handle, &media_path);
-                               if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                       media_content_error("media_info_get_file_path failed: %d", ret);
-                               ret = media_info_get_media_type(media_handle, &media_type);
-                               if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                       media_content_error("media_info_get_media_type failed: %d", ret);
-
-                               media_content_debug("[%s] media_id [%d] : %s", folder_name, j, media_id);
-                               media_content_debug("[%s] media_type [%d] : %d", folder_name, j, media_type);
-                               media_content_debug("[%s] media_name [%d] : %s", folder_name, j, media_name);
-                               media_content_debug("[%s] media_path [%d] : %s", folder_name, j, media_path);
-
-                               if (media_type == MEDIA_CONTENT_TYPE_IMAGE) {
-                                       image_meta_h image_handle;
-                                       int width = 0, height = 0;
-                                       media_content_orientation_e orientation = 0;
-                                       char *datetaken = NULL;
-
-                                       ret = media_info_get_image(media_handle, &image_handle);
-                                       if (ret != MEDIA_CONTENT_ERROR_NONE) {
-                                               media_content_error("media_info_get_image failed: %d", ret);
-                                       } else {
-                                               ret = image_meta_get_width(image_handle, &width);
-                                               if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                                       media_content_error("error image_meta_get_width : [%d]", ret);
-                                               ret = image_meta_get_height(image_handle, &height);
-                                               if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                                       media_content_error("error image_meta_get_height : [%d]", ret);
-                                               ret = image_meta_get_orientation(image_handle, &orientation);
-                                               if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                                       media_content_error("error image_meta_get_orientation : [%d]", ret);
-                                               ret = image_meta_get_date_taken(image_handle, &datetaken);
-                                               if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                                       media_content_error("error image_meta_get_date_taken : [%d]", ret);
-
-                                               media_content_debug("This is Image");
-                                               media_content_debug("Width : %d, Height : %d, Orientation : %d, Date taken : %s", width, height, orientation, datetaken);
-                                       }
-
-                                       SAFE_FREE(datetaken);
-                                       ret = image_meta_destroy(image_handle);
-                                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                               media_content_error("error image_meta_destroy : [%d]", ret);
-
-                               } else if (media_type == MEDIA_CONTENT_TYPE_VIDEO) {
-                                       video_meta_h video_handle;
-                                       char *title = NULL, *artist = NULL, *album = NULL, *album_artist = NULL;;
-                                       int duration = 0;
-                                       time_t time_played;
-
-                                       ret = media_info_get_video(media_handle, &video_handle);
-                                       if (ret != MEDIA_CONTENT_ERROR_NONE) {
-                                               media_content_error("media_info_get_video failed: %d", ret);
-                                       } else {
-                                               ret = video_meta_get_artist(video_handle, &artist);
-                                               if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                                       media_content_error("error video_meta_get_artist : [%d]", ret);
-                                               ret = video_meta_get_album(video_handle, &album);
-                                               if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                                       media_content_error("error video_meta_get_album : [%d]", ret);
-                                               ret = video_meta_get_album_artist(video_handle, &album_artist);
-                                               if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                                       media_content_error("error video_meta_get_album_artist : [%d]", ret);
-                                               ret = video_meta_get_duration(video_handle, &duration);
-                                               if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                                       media_content_error("error video_meta_get_duration : [%d]", ret);
-                                               ret = video_meta_get_played_time(video_handle, &time_played);
-                                               if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                                       media_content_error("error video_meta_get_played_time : [%d]", ret);
-
-                                               media_content_debug("This is Video");
-                                               media_content_debug("Title: %s, Album: %s, Artist: %s, Album_artist: %s \n Duration: %d, Played time: %d\n", title, album, artist, album_artist, duration, time_played);
-                                       }
-
-                                       SAFE_FREE(title);
-                                       SAFE_FREE(artist);
-                                       SAFE_FREE(album);
-                                       SAFE_FREE(album_artist);
-
-                                       ret = video_meta_destroy(video_handle);
-                                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                               media_content_error("error video_meta_destroy : [%d]", ret);
-
-                                       /* Get bookmar list in case of video */
-                                       media_bookmark_h bm_handle;
-                                       GList *bm_list = NULL;
-
-                                       ret = media_info_foreach_bookmark_from_db(media_id, filter, gallery_bookmarks_cb, &bm_list);
-                                       if (ret != MEDIA_CONTENT_ERROR_NONE) {
-                                               media_content_error("media_info_foreach_bookmark_from_db failed: %d", ret);
-                                       } else {
-                                               media_content_debug("media_info_foreach_bookmark_from_db success");
-
-                                               unsigned int k = 0;
-
-                                               for (k = 0; k < g_list_length(bm_list); k++) {
-                                                       bm_handle = (media_bookmark_h)g_list_nth_data(bm_list, k);
-                                                       time_t marked_time;
-                                                       char *thumb_path = NULL;
-
-                                                       ret = media_bookmark_get_marked_time(bm_handle, &marked_time);
-                                                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                                               media_content_error("error media_bookmark_get_marked_time : [%d]", ret);
-                                                       ret = media_bookmark_get_thumbnail_path(bm_handle, &thumb_path);
-                                                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                                               media_content_error("error media_bookmark_get_thumbnail_path : [%d]", ret);
-
-                                                       media_content_debug("Bookmark time : %d\nBookmar thumb: %s", marked_time, thumb_path);
-                                                       SAFE_FREE(thumb_path);
-                                               }
-
-                                               /* Remove bookmark list */
-                                               unsigned int l = 0;
-                                               if (bm_list) {
-                                                       for (l = 0; l < g_list_length(bm_list); l++) {
-                                                               bm_handle = (media_bookmark_h)g_list_nth_data(bm_list, l);
-                                                               ret = media_bookmark_destroy(bm_handle);
-                                                               if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                                                       media_content_error("error media_bookmark_destroy : [%d]", ret);
-                                                       }
-
-                                                       g_list_free(bm_list);
-                                               }
-
-                                       }
-                               }
-
-                               SAFE_FREE(media_id);
-                               SAFE_FREE(media_name);
-                               SAFE_FREE(media_path);
+                               get_media_meta(media_handle);
                        }
                }
        }
@@ -1345,6 +1098,7 @@ int test_gallery_scenario(void)
        media_tag_h tag_handle = NULL;
        GList *tag_list = NULL;
        GList *media_list_in_tag = NULL;
+       int tag_id = 0;
 
        ret = media_tag_foreach_tag_from_db(filter, gallery_tag_item_cb, &tag_list);
 
@@ -1353,54 +1107,27 @@ int test_gallery_scenario(void)
                return -1;
        } else {
                media_content_error("media_tag_foreach_tag_from_db success");
-               char *tag_name = NULL;
-               int tag_id;
-
                for (i = 0; i < g_list_length(tag_list); i++) {
                        tag_handle = (media_tag_h)g_list_nth_data(tag_list, i);
-                       media_tag_get_tag_id(tag_handle, &tag_id);
-                       media_tag_get_name(tag_handle, &tag_name);
+                       get_tag_meta(tag_handle);
 
-                       media_content_debug("[%d] %s", tag_id, tag_name);
-
-                       ret = media_tag_foreach_media_from_db(tag_id, filter, gallery_media_item_cb, &media_list_in_tag);
+                       ret = media_tag_get_tag_id(tag_handle, &tag_id);
                        if (ret != MEDIA_CONTENT_ERROR_NONE) {
-                               media_content_error("media_tag_foreach_media_from_db failed: %d", ret);
-                               return -1;
-                       } else {
-                               media_content_error("media_tag_foreach_media_from_db success");
-                               unsigned int j = 0;
-                               media_info_h tag_media_handle;
-                               char *media_id = NULL;
-                               char *media_name = NULL;
-                               char *media_path = NULL;
-                               media_content_type_e media_type = 0;
-
-                               for (j = 0; j < g_list_length(media_list_in_tag); j++) {
-                                       tag_media_handle = (media_info_h)g_list_nth_data(media_list_in_tag, j);
-                                       ret = media_info_get_media_id(tag_media_handle, &media_id);
-                                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                               media_content_error("media_info_get_media_id failed: %d", ret);
-                                       ret = media_info_get_display_name(tag_media_handle, &media_name);
-                                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                               media_content_error("media_info_get_display_name failed: %d", ret);
-                                       ret = media_info_get_file_path(tag_media_handle, &media_path);
-                                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                               media_content_error("media_info_get_file_path failed: %d", ret);
-                                       ret = media_info_get_media_type(tag_media_handle, &media_type);
-                                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                               media_content_error("media_info_get_media_type failed: %d", ret);
-
-                                       media_content_debug("[%s] media_id [%d] : %s", tag_name, j, media_id);
-                                       media_content_debug("[%s] media_type [%d] : %d", tag_name, j, media_type);
-                                       media_content_debug("[%s] media_name [%d] : %s", tag_name, j, media_name);
-                                       media_content_debug("[%s] media_path [%d] : %s", tag_name, j, media_path);
+                               ret = media_tag_foreach_media_from_db(tag_id, filter, gallery_media_item_cb, &media_list_in_tag);
+                               if (ret != MEDIA_CONTENT_ERROR_NONE) {
+                                       media_content_error("media_tag_foreach_media_from_db failed: %d", ret);
+                                       return -1;
+                               } else {
+                                       media_content_error("media_tag_foreach_media_from_db success");
+                                       unsigned int j = 0;
+                                       media_info_h tag_media_handle;
+
+                                       for (j = 0; j < g_list_length(media_list_in_tag); j++) {
+                                               tag_media_handle = (media_info_h)g_list_nth_data(media_list_in_tag, j);
+                                               get_media_meta(tag_media_handle);
+                                       }
                                }
-                               SAFE_FREE(media_id);
-                               SAFE_FREE(media_name);
-                               SAFE_FREE(media_path);
                        }
-                       SAFE_FREE(tag_name);
                }
        }
 
@@ -1552,7 +1279,7 @@ int test_media_info_operation_2(void)
 
 #if 0
        /* Bookmark */
-       char *thumbnail_path1 = tzplatform_mkpath(TZ_USER_CONTENT, "Images and videos/My video clips/teat11.jpg"));
+       char *thumbnail_path1 = tzplatform_mkpath(TZ_USER_VIDEOS, "teat11.jpg");
        media_bookmark_insert_to_db(test_video_id, 100, thumbnail_path1);
        media_bookmark_insert_to_db(test_video_id, 200, thumbnail_path1);
 
@@ -1636,79 +1363,6 @@ int test_folder_operation(void)
        return ret;
 }
 
-bool folder_update_cb(media_folder_h folder, void *user_data)
-{
-       char *folder_id = NULL;
-       char *folder_path = NULL;
-       char *folder_name = NULL;
-       int folder_order = -1;
-       bool ret = true;
-
-       if (folder != NULL) {
-               ret = media_folder_get_folder_id(folder, &folder_id);
-               media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
-               media_content_debug("folder_id = [%s]", folder_id);
-               SAFE_FREE(folder_id);
-
-               ret = media_folder_get_path(folder, &folder_path);
-               media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
-               media_content_debug("folder_path = [%s]", folder_path);
-               SAFE_FREE(folder_path);
-
-               ret = media_folder_get_name(folder, &folder_name);
-               media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
-               media_content_debug("folder_name = [%s]", folder_name);
-               SAFE_FREE(folder_name);
-
-               ret = media_folder_get_order(folder, &folder_order);
-               media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
-               media_content_debug("folder_order = [%d]", folder_order);
-
-               ret = media_folder_clone(&g_folder, folder);
-               media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
-
-               ret = true;
-       } else {
-               ret = false;
-       }
-
-       return ret;
-}
-
-
-int test_folder_update(void)
-{
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-       filter_h filter;
-       int folder_count = 0;
-
-       media_content_debug("\n============Folder Update Test============\n\n");
-
-       ret = media_filter_create(&filter);
-       media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
-
-       ret = media_filter_set_condition(filter, "MEDIA_TYPE=0 and MEDIA_STORAGE_TYPE=0", MEDIA_CONTENT_COLLATE_DEFAULT);       /*MEDIA_TYPE 0-image, 1-video, 2-sound, 3-music, 4-other*/
-       ret = media_filter_set_order(filter, MEDIA_CONTENT_ORDER_DESC, FOLDER_ORDER, MEDIA_CONTENT_COLLATE_NOCASE);
-
-       ret = media_folder_get_folder_count_from_db(filter, &folder_count);
-
-       media_content_debug("Folder count : %d", folder_count);
-
-       ret = media_folder_foreach_folder_from_db(filter, folder_update_cb, NULL);
-
-       media_filter_destroy(filter);
-
-       ret = media_folder_set_name(g_folder, "test_folder");
-
-       ret = media_folder_set_order(g_folder, 200);
-
-       ret = media_folder_update_to_db(g_folder);
-
-       ret = media_folder_destroy(g_folder);
-
-       return ret;
-}
-
 int test_playlist_operation(void)
 {
        int ret = MEDIA_CONTENT_ERROR_NONE;
@@ -1754,7 +1408,7 @@ int test_playlist_operation(void)
                media_playlist_add_media(playlist_1, test_video_id);
 
                #if 0
-               char *playlist_thumb_path = tzplatform_mkpath(TZ_USER_CONTENT, "Images/Default.jpg"));
+               char *playlist_thumb_path = tzplatform_mkpath(TZ_USER_IMAGES, "Default.jpg"));
                media_playlist_set_thumbnail_path(playlist_1, playlist_thumb_path);
                #endif
 
@@ -1787,8 +1441,8 @@ int test_playlist_operation(void)
        media_content_debug("playlist_id_3 [%d]", playlist_id_3);
 
        /* Export and import playlist */
-       media_playlist_export_to_file(playlist_3, "/opt/usr/media/Music/playlist.m3u");
-       media_playlist_import_from_file("/opt/usr/media/Music/playlist.m3u", "playlist_4", &playlist_4);
+       media_playlist_export_to_file(playlist_3, tzplatform_mkpath(TZ_USER_MUSIC, "playlist.m3u"));
+       media_playlist_import_from_file(tzplatform_mkpath(TZ_USER_MUSIC, "playlist.m3u"), "playlist_4", &playlist_4);
 
        /* Filter for media*/
        ret = media_filter_create(&m_filter);
@@ -1882,14 +1536,19 @@ int test_playlist_operation_v2(void)
        int ret = MEDIA_CONTENT_ERROR_NONE;
        media_playlist_h playlist_1 = NULL;
        const char *playlist_name_1 = "myPlaylist_1";
-       const char *playlist_thumb_path = tzplatform_mkpath(TZ_USER_CONTENT, "Images/Default.jpg");
+       const char *playlist_thumb_path = tzplatform_mkpath(TZ_USER_IMAGES, "Default.jpg");
+       int playlist_id = 0;
 
        media_content_debug("\n============Playlist Test V2============\n\n");
 
-       ret = media_playlist_create(playlist_name_1, &playlist_1);
+       ret = media_playlist_create(&playlist_1);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error media_playlist_create : [%d]", ret);
 
+       ret = media_playlist_set_name(playlist_1, playlist_name_1);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_playlist_set_name : [%d]", ret);
+
        ret = media_playlist_set_thumbnail_path(playlist_1, playlist_thumb_path);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error media_playlist_set_thumbnail_path : [%d]", ret);
@@ -1902,9 +1561,13 @@ int test_playlist_operation_v2(void)
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error media_playlist_set_name : [%d]", ret);
 
-       ret = media_playlist_update_to_db(playlist_1);
+       ret = media_playlist_get_playlist_id(playlist_1, &playlist_id);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("error media_playlist_update_to_db : [%d]", ret);
+               media_content_error("error media_playlist_get_playlist_id : [%d]", ret);
+
+       ret = media_playlist_update_to_db_v2(playlist_id, playlist_1);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_playlist_update_to_db_v2 : [%d]", ret);
 
        ret = media_playlist_destroy(playlist_1);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
@@ -2025,7 +1688,7 @@ int test_tag_operation(void)
        ret = media_tag_add_media(tag_2, test_video_id);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error media_tag_add_media : [%d]", ret);
-       ret = media_tag_set_name(tag_2, (char *)"test_tag");
+       ret = media_tag_set_name(tag_2, "test_tag");
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error media_tag_set_name : [%d]", ret);
        ret = media_tag_update_to_db(tag_2);
@@ -2051,6 +1714,9 @@ int test_tag_operation(void)
        ret = media_tag_destroy(tag_2);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error media_tag_destroy : [%d]", ret);
+       ret = media_tag_destroy(tag_3);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_tag_destroy : [%d]", ret);
        ret = media_filter_destroy(filter);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error media_filter_destroy : [%d]", ret);
@@ -2058,6 +1724,57 @@ int test_tag_operation(void)
        return ret;
 }
 
+int test_tag_operation_v2(void)
+{
+       int ret = MEDIA_CONTENT_ERROR_NONE;
+       media_tag_h tag_1;
+       const char *tag_name_1 = "myTag_1";
+       int tag_id = -1;
+
+       media_content_debug("\n============Tag Test V2============\n\n");
+
+       /* Create Tag */
+       ret = media_tag_create(&tag_1);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_tag_create : [%d]", ret);
+
+       ret = media_tag_set_name(tag_1, tag_name_1);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_tag_set_name : [%d]", ret);
+
+       /* Add media to Tag */
+       ret = media_tag_add_media(tag_1, test_audio_id);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_tag_add_media : [%d]", ret);
+
+       ret = media_tag_add_media(tag_1, test_video_id);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_tag_add_media : [%d]", ret);
+
+       ret = media_tag_insert_to_db_v2(tag_1);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_tag_insert_to_db_v2 : [%d]", ret);
+
+#if 1
+       ret = media_tag_get_tag_id(tag_1, &tag_id);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_tag_get_tag_id : [%d]", ret);
+
+       ret = media_tag_remove_media(tag_1, test_video_id);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_tag_add_media : [%d]", ret);
+
+       ret = media_tag_update_to_db_v2(tag_id, tag_1);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_tag_update_to_db_v2 : [%d]", ret);
+#endif
+
+       ret = media_tag_destroy(tag_1);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("error media_tag_destroy : [%d]", ret);
+
+       return ret;
+}
 
 int test_bookmark_operation(void)
 {
@@ -2085,7 +1802,7 @@ int test_bookmark_operation(void)
                media_content_error("error media_filter_set_order : [%d]", ret);
 
        /* insert bookmark to video */
-       const char *thumbnail_path1 = tzplatform_mkpath(TZ_USER_CONTENT, "Images and videos/My video clips/teat11.jpg");
+       const char *thumbnail_path1 = tzplatform_mkpath(TZ_USER_VIDEOS, "teat11.jpg");
        ret = media_bookmark_insert_to_db(test_video_id, 400, thumbnail_path1);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("error media_bookmark_insert_to_db : [%d]", ret);
@@ -2113,6 +1830,8 @@ int test_bookmark_operation(void)
                        media_content_error("error media_bookmark_set_name : [%d]", ret);
 
                ret = media_bookmark_update_to_db(bookmark_handle);
+               if (ret != MEDIA_CONTENT_ERROR_NONE)
+                       media_content_error("error media_bookmark_update_to_db : [%d]", ret);
        }
 
        ret = media_info_foreach_bookmark_from_db(test_video_id, NULL, bookmarks_cb, NULL);
@@ -2132,7 +1851,7 @@ int test_bookmark_operation_v2(void)
 
        int ret = MEDIA_CONTENT_ERROR_NONE;
        media_bookmark_h bookmark = NULL;
-       const char *thumbnail_path1 = tzplatform_mkpath(TZ_USER_CONTENT, "Images and videos/My video clips/teat11.jpg");
+       const char *thumbnail_path1 = tzplatform_mkpath(TZ_USER_VIDEOS, "teat11.jpg");
 
        ret = media_bookmark_create(test_video_id, 400, &bookmark);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
@@ -2231,13 +1950,15 @@ int test_group_operation(void)
                ret = media_group_get_group_count_from_db(g_filter, idx, &group_count);
                if (ret != MEDIA_CONTENT_ERROR_NONE) {
                        test_filter_destroy();
-                       media_content_error("media_group_get_group_count_from_db fail. idx=[%d]", ret, idx);
+                       media_content_error("media_group_get_group_count_from_db fail. ret=[%d] idx=[%d]", ret, idx);
                        return ret;
                } else {
                        media_content_debug("[%2d]group_count [%d]", idx, group_count);
                }
 
                ret = media_group_foreach_group_from_db(g_filter, idx, group_list_cb, &idx);
+               if (ret != MEDIA_CONTENT_ERROR_NONE)
+                       media_content_error("media_group_foreach_group_from_db failed: %d", ret);
        }
        ret = test_filter_destroy();
 
@@ -2258,95 +1979,11 @@ int test_update_operation()
                return -1;
        } else {
                media_content_debug("media_info_foreach_media_from_db success");
-               char *media_id = NULL;
-               char *media_path = NULL;
-               media_content_type_e media_type = 0;
 
                for (i = 0; i < g_list_length(all_item_list); i++) {
                        media_handle = (media_info_h)g_list_nth_data(all_item_list, i);
-
-                       ret = media_info_get_media_id(media_handle, &media_id);
-                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                               media_content_error("media_info_get_media_id failed: %d", ret);
-                       ret = media_info_get_file_path(media_handle, &media_path);
-                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                               media_content_error("media_info_get_file_path failed: %d", ret);
-                       ret = media_info_get_media_type(media_handle, &media_type);
-                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                               media_content_error("media_info_get_media_type failed: %d", ret);
-
-                       media_content_debug("media_id [%d] : %s", i, media_id);
-                       media_content_debug("media_type [%d] : %d", i, media_type);
-                       media_content_debug("media_path [%d] : %s", i, media_path);
-#if 0
-                       if (media_type == MEDIA_CONTENT_TYPE_IMAGE) {
-                               image_meta_h image_handle;
-                               media_content_orientation_e orientation;
-
-                               ret = media_info_get_image(media_handle, &image_handle);
-                               if (ret != MEDIA_CONTENT_ERROR_NONE) {
-                                       media_content_error("media_info_get_image failed: %d", ret);
-                               } else {
-                                       media_content_debug("media_info_get_image success");
-
-                                       /* update image meta */
-                                       orientation = MEDIA_CONTENT_ORIENTATION_ROT_180;
-                                       image_meta_set_orientation(image_handle, orientation);
-
-                                       ret = image_meta_update_to_db(image_handle);
-                                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                               media_content_error("image_meta_update_to_db failed: %d", ret);
-                                       else
-                                               media_content_debug("image_meta_update_to_db success");
-                               }
-
-                       } else if (media_type == MEDIA_CONTENT_TYPE_VIDEO) {
-                               video_meta_h video_handle;
-
-                               ret = media_info_get_video(media_handle, &video_handle);
-                               if (ret != MEDIA_CONTENT_ERROR_NONE) {
-                                       media_content_error("media_info_get_video failed: %d", ret);
-                               } else {
-                                       media_content_debug("media_info_get_video success");
-
-                                       /* update video meta */
-                                       video_meta_set_played_count(video_handle, 5);
-                                       video_meta_set_played_time(video_handle, 5);
-                                       video_meta_set_played_position(video_handle, 5);
-                                       video_meta_update_to_db(video_handle);
-
-                                       ret = video_meta_update_to_db(video_handle);
-                                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                               media_content_error("video_meta_update_to_db failed: %d", ret);
-                                       else
-                                               media_content_debug("video_meta_update_to_db success");
-                               }
-                       } else if (media_type == MEDIA_CONTENT_TYPE_MUSIC) {
-                               audio_meta_h audio_handle = NULL;
-                               ret = media_info_get_audio(media_handle, &audio_handle);
-                               if (ret != MEDIA_CONTENT_ERROR_NONE) {
-                                       media_content_error("media_info_get_audio failed: %d", ret);
-                               } else {
-                                       media_content_debug("media_info_get_audio success");
-
-                                       audio_meta_set_played_count(audio_handle, 5);
-                                       audio_meta_set_played_time(audio_handle, 1000);
-                                       audio_meta_set_played_position(audio_handle, 180);
-
-                                       ret = audio_meta_update_to_db(audio_handle);
-                                       if (ret != MEDIA_CONTENT_ERROR_NONE)
-                                               media_content_error("audio_meta_update_to_db failed: %d", ret);
-                                       else
-                                               media_content_debug("audio_meta_update_to_db success");
-                               }
-
-                       }
-#endif
+                       get_media_meta(media_handle);
                }
-
-               /* fix prevent: Resource Leak */
-               SAFE_FREE(media_id);
-               SAFE_FREE(media_path);
        }
 
        return MEDIA_CONTENT_ERROR_NONE;
@@ -2355,9 +1992,9 @@ int test_update_operation()
 int test_insert(void)
 {
        int ret = MEDIA_CONTENT_ERROR_NONE;
-       const char *path = "/opt/usr/media/Images/Default.jpg";
+       const char *path = tzplatform_mkpath(TZ_USER_IMAGES, "Default.jpg");
 #if 0
-       const char *path = "/opt/usr/media/Others/other.txt";
+       const char *path = tzplatform_mkpath(TZ_USER_DOCUMENTS, "other.txt"));
        char *path = NULL;
 #endif
        media_info_h media_item = NULL;
@@ -2400,7 +2037,7 @@ int test_move(void)
 {
        int ret = MEDIA_CONTENT_ERROR_NONE;
        const char *move_media_id = "60aea677-4742-408e-b5f7-f2628062d06d";
-       const char *dst_path = tzplatform_mkpath(TZ_USER_CONTENT, "Images/XX/Default1.jpg");
+       const char *dst_path = tzplatform_mkpath(TZ_USER_IMAGES, "XX/Default1.jpg");
        media_info_h move_media = NULL;
 
        ret = media_info_get_media_from_db(move_media_id, &move_media);
@@ -2594,13 +2231,9 @@ int test_create_thumbnail(int cancel)
 
 bool face_cb(media_face_h face, void *user_data)
 {
-       if (user_data != NULL) {
-               unsigned x, y, rect_w, rect_h;
-               media_face_get_face_rect(face, &x, &y, &rect_w, &rect_h);
-               media_content_debug("face(%p) x = %d, y = %d [%d, %d]", face, x, y, rect_w, rect_h);
-               return TRUE;
-       }
-       return FALSE;
+       get_face_meta(face);
+
+       return false;
 }
 
 void face_detection_complete_cb(media_content_error_e error, int count, void *user_data)
@@ -2621,6 +2254,7 @@ void face_detection_complete_cb(media_content_error_e error, int count, void *us
                        media_content_error("media_info_get_media_id failed: %d", ret);
                if (media_id != NULL) {
                        ret = media_info_foreach_face_from_db(media_id, NULL, face_cb, NULL);
+                       SAFE_FREE(media_id);
                        if (ret != MEDIA_CONTENT_ERROR_NONE)
                                media_content_error("media_info_foreach_face_from_db failed: %d", ret);
                }
@@ -2655,11 +2289,9 @@ bool start_face_detection_cb(media_info_h media, void *user_data)
        ret = media_info_clone(&dst, media);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("media_info_clone failed: %d", ret);
-       else {
-               ret = media_info_start_face_detection(dst, face_detection_complete_cb, dst);
-               if (ret != MEDIA_CONTENT_ERROR_NONE)
-                       media_content_error("media_info_start_face_detection failed: %d", ret);
-       }
+
+       GList **list = (GList**)user_data;
+       *list = g_list_append(*list, dst);
 
        /* fix prevent: Resource leak */
        SAFE_FREE(media_id);
@@ -2711,14 +2343,27 @@ bool cancel_face_detection_cb(media_info_h media, void *user_data)
 gboolean face_detection_start(gpointer data)
 {
        int ret = MEDIA_CONTENT_ERROR_NONE;
+       GList *all_item_list = NULL;
+       int idx = 0;
 
-       ret = media_info_foreach_media_from_db(g_filter, start_face_detection_cb, NULL);
+       ret = media_info_foreach_media_from_db(g_filter, start_face_detection_cb, &all_item_list);
 
        if (ret == MEDIA_CONTENT_ERROR_NONE)
                media_content_debug("media_info_foreach_media_from_db is success");
        else
                media_content_error("media_info_foreach_media_from_db is failed");
 
+       for (idx = 0; idx < g_list_length(all_item_list); idx++) {
+               media_info_h media_handle = NULL;
+
+               media_handle = (media_info_h)g_list_nth_data(all_item_list, idx);
+
+               ret = media_info_start_face_detection(media_handle, face_detection_complete_cb, NULL);
+               if (ret != MEDIA_CONTENT_ERROR_NONE)
+                       media_content_error("media_info_start_face_detection failed: %d", ret);
+
+       }
+
        return false;
 }
 
@@ -2795,17 +2440,12 @@ int test_request_update_db(void)
 {
        int ret = MEDIA_CONTENT_ERROR_NONE;
        media_info_h media = NULL;
-       char *content_name = NULL;
        bool favorite = FALSE;
 
        ret = media_info_get_media_from_db("71b19196-5b38-4ab1-ab34-bfe05c369614", &media);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("media_info_get_media_from_db failed: %d", ret);
 
-       ret = media_info_set_content_name(media, "TEST_content_name");
-       if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("media_info_set_content_name failed: %d", ret);
-
        ret = media_info_set_favorite(media, TRUE);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("media_info_set_favorite failed: %d", ret);
@@ -2824,14 +2464,6 @@ int test_request_update_db(void)
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("media_info_get_media_from_db failed: %d", ret);
 
-       ret = media_info_get_content_name(media, &content_name);
-       if (ret != MEDIA_CONTENT_ERROR_NONE)
-               media_content_error("media_info_get_content_name failed: %d", ret);
-       else
-               media_content_debug("content name [%s]", content_name);
-
-       SAFE_FREE(content_name);
-
        ret = media_info_get_favorite(media, &favorite);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("media_info_get_favorite failed: %d", ret);
@@ -2882,8 +2514,7 @@ bool dft_cb(media_info_h media, void *user_data)
        } else
                media_content_debug("invalid media_type");
 
-       if (mime_type != NULL)
-               free(mime_type);
+       SAFE_FREE(mime_type);
 
        return true;
 
@@ -3010,93 +2641,24 @@ void insert_batch_cb(media_content_error_e error, void * user_data)
 int test_batch_operations()
 {
        int ret = -1;
-       int i;
+       int i = 0;
        char *file_list[10];
 
        for (i = 0; i < 10; i++) {
-               char filepath[255] = {0,};
-               snprintf(filepath, sizeof(filepath), "%s%d.jpg", tzplatform_mkpath(TZ_USER_CONTENT, "test/image"), i+1);
-               media_content_debug("File : %s\n", filepath);
-               file_list[i] = strdup(filepath);
+               file_list[i] = g_strdup_printf("%s%d.jpg", tzplatform_mkpath(TZ_USER_CONTENT, "test/image"), i+1);
+               media_content_debug("File : %s\n", file_list[i]);
        }
 
        ret = media_info_insert_batch_to_db((const char **)file_list, 10, insert_batch_cb, NULL);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("media_info_insert_batch_to_db failed : %d\n", ret);
 
-       filter_h filter;
-       char *condition = "MEDIA_PATH LIKE \'";
-       strncat(condition, tzplatform_mkpath(TZ_USER_CONTENT, "test/image%%jpg\'"), 17);
-       ret = media_filter_create(&filter);
-       if (ret != MEDIA_CONTENT_ERROR_NONE) {
-               media_content_error("Fail to create filter");
-               return ret;
-       }
-
-       ret = media_filter_set_condition(filter, condition, MEDIA_CONTENT_COLLATE_DEFAULT);
-       if (ret != MEDIA_CONTENT_ERROR_NONE) {
-               media_filter_destroy(filter);
-               media_content_error("Fail to set condition");
-               return ret;
-       }
-
-       ret = media_info_delete_batch_from_db(filter);
-       if (ret != MEDIA_CONTENT_ERROR_NONE) {
-               media_filter_destroy(filter);
-               media_content_error("media_info_delete_batch_from_db failed : %d\n", ret);
-               return ret;
-       }
-
-       ret = media_filter_destroy(filter);
-
-       return ret;
-}
-
-void insert_burst_shot_cb(media_content_error_e error, void * user_data)
-{
-       media_content_debug("media_info_insert_burst_shot_to_db completed![%d]\n", error);
-       g_main_loop_quit(g_loop);
-}
-
-gboolean test_insert_burst_shot_to_db_start(gpointer data)
-{
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-       int i = 0;
-       char *file_list[10];
-
-       for (i = 0; i < 10; i++) {
-               char filepath[255] = {0,};
-               snprintf(filepath, sizeof(filepath), "%s%d.jpg", tzplatform_mkpath(TZ_USER_CONTENT, "test/image"), i+1);
-               media_content_debug("File : %s\n", filepath);
-               file_list[i] = strdup(filepath);
-       }
-
-       ret = media_info_insert_burst_shot_to_db((const char **)file_list, 10, insert_burst_shot_cb, NULL);
-       if (ret != MEDIA_CONTENT_ERROR_NONE) {
-               media_content_error("media_info_insert_burst_shot_to_db failed : %d\n", ret);
-               g_main_loop_quit(g_loop);
-       }
+       for (i = 0; i < 10; i++)
+               g_free(file_list[i]);
 
        return ret;
 }
 
-int test_insert_burst_shot_to_db(void)
-{
-       GSource *source = NULL;
-       GMainContext *context = NULL;
-
-       g_loop = g_main_loop_new(NULL, FALSE);
-       context = g_main_loop_get_context(g_loop);
-       source = g_idle_source_new();
-       g_source_set_callback(source, test_insert_burst_shot_to_db_start, NULL, NULL);
-       g_source_attach(source, context);
-
-       g_main_loop_run(g_loop);
-       g_main_loop_unref(g_loop);
-
-       return 0;
-}
-
 void _scan_cb(media_content_error_e err, void *user_data)
 {
        media_content_debug("scan callback is called : %d\n", err);
@@ -3139,7 +2701,7 @@ gboolean cancel_scan_dir_start(gpointer data)
 {
        int ret = MEDIA_CONTENT_ERROR_NONE;
 
-       const char *dir_path = "/opt/usr/media/Images";
+       const char *dir_path = tzplatform_getenv(TZ_USER_IMAGES);
 
        ret = media_content_cancel_scan_folder(dir_path);
 
@@ -3272,37 +2834,6 @@ gboolean _send_noti_operations(gpointer data)
 
        media_content_debug("media_info_insert_to_db success");
 
-       /* media_info_delete_batch_from_db */
-       filter_h filter;
-       char condition[2048] = {0,};
-       const char *temp = NULL;
-       temp = tzplatform_mkpath(TZ_USER_CONTENT, "test/image%%\'");
-       snprintf(condition, sizeof(condition), "MEDIA_PATH LIKE \'%s", temp);
-
-       ret = media_filter_create(&filter);
-       if (ret != MEDIA_CONTENT_ERROR_NONE) {
-               media_content_error("Fail to create filter");
-               media_info_destroy(media_item);
-               return ret;
-       }
-
-       ret = media_filter_set_condition(filter, condition, MEDIA_CONTENT_COLLATE_DEFAULT);
-       if (ret != MEDIA_CONTENT_ERROR_NONE) {
-               media_filter_destroy(filter);
-               media_info_destroy(media_item);
-               media_content_error("Fail to set condition");
-               return ret;
-       }
-       ret = media_info_delete_batch_from_db(filter);
-       if (ret != MEDIA_CONTENT_ERROR_NONE) {
-               media_filter_destroy(filter);
-               media_info_destroy(media_item);
-               media_content_error("media_info_delete_batch_from_db failed : %d\n", ret);
-               return ret;
-       }
-
-       media_filter_destroy(filter);
-
        media_content_remove_db_updated_cb(noti_h);
 
        /* media_info_update_to_db */
@@ -3339,166 +2870,9 @@ int test_noti()
        return ret;
 }
 
-int test_create_handle(void)
-{
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-       media_info_h media = NULL;
-       const char *path = "/home/owner/content/test/test.txt";
-       char *str_value = NULL;
-       int int_value = -1;
-       bool bool_value = FALSE;
-       unsigned long long content_size = 0;
-       time_t modified_time = 0;
-       double double_value = 0.0;
-
-       ret = media_info_create(path, &media);
-
-       ret = media_info_set_title(media, "test_title");
-       ret = media_info_set_album(media, "test_album");
-       ret = media_info_set_artist(media, "test_artist");
-       ret = media_info_set_genre(media, "test_genre");
-       ret = media_info_set_recorded_date(media, "test_recorded_date");
-       ret = media_info_set_age_rating(media, "test_age_rating");
-       ret = media_info_set_author(media, "test_author");
-       ret = media_info_set_category(media, "test_category");
-       ret = media_info_set_content_name(media, "test_content_name");
-       ret = media_info_set_description(media, "test_description");
-       ret = media_info_set_display_name(media, "test_display_name");
-       ret = media_info_set_keyword(media, "test_keyword");
-       ret = media_info_set_location_tag(media, "test_location_tag");
-       ret = media_info_set_weather(media, "test_weather");
-       ret = media_info_set_provider(media, "test_provider");
-
-       ret = media_info_set_altitude(media, 100.10);
-       ret = media_info_set_latitude(media, 200.20);
-       ret = media_info_set_longitude(media, 300.30);
-       ret = media_info_set_rating(media, 10);
-       ret = media_info_set_played_time(media);
-       ret = media_info_set_favorite(media, TRUE);
-       ret = media_info_increase_played_count(media);
-       ret = media_info_set_added_time(media, 12345);
-
-       ret = media_info_insert_to_db_with_data(media);
-       if (ret != MEDIA_CONTENT_ERROR_NONE) {
-               media_content_error("media_info_insert_to_db_with_data failed : %d\n", ret);
-               media_info_destroy(media);
-               return ret;
-       }
-
-       ret = media_info_get_media_id(media, &str_value);
-       media_content_debug("media_id = [%s]", str_value);
-       SAFE_FREE(str_value);
-
-       ret = media_info_get_file_path(media, &str_value);
-       media_content_debug("file_path = [%s]", str_value);
-       SAFE_FREE(str_value);
-
-       ret = media_info_get_title(media, &str_value);
-       media_content_debug("title = [%s]", str_value);
-       SAFE_FREE(str_value);
-
-       ret = media_info_get_age_rating(media, &str_value);
-       media_content_debug("age_rating = [%s]", str_value);
-       SAFE_FREE(str_value);
-
-       ret = media_info_get_author(media, &str_value);
-       media_content_debug("author = [%s]", str_value);
-       SAFE_FREE(str_value);
-
-       ret = media_info_get_category(media, &str_value);
-       media_content_debug("category = [%s]", str_value);
-       SAFE_FREE(str_value);
-
-       ret = media_info_get_content_name(media, &str_value);
-       media_content_debug("content_name = [%s]", str_value);
-       SAFE_FREE(str_value);
-
-       ret = media_info_get_description(media, &str_value);
-       media_content_debug("description = [%s]", str_value);
-       SAFE_FREE(str_value);
-
-       ret = media_info_get_display_name(media, &str_value);
-       media_content_debug("display_name = [%s]", str_value);
-       SAFE_FREE(str_value);
-
-       ret = media_info_get_keyword(media, &str_value);
-       media_content_debug("keyword = [%s]", str_value);
-       SAFE_FREE(str_value);
-
-       ret = media_info_get_location_tag(media, &str_value);
-       media_content_debug("location_tag = [%s]", str_value);
-       SAFE_FREE(str_value);
-
-       ret = media_info_get_weather(media, &str_value);
-       media_content_debug("weather = [%s]", str_value);
-       SAFE_FREE(str_value);
-
-       ret = media_info_get_provider(media, &str_value);
-       media_content_debug("provider = [%s]", str_value);
-       SAFE_FREE(str_value);
-
-       ret = media_info_get_longitude(media, &double_value);
-       media_content_debug("longitude = [%lf]", double_value);
-
-       ret = media_info_get_latitude(media, &double_value);
-       media_content_debug("latitude = [%lf]", double_value);
-
-       ret = media_info_get_altitude(media, &double_value);
-       media_content_debug("altitud = [%lf]", double_value);
-
-       ret = media_info_get_rating(media, &int_value);
-       media_content_debug("rating = [%d]", int_value);
-
-       ret = media_info_get_favorite(media, &bool_value);
-       media_content_debug("favorite = [%d]", bool_value);
-
-       ret = media_info_get_played_time(media, &modified_time);
-       media_content_debug("played_time = [%d]", modified_time);
-
-       ret = media_info_get_played_count(media, &int_value);
-       media_content_debug("played_count = [%d]", int_value);
-
-       ret = media_info_get_added_time(media, &modified_time);
-       media_content_debug("added_time = [%d]", modified_time);
-
-       ret = media_info_get_size(media, &content_size);
-       media_content_debug("size = [%d]", content_size);
-
-       ret = media_info_get_modified_time(media, &modified_time);
-       media_content_debug("modified_time = [%d]", modified_time);
-
-       ret = media_info_get_media_type(media, (media_content_type_e *)&int_value);
-       media_content_debug("media_type = [%d]", int_value);
-
-       ret = media_info_get_storage_type(media, (media_content_storage_e *)&int_value);
-       media_content_debug("storage_type = [%d]", int_value);
-
-       media_info_destroy(media);
-
-       return ret;
-
-}
-
 bool media_face_test_cb(media_face_h face, void *user_data)
 {
-       char *face_id = NULL;
-       char *media_id = NULL;
-       unsigned int rect_x = 0;
-       unsigned int rect_y = 0;
-       unsigned int rect_w = 0;
-       unsigned int rect_h = 0;
-       media_content_orientation_e orientation = 0;
-       char *face_tag = NULL;
-
-       media_face_get_face_id(face, &face_id);
-       media_face_get_media_id(face, &media_id);
-       media_face_get_face_rect(face, &rect_x, &rect_y, &rect_w, &rect_h);
-       media_face_get_orientation(face, &orientation);
-       media_face_get_tag(face, &face_tag);
-
-       media_content_debug("face_id [%s] media_id [%s]", face_id, media_id);
-       media_content_debug("rect_x [%d] rect_y [%d] rect_w [%d] rect_h [%d] orientation [%d]", rect_x, rect_y, rect_w, rect_h, orientation);
-       media_content_debug("tag [%s]", face_tag);
+       get_face_meta(face);
 
        if (user_data != NULL) {
                media_face_h new_face = NULL;
@@ -3508,10 +2882,6 @@ bool media_face_test_cb(media_face_h face, void *user_data)
                *list = g_list_append(*list, new_face);
        }
 
-       SAFE_FREE(face_id);
-       SAFE_FREE(media_id);
-       SAFE_FREE(face_tag);
-
        return true;
 }
 
@@ -3582,11 +2952,24 @@ int test_face_add_del(void)
        media_content_retvm_if(ret != MEDIA_CONTENT_ERROR_NONE, ret, "fail media_face_create");
 
        ret = media_face_set_face_rect(face, 10, 12, 50, 100);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("media_face_set_face_rect failed: %d", ret);
+
        ret = media_face_set_orientation(face, 5);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("media_face_set_orientation failed: %d", ret);
+
        ret = media_face_set_tag(face, face_tag);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("media_face_set_tag failed: %d", ret);
 
        ret = media_face_insert_to_db(face);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("media_face_insert_to_db failed: %d", ret);
+
        ret = media_face_destroy(face);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("media_face_destroy failed: %d", ret);
 
        /* Update Test */
        GList *all_item_list = NULL;
@@ -3608,9 +2991,17 @@ int test_face_add_del(void)
                face_handle = (media_face_h)g_list_nth_data(all_item_list, 0);
 
                ret = media_face_set_face_rect(face_handle, 20, 22, 70, 70);
+               if (ret != MEDIA_CONTENT_ERROR_NONE)
+                       media_content_error("media_face_set_face_rect failed: %d", ret);
                ret = media_face_set_orientation(face_handle, 3);
+               if (ret != MEDIA_CONTENT_ERROR_NONE)
+                       media_content_error("media_face_set_orientation failed: %d", ret);
                ret = media_face_set_tag(face_handle, NULL);
+               if (ret != MEDIA_CONTENT_ERROR_NONE)
+                       media_content_error("media_face_set_tag failed: %d", ret);
                ret = media_face_update_to_db(face_handle);
+               if (ret != MEDIA_CONTENT_ERROR_NONE)
+                       media_content_error("media_face_update_to_db failed: %d", ret);
 
                media_face_destroy(face_handle);
        }
@@ -3626,7 +3017,7 @@ int test_face_add_del(void)
        return ret;
 }
 
-#ifdef _USE_TV_PROFILE
+#ifdef _USE_TVPD_MODE
 filter_h g_tv_filter = NULL;
 
 int test_tv_filter_create(void)
@@ -3731,7 +3122,7 @@ bool pvr_item_cb(media_pvr_h pvr, void *user_data)
        ret = media_pvr_get_size(pvr, &l_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("Fail to media_pvr_get_size");
-       media_content_debug("size [%ld]", l_value);
+       media_content_debug("size [%lld]", l_value);
 
        ret = media_pvr_get_timezone(pvr, &i_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
@@ -3763,6 +3154,12 @@ bool pvr_item_cb(media_pvr_h pvr, void *user_data)
                media_content_error("Fail to media_pvr_get_program_num");
        media_content_debug("program_num [%d]", i_value);
 
+       unsigned int ui_value = 0;
+       ret = media_pvr_get_service_profile(pvr, &ui_value);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               media_content_error("Fail to media_pvr_get_service_profile");
+       media_content_debug("service_profile [%u]", ui_value);
+
        ret = media_pvr_get_duration(pvr, &i_value);
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                media_content_error("Fail to media_pvr_get_duration");
@@ -3951,7 +3348,7 @@ int main(int argc, char *argv[])
        ret = test_connect_database();
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                return MEDIA_CONTENT_ERROR_NONE;
-#ifdef _USE_TV_PROFILE
+#ifdef _USE_TVPD_MODE
        test_pvr();
 
        test_pvr_update_db();
@@ -3984,10 +3381,6 @@ int main(int argc, char *argv[])
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                return ret;
 
-       ret = test_folder_update();
-       if (ret != MEDIA_CONTENT_ERROR_NONE)
-               return ret;
-
        ret = test_playlist_operation();
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                return ret;
@@ -4040,10 +3433,6 @@ int main(int argc, char *argv[])
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                return MEDIA_CONTENT_ERROR_NONE;
 
-       ret = test_insert_burst_shot_to_db();
-       if (ret != MEDIA_CONTENT_ERROR_NONE)
-               return MEDIA_CONTENT_ERROR_NONE;
-
        ret = test_scan_file();
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                return MEDIA_CONTENT_ERROR_NONE;
@@ -4056,10 +3445,6 @@ int main(int argc, char *argv[])
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                return MEDIA_CONTENT_ERROR_NONE;
 
-       ret = test_create_handle();
-       if (ret != MEDIA_CONTENT_ERROR_NONE)
-               return MEDIA_CONTENT_ERROR_NONE;
-
        ret = test_face();
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                return MEDIA_CONTENT_ERROR_NONE;
@@ -4075,6 +3460,10 @@ int main(int argc, char *argv[])
        ret = test_bookmark_operation_v2();
        if (ret != MEDIA_CONTENT_ERROR_NONE)
                return MEDIA_CONTENT_ERROR_NONE;
+
+       ret = test_tag_operation_v2();
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               return MEDIA_CONTENT_ERROR_NONE;
 #endif
 
        ret = test_disconnect_database();