From 823adfab2455a9d19da314de2f8e6265b9235b89 Mon Sep 17 00:00:00 2001 From: "Haejeong, Kim" Date: Tue, 22 Sep 2015 11:13:33 +0900 Subject: [PATCH] Update face related code Change-Id: Ic0beaa492f2d5191f367e2a6926c1391288dbf5b --- src/media_face.c | 69 ++++++++++++++++++++++++----------------------- test/media-content_test.c | 13 ++++++--- 2 files changed, 46 insertions(+), 36 deletions(-) diff --git a/src/media_face.c b/src/media_face.c index 10d8c89..72ddbd2 100755 --- a/src/media_face.c +++ b/src/media_face.c @@ -17,6 +17,31 @@ #include #include +static int __media_face_check_media_id(const char *media_id) +{ + int ret = MEDIA_CONTENT_ERROR_NONE; + char *query_str = NULL; + sqlite3_stmt *stmt = NULL; + int item_count = 0; + + media_content_retvm_if(!STRING_VALID(media_id), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid media_id"); + + query_str = sqlite3_mprintf(SELECT_MEDIA_COUNT_FROM_MEDIA_BY_ID, media_id); + ret = _content_query_prepare(&stmt, query_str, NULL, NULL); + SQLITE3_SAFE_FREE(query_str); + media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret); + + while(sqlite3_step(stmt) == SQLITE_ROW) + { + item_count = (int)sqlite3_column_int(stmt, 0); + } + SQLITE3_FINALIZE(stmt); + + media_content_retvm_if(item_count == 0, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid media_id"); + + return MEDIA_CONTENT_ERROR_NONE; +} + int media_face_clone(media_face_h *dst, media_face_h src) { media_face_s *_src = (media_face_s*)src; @@ -168,46 +193,22 @@ int media_face_get_tag(media_face_h face, char **tag) return MEDIA_CONTENT_ERROR_NONE; } -int media_face_create_handle(media_face_h *face) -{ - media_content_retvm_if(face == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid handle"); - - media_face_s* _face = calloc(1, sizeof(media_face_s)); - media_content_retvm_if(_face == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "Out of memory"); - - *face = (media_face_h)_face; - - return MEDIA_CONTENT_ERROR_NONE; -} - -int media_face_set_media_id(media_face_h face, const char *media_id) +int media_face_create_handle(const char *media_id, media_face_h *face) { int ret = MEDIA_CONTENT_ERROR_NONE; - media_face_s* _face = (media_face_s*)face; - char *query_str = NULL; - sqlite3_stmt *stmt = NULL; - int item_count = 0; - media_content_retvm_if(face == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid handle"); media_content_retvm_if(!STRING_VALID(media_id), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid media_id"); + media_content_retvm_if(face == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid handle"); - query_str = sqlite3_mprintf(SELECT_MEDIA_COUNT_FROM_MEDIA_BY_ID, media_id); - ret = _content_query_prepare(&stmt, query_str, NULL, NULL); - SQLITE3_SAFE_FREE(query_str); - media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret); - - while(sqlite3_step(stmt) == SQLITE_ROW) - { - item_count = (int)sqlite3_column_int(stmt, 0); - } - SQLITE3_FINALIZE(stmt); - - media_content_retvm_if(item_count == 0, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid media_id"); + ret = __media_face_check_media_id(media_id); + media_content_retvm_if(ret != MEDIA_CONTENT_ERROR_NONE, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Not exist media_id"); - SAFE_FREE(_face->media_id); + media_face_s* _face = calloc(1, sizeof(media_face_s)); + media_content_retvm_if(_face == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "Out of memory"); _face->media_id = strdup(media_id); - media_content_retvm_if(_face->media_id == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "Out of memory"); + + *face = (media_face_h)_face; return MEDIA_CONTENT_ERROR_NONE; } @@ -264,7 +265,7 @@ int media_face_insert_to_db(media_face_h face) media_content_retvm_if(face == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid handle"); media_content_retvm_if(_face->media_id == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid media_id"); media_content_retvm_if(_face->face_rect_w == 0, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid rect_w"); - media_content_retvm_if(_face->face_rect_w == 0, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid rect_h"); + media_content_retvm_if(_face->face_rect_h == 0, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid rect_h"); ret = media_svc_generate_uuid(&face_uuid); media_content_retvm_if(ret != MS_MEDIA_ERR_NONE, MEDIA_CONTENT_ERROR_INVALID_OPERATION, "Fail to generate face_id"); @@ -291,6 +292,8 @@ int media_face_update_to_db(media_face_h face) media_content_retvm_if(face == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid handle"); media_content_retvm_if(_face->face_id == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid face_id"); media_content_retvm_if(_face->media_id == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid media_id"); + media_content_retvm_if(_face->face_rect_w == 0, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid rect_w"); + media_content_retvm_if(_face->face_rect_h == 0, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid rect_h"); query_str = sqlite3_mprintf(UPDATE_FACE_TO_FACE, _face->face_rect_x, _face->face_rect_y, _face->face_rect_w, _face->face_rect_h, _face->orientation, _face->face_tag, _face->face_id); diff --git a/test/media-content_test.c b/test/media-content_test.c index da18896..69e2ad7 100755 --- a/test/media-content_test.c +++ b/test/media-content_test.c @@ -3089,7 +3089,7 @@ bool media_face_test_cb(media_face_h face, void *user_data) unsigned int rect_y = 0; unsigned int rect_w = 0; unsigned int rect_h = 0; - int orientation = 0; + media_content_orientation_e orientation = 0; char *face_tag = NULL; media_face_get_face_id(face, &face_id); @@ -3180,10 +3180,9 @@ int test_face_add_del(void) char *face_tag = "test_face_tag"; - ret = media_face_create_handle(&face); + ret = media_face_create_handle(media_id, &face); media_content_retvm_if(ret != MEDIA_CONTENT_ERROR_NONE, ret, "fail media_face_create_handle"); - ret = media_face_set_media_id(face, media_id); ret = media_face_set_face_rect(face, 10, 12, 50, 100); ret = media_face_set_orientation(face, 5); ret = media_face_set_tag(face, face_tag); @@ -3327,6 +3326,14 @@ int main(int argc, char *argv[]) ret = test_noti(); 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; + + ret = test_face_add_del(); + if(ret != MEDIA_CONTENT_ERROR_NONE) + return MEDIA_CONTENT_ERROR_NONE; #endif ret = test_disconnect_database(); -- 2.7.4