1. Just Renaming internal APIs 31/137531/3
authorHaejeong Kim <backto.kim@samsung.com>
Thu, 6 Jul 2017 08:32:29 +0000 (17:32 +0900)
committerHaejeong Kim <backto.kim@samsung.com>
Fri, 7 Jul 2017 04:27:48 +0000 (13:27 +0900)
2. Svace issue fix

Change-Id: I75496403a83169694f87fe15c04181fd58287529

src/dcm_svc_db.c
src/dcm_svc_detect_face.c
src/dcm_svc_internal.c

index 4cc2f1f6bac96a0d15ea1eef6c524ebd9e989784..a31f2a4771859c60af50efb0b62989a903baec87 100755 (executable)
@@ -28,12 +28,12 @@ static GMutex gMutexLock;
 static MediaDBHandle *db_handle;
 static uid_t dcm_uid;
 
-gboolean _dcm_svc_db_check_duplicated(MediaDBHandle *db_handle, dcm_face_item_s *data);
-gboolean _dcm_svc_db_check_duplicated_scan_list(MediaDBHandle *db_handle, const char *data);
-static int _dcm_svc_sql_prepare_to_step(sqlite3 *handle, const char *sql_str, sqlite3_stmt** stmt);
-static int _dcm_svc_sql_prepare_to_step_simple(sqlite3 *handle, const char *sql_str, sqlite3_stmt** stmt);
+static gboolean __dcm_svc_db_check_duplicated(MediaDBHandle *db_handle, dcm_face_item_s *data);
+static gboolean __dcm_svc_db_check_duplicated_scan_list(MediaDBHandle *db_handle, const char *data);
+static int __dcm_svc_sql_prepare_to_step(sqlite3 *handle, const char *sql_str, sqlite3_stmt** stmt);
+static int __dcm_svc_sql_prepare_to_step_simple(sqlite3 *handle, const char *sql_str, sqlite3_stmt** stmt);
 
-gboolean _dcm_svc_db_check_duplicated(MediaDBHandle *db_handle, dcm_face_item_s *data)
+gboolean __dcm_svc_db_check_duplicated(MediaDBHandle *db_handle, dcm_face_item_s *data)
 {
        int ret = MS_MEDIA_ERR_NONE;
        sqlite3 * handle = (sqlite3 *)db_handle;
@@ -49,7 +49,7 @@ gboolean _dcm_svc_db_check_duplicated(MediaDBHandle *db_handle, dcm_face_item_s
                , DB_TABLE_FACE, data->media_uuid
                , data->face_rect_x, data->face_rect_y, data->face_rect_w, data->face_rect_h, data->orientation);
 
-       ret = _dcm_svc_sql_prepare_to_step(handle, query_string, &sql_stmt);
+       ret = __dcm_svc_sql_prepare_to_step(handle, query_string, &sql_stmt);
 
        if (ret != MS_MEDIA_ERR_NONE) {
                dcm_error("error when __dcm_svc_sql_prepare_to_step. ret = [%d]", ret);
@@ -68,7 +68,7 @@ gboolean _dcm_svc_db_check_duplicated(MediaDBHandle *db_handle, dcm_face_item_s
        return FALSE;
 }
 
-gboolean _dcm_svc_db_check_duplicated_scan_list(MediaDBHandle *db_handle, const char *data)
+gboolean __dcm_svc_db_check_duplicated_scan_list(MediaDBHandle *db_handle, const char *data)
 {
        int ret = MS_MEDIA_ERR_NONE;
        sqlite3 * handle = (sqlite3 *)db_handle;
@@ -80,7 +80,7 @@ gboolean _dcm_svc_db_check_duplicated_scan_list(MediaDBHandle *db_handle, const
 
        query_string = sqlite3_mprintf("SELECT count(*) FROM %s WHERE media_uuid='%s'", DB_TABLE_FACE_SCAN_LIST, data);
 
-       ret = _dcm_svc_sql_prepare_to_step(handle, query_string, &sql_stmt);
+       ret = __dcm_svc_sql_prepare_to_step(handle, query_string, &sql_stmt);
 
        if (ret != MS_MEDIA_ERR_NONE) {
                dcm_error("error when __dcm_svc_sql_prepare_to_step. ret = [%d]", ret);
@@ -100,7 +100,7 @@ gboolean _dcm_svc_db_check_duplicated_scan_list(MediaDBHandle *db_handle, const
 }
 
 
-static int _dcm_svc_sql_prepare_to_step(sqlite3 *handle, const char *sql_str, sqlite3_stmt** stmt)
+static int __dcm_svc_sql_prepare_to_step(sqlite3 *handle, const char *sql_str, sqlite3_stmt** stmt)
 {
        int ret = MS_MEDIA_ERR_NONE;
 
@@ -134,7 +134,7 @@ static int _dcm_svc_sql_prepare_to_step(sqlite3 *handle, const char *sql_str, sq
        return MS_MEDIA_ERR_NONE;
 }
 
-static int _dcm_svc_sql_prepare_to_step_simple(sqlite3 *handle, const char *sql_str, sqlite3_stmt** stmt)
+static int __dcm_svc_sql_prepare_to_step_simple(sqlite3 *handle, const char *sql_str, sqlite3_stmt** stmt)
 {
        int ret = MS_MEDIA_ERR_NONE;
 
@@ -226,7 +226,7 @@ int dcm_svc_db_get_scan_image_list_by_path(GList **image_list, gboolean mmc_moun
                return MS_MEDIA_ERR_OUT_OF_MEMORY;
        }
 
-       ret = _dcm_svc_sql_prepare_to_step_simple((sqlite3 *)db_handle, query_string, &sql_stmt);
+       ret = __dcm_svc_sql_prepare_to_step_simple((sqlite3 *)db_handle, query_string, &sql_stmt);
        if (ret != MS_MEDIA_ERR_NONE) {
                dcm_error("error when __dcm_svc_sql_prepare_to_step. ret = [%d]", ret);
                return TRUE;
@@ -285,7 +285,7 @@ int dcm_svc_db_get_scan_image_list_from_db(GList **image_list, gboolean mmc_moun
        else
                query_string = sqlite3_mprintf(SELECT_PATH_FROM_UNEXTRACTED_DCM_INTERNAL_MEDIA);
 
-       ret = _dcm_svc_sql_prepare_to_step_simple((sqlite3 *)db_handle, query_string, &sql_stmt);
+       ret = __dcm_svc_sql_prepare_to_step_simple((sqlite3 *)db_handle, query_string, &sql_stmt);
        if (ret != MS_MEDIA_ERR_NONE) {
                dcm_error("error when __dcm_svc_sql_prepare_to_step_simple. ret = [%d]", ret);
                return ret;
@@ -362,7 +362,7 @@ int dcm_svc_db_insert_face_to_db(dcm_face_item_s *face)
        DCM_CHECK_VAL(face, MS_MEDIA_ERR_INVALID_PARAMETER);
        DCM_CHECK_VAL(face->face_uuid, MS_MEDIA_ERR_INVALID_PARAMETER);
 
-       if (_dcm_svc_db_check_duplicated(db_handle, face) == TRUE) {
+       if (__dcm_svc_db_check_duplicated(db_handle, face) == TRUE) {
                dcm_error("[__dcm_svc_db_check_duplicated] The data is duplicated!");
                return MS_MEDIA_ERR_INTERNAL;
        }
@@ -396,7 +396,7 @@ int dcm_svc_db_insert_face_to_face_scan_list(dcm_svc_item_s *scan_item)
        DCM_CHECK_VAL(scan_item, MS_MEDIA_ERR_INVALID_PARAMETER);
        DCM_CHECK_VAL(scan_item->media_uuid, MS_MEDIA_ERR_INVALID_PARAMETER);
 
-       if (_dcm_svc_db_check_duplicated_scan_list(db_handle, scan_item->media_uuid) == TRUE) {
+       if (__dcm_svc_db_check_duplicated_scan_list(db_handle, scan_item->media_uuid) == TRUE) {
                dcm_error("[_dcm_svc_db_insert_face_to_face_scan_list] The data is duplicated!");
                return MS_MEDIA_ERR_INTERNAL;
        }
@@ -462,7 +462,7 @@ int dcm_svc_db_check_scanned_by_media_uuid(const char *media_uuid, gboolean *med
        query_string = sqlite3_mprintf("SELECT count(*) FROM %s WHERE (media_uuid='%q')", DB_TABLE_FACE_SCAN_LIST, media_uuid);
        DCM_CHECK_VAL(query_string, MS_MEDIA_ERR_OUT_OF_MEMORY);
 
-       ret = _dcm_svc_sql_prepare_to_step((sqlite3 *)db_handle, query_string, &sql_stmt);
+       ret = __dcm_svc_sql_prepare_to_step((sqlite3 *)db_handle, query_string, &sql_stmt);
        if (ret != MS_MEDIA_ERR_NONE) {
                dcm_error("error when __dcm_svc_sql_prepare_to_step. ret = [%d]", ret);
                return ret;
index 77ed35bad0e9c0f33ecac8aa38d364e5e1cb92f9..c579d12a498af7ea77fbf677bddd9228a01b2345 100755 (executable)
@@ -24,7 +24,7 @@
 
 static dcm_face_h dcm_face_handle = NULL;
 
-double _calculate_scale_factor(dcm_image_info_s *image_info)
+static double __calculate_scale_factor(dcm_image_info_s *image_info)
 {
        double scale_factor = 0.0;
 
@@ -47,7 +47,7 @@ double _calculate_scale_factor(dcm_image_info_s *image_info)
        return scale_factor;
 }
 
-int _create_face_item(dcm_face_item_s **face)
+static int __create_face_item(dcm_face_item_s **face)
 {
        DCM_CHECK_VAL(face, MS_MEDIA_ERR_INVALID_PARAMETER);
 
@@ -62,7 +62,7 @@ int _create_face_item(dcm_face_item_s **face)
        return MS_MEDIA_ERR_NONE;
 }
 
-void _destroy_face_item(void *data)
+static void __destroy_face_item(void *data)
 {
        dcm_face_item_s *_face = (dcm_face_item_s *)data;
        DCM_CHECK(_face);
@@ -151,13 +151,13 @@ int dcm_face_detect_process(dcm_svc_item_s *scan_item, dcm_image_info_s *image_i
        scan_item->face_count = face_info->count;
 
        /* Compute scale factor between decode size and original size */
-       scale_factor = _calculate_scale_factor(image_info);
+       scale_factor = __calculate_scale_factor(image_info);
 
        /* Insert every face rectangle into database */
        for (i = 0; i < face_info->count; i++) {
                face = NULL;
 
-               ret = _create_face_item(&face);
+               ret = __create_face_item(&face);
                if (ret != MS_MEDIA_ERR_NONE) {
                        dcm_error("Failed to create face items! ret: %d", ret);
                        goto DCM_SVC_FACE_RECOGNIZE_BUFFER_FAILED;
@@ -195,7 +195,7 @@ int dcm_face_detect_process(dcm_svc_item_s *scan_item, dcm_image_info_s *image_i
                }
 
                /* Send db updated notification */
-               _destroy_face_item(face);
+               __destroy_face_item(face);
                face = NULL;
        }
 
@@ -208,7 +208,7 @@ DCM_SVC_FACE_RECOGNIZE_BUFFER_FAILED:
        dcm_face_destroy_face_info(face_info);
 
        if (face != NULL) {
-               _destroy_face_item(face);
+               __destroy_face_item(face);
                face = NULL;
        }
 
index faec2b8d9f310919eaba13731063b819ac15634c..ee06960d6317996c84b31931f8f8c30e90029d0b 100755 (executable)
@@ -32,9 +32,9 @@
 
 #define DCM_SVC_SCAN_THREAD_TIMEOUT_SEC 1
 
-int _dcm_scan_create_timer(gpointer data);
+static int __dcm_scan_create_timer(gpointer data);
 
-void __dcm_scan_main_loop_quit(gpointer data)
+static void __dcm_scan_main_loop_quit(gpointer data)
 {
        dcm_scan_s *_data = (dcm_scan_s *)data;
        if (_data->main_loop != NULL) {
@@ -62,7 +62,7 @@ gboolean __dcm_scan_kill_scan_thread(gpointer data)
 
        if (_data->scan_all_curr_index != 0 || _data->scan_single_curr_index != 0) {
                dcm_warn("Scan thread is working! DO NOT quit main thread!");
-               _dcm_scan_create_timer(data);
+               __dcm_scan_create_timer(data);
        } else {
                dcm_warn("Quit dcm-svc main loop!");
                __dcm_scan_main_loop_quit(data);
@@ -73,7 +73,7 @@ gboolean __dcm_scan_kill_scan_thread(gpointer data)
        return FALSE;
 }
 
-int _dcm_scan_create_timer(gpointer data)
+static int __dcm_scan_create_timer(gpointer data)
 {
        dcm_scan_s *_data = (dcm_scan_s *)data;
        dcm_debug_fenter();
@@ -95,7 +95,7 @@ int _dcm_scan_create_timer(gpointer data)
        return MS_MEDIA_ERR_NONE;
 }
 
-void __destroy_scan_item(void *data)
+static void __destroy_scan_item(void *data)
 {
        dcm_svc_item_s *scan_item = (dcm_svc_item_s *) data;
 
@@ -118,7 +118,7 @@ void __destroy_scan_item(void *data)
        return;
 }
 
-int __dcm_scan_get_mmc_state(void)
+static int __dcm_scan_get_mmc_state(void)
 {
        int err = -1;
        int status = -1;
@@ -130,7 +130,7 @@ int __dcm_scan_get_mmc_state(void)
        return status;
 }
 
-int __dcm_scan_get_item_list(dcm_scan_s *data)
+static int __dcm_scan_get_item_list(dcm_scan_s *data)
 {
        int ret = MS_MEDIA_ERR_NONE;
        gboolean mmc_mounted = false;
@@ -160,7 +160,7 @@ int __dcm_scan_get_item_list(dcm_scan_s *data)
        return MS_MEDIA_ERR_NONE;
 }
 
-int __dcm_scan_get_item_list_by_path(const char *file_path, dcm_scan_s *data)
+static int __dcm_scan_get_item_list_by_path(const char *file_path, dcm_scan_s *data)
 {
        int ret = MS_MEDIA_ERR_NONE;
        gboolean mmc_mounted = false;
@@ -190,7 +190,7 @@ int __dcm_scan_get_item_list_by_path(const char *file_path, dcm_scan_s *data)
        return MS_MEDIA_ERR_NONE;
 }
 
-int __dcm_scan_get_scan_status(dcm_svc_item_s *scan_item, gboolean *media_scanned)
+static int __dcm_scan_get_scan_status(dcm_svc_item_s *scan_item, gboolean *media_scanned)
 {
        int ret = MS_MEDIA_ERR_NONE;
 
@@ -204,7 +204,7 @@ int __dcm_scan_get_scan_status(dcm_svc_item_s *scan_item, gboolean *media_scanne
        return ret;
 }
 
-int __dcm_scan_send_result(dcm_scan_s *data, const char *msg, const unsigned int count, dcm_ipc_port_e port)
+static int __dcm_scan_send_result(dcm_scan_s *data, const char *msg, const unsigned int count, dcm_ipc_port_e port)
 {
        if ((data->scan_all_item_list == NULL) && (data->scan_single_item_list == NULL)) {
                dcm_debug("Send completed message");
@@ -222,12 +222,14 @@ int __dcm_scan_send_result(dcm_scan_s *data, const char *msg, const unsigned int
        return MS_MEDIA_ERR_NONE;
 }
 
-int _dcm_scan_clear_all_items(gpointer data)
+static int __dcm_scan_clear_all_items(gpointer data)
 {
        dcm_scan_s *_data = (dcm_scan_s *)data;
 
        dcm_debug_fenter();
 
+       DCM_CHECK_VAL(_data, MS_MEDIA_ERR_INVALID_PARAMETER);
+
        if (_data->scan_all_item_list != NULL) {
                g_list_free_full(_data->scan_all_item_list, __destroy_scan_item);
                _data->scan_all_item_list = NULL;
@@ -238,12 +240,14 @@ int _dcm_scan_clear_all_items(gpointer data)
        return MS_MEDIA_ERR_NONE;
 }
 
-int _dcm_scan_clear_single_item(gpointer data)
+static int __dcm_scan_clear_single_item(gpointer data)
 {
        dcm_scan_s *_data = (dcm_scan_s *)data;
 
        dcm_debug_fenter();
 
+       DCM_CHECK_VAL(_data, MS_MEDIA_ERR_INVALID_PARAMETER);
+
        if (_data->scan_single_item_list) {
                g_list_free_full(_data->scan_single_item_list, __destroy_scan_item);
                _data->scan_single_item_list = NULL;
@@ -254,7 +258,7 @@ int _dcm_scan_clear_single_item(gpointer data)
        return MS_MEDIA_ERR_NONE;
 }
 
-int _dcm_scan_process(dcm_svc_item_s *scan_item)
+static int __dcm_scan_process(dcm_svc_item_s *scan_item)
 {
        gboolean media_scanned = false;
        int ret = MS_MEDIA_ERR_NONE;
@@ -353,7 +357,7 @@ int _dcm_scan_process(dcm_svc_item_s *scan_item)
        return ret;
 }
 
-gboolean _dcm_scan_idle_process(gpointer data)
+gboolean __dcm_scan_idle_process(gpointer data)
 {
        int ret = MS_MEDIA_ERR_NONE;
        dcm_scan_s *_data = (dcm_scan_s *)data;
@@ -372,7 +376,7 @@ gboolean _dcm_scan_idle_process(gpointer data)
                scan_item = (dcm_svc_item_s *)g_list_nth_data(_data->scan_all_item_list, _data->scan_all_curr_index);
                dcm_sec_debug("current index: %d, path: %s state: %s", _data->scan_all_curr_index, scan_item->file_path, (_data->g_scan_cancel) ? "cancel" : "go");
 
-               ret = _dcm_scan_process(scan_item);
+               ret = __dcm_scan_process(scan_item);
                if (ret != MS_MEDIA_ERR_NONE) {
                        dcm_error("Failed to process scan job! err: %d", ret);
 
@@ -384,11 +388,11 @@ gboolean _dcm_scan_idle_process(gpointer data)
                (_data->scan_all_curr_index)++;
        } else {
                dcm_warn("All images are scanned. Scan operation completed");
-               _dcm_scan_clear_all_items(data);
+               __dcm_scan_clear_all_items(data);
                ret = dcm_svc_db_disconnect();
                if (ret != MS_MEDIA_ERR_NONE)
                        dcm_error("Failed to disconnect db! err: %d", ret);
-               _dcm_scan_clear_all_items(data);
+               __dcm_scan_clear_all_items(data);
                /* Send scan complete message to main thread (if all scan operations are finished) */
                __dcm_scan_send_result(data, NULL, 0, DCM_IPC_PORT_DCM_RECV);
                dcm_debug_fleave();
@@ -402,19 +406,19 @@ gboolean _dcm_scan_idle_process(gpointer data)
        return TRUE;
 }
 
-int _dcm_scan_all_items(gpointer data)
+static int __dcm_scan_all_items(gpointer data)
 {
        dcm_scan_s *_data = (dcm_scan_s *)data;
        int ret = MS_MEDIA_ERR_NONE;
 
        dcm_debug_fenter();
 
-       _dcm_scan_clear_all_items(data);
+       __dcm_scan_clear_all_items(data);
 
        ret = __dcm_scan_get_item_list(_data);
        if (ret == MS_MEDIA_ERR_DB_NO_RECORD) {
                dcm_debug("No items to Scan. Scan operation completed!!!");
-               _dcm_scan_clear_all_items(data);
+               __dcm_scan_clear_all_items(data);
                /* Send scan complete message to main thread (if all scan operations are finished) */
                __dcm_scan_send_result(data, NULL, 0, DCM_IPC_PORT_DCM_RECV);
                ret = dcm_svc_db_disconnect();
@@ -424,24 +428,24 @@ int _dcm_scan_all_items(gpointer data)
        }
 
        /* DCM scan started */
-       g_idle_add(_dcm_scan_idle_process, (gpointer)data);
+       g_idle_add(__dcm_scan_idle_process, (gpointer)data);
 
        dcm_debug_fleave();
 
        return MS_MEDIA_ERR_NONE;
 }
 
-int _dcm_scan_kill_scanner(gpointer data)
+static int __dcm_scan_kill_scanner(gpointer data)
 {
        dcm_scan_s *_data = (dcm_scan_s *) data;
        dcm_debug("Terminate scanning operations, and quit scan thread main loop");
 
        _data->g_scan_cancel = TRUE;
 
-       return _dcm_scan_create_timer(data);
+       return __dcm_scan_create_timer(data);
 }
 
-int _dcm_scan_receive_message(dcmMsg *recv_msg, gpointer data)
+static int __dcm_scan_receive_message(dcmMsg *recv_msg, gpointer data)
 {
        dcm_scan_s *_data = (dcm_scan_s *) data;
        int ret = MS_MEDIA_ERR_NONE;
@@ -453,7 +457,7 @@ int _dcm_scan_receive_message(dcmMsg *recv_msg, gpointer data)
 
        if (recv_msg->msg_type == DCM_MSG_REQUEST_KILL_SERVER) {
                /* Destroy scan idles, and quit scan thread main loop */
-               ret = _dcm_scan_kill_scanner(data);
+               ret = __dcm_scan_kill_scanner(data);
                if (ret != MS_MEDIA_ERR_NONE)
                        dcm_error("Failed to terminate DCM scan service! err: %d", ret);
                return ret;
@@ -462,7 +466,7 @@ int _dcm_scan_receive_message(dcmMsg *recv_msg, gpointer data)
                ret = dcm_svc_db_connect(recv_msg->uid);
                if (ret != MS_MEDIA_ERR_NONE)
                        dcm_error("Failed to disconnect db! err: %d", ret);
-               _dcm_scan_all_items(data);
+               __dcm_scan_all_items(data);
                ret = dcm_svc_db_disconnect();
        } else {
                dcm_error("Invalid message type(%d)!", recv_msg->msg_type);
@@ -493,8 +497,8 @@ int dcm_scan_finalize(gpointer data)
        /* Only scan item lists are freed here, scan idles should be freed before this function */
        dcm_scan_s *_data = (dcm_scan_s *)data;
 
-       _dcm_scan_clear_all_items(data);
-       _dcm_scan_clear_single_item(data);
+       __dcm_scan_clear_all_items(data);
+       __dcm_scan_clear_single_item(data);
        dcm_face_detect_finalize();
 
        if (_data != NULL)
@@ -562,7 +566,7 @@ gboolean dcm_scan_read_request(GIOChannel *src, GIOCondition condition, gpointer
        }
 
        /* Process received message */
-       err = _dcm_scan_receive_message(&recv_msg, data);
+       err = __dcm_scan_receive_message(&recv_msg, data);
        if (err != MS_MEDIA_ERR_NONE) {
                dcm_error("Error ocurred when process received message: %d", err);
                goto DCM_SVC_SCAN_READ_THREAD_RECV_SOCKET_FAILED;
@@ -599,7 +603,7 @@ int dcm_scan_single(const char *file_path, uid_t uid, int *face_count)
                goto DCM_SVC_SCAN_SINGLE_FAILED;
        }
 
-       _dcm_scan_clear_single_item(dcm_scan_data);
+       __dcm_scan_clear_single_item(dcm_scan_data);
 
        ret = dcm_svc_db_connect(uid);
        if (ret != MS_MEDIA_ERR_NONE)
@@ -608,7 +612,7 @@ int dcm_scan_single(const char *file_path, uid_t uid, int *face_count)
        ret = __dcm_scan_get_item_list_by_path(file_path, dcm_scan_data);
        if (ret == MS_MEDIA_ERR_DB_NO_RECORD) {
                dcm_debug("No items to Scan. Scan operation completed!!!");
-               _dcm_scan_clear_single_item(dcm_scan_data);
+               __dcm_scan_clear_single_item(dcm_scan_data);
                goto DCM_SVC_SCAN_SINGLE_FAILED;
        }
 
@@ -620,7 +624,7 @@ int dcm_scan_single(const char *file_path, uid_t uid, int *face_count)
                scan_item = (dcm_svc_item_s *)g_list_nth_data(dcm_scan_data->scan_single_item_list, dcm_scan_data->scan_single_curr_index);
                dcm_sec_debug("current index: %d, path: %s, scan type: %d", dcm_scan_data->scan_single_curr_index, scan_item->file_path, scan_item->scan_item_type);
 
-               ret = _dcm_scan_process(scan_item);
+               ret = __dcm_scan_process(scan_item);
                if (ret != MS_MEDIA_ERR_NONE) {
                        dcm_error("Failed to process scan job! err: %d", ret);
 
@@ -643,7 +647,7 @@ DCM_SVC_SCAN_SINGLE_FAILED:
                *face_count = 0;
 
        dcm_debug("*face_count is %d", *face_count);
-       _dcm_scan_clear_single_item(dcm_scan_data);
+       __dcm_scan_clear_single_item(dcm_scan_data);
 
        ret = dcm_scan_finalize(dcm_scan_data);
        if (ret != MS_MEDIA_ERR_NONE)