From 8601874243aa2a1811d3e71058cb0303114e5f79 Mon Sep 17 00:00:00 2001 From: Jongkyu Koo Date: Wed, 22 Jun 2016 09:53:46 +0900 Subject: [PATCH] increase waiting time for image_util_transform to 4 sec Change-Id: I0c01f7710bac240e0447e3c1150dc3a49144060c Signed-off-by: Jongkyu Koo --- common/ctsvc_image_util.c | 13 ++++++++----- server/db/ctsvc_db_utils.c | 16 +++++++--------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/common/ctsvc_image_util.c b/common/ctsvc_image_util.c index 00d1a9e..58cfe04 100644 --- a/common/ctsvc_image_util.c +++ b/common/ctsvc_image_util.c @@ -167,7 +167,7 @@ media_packet_h ctsvc_image_util_create_media_packet(media_format_h fmt, } if (mp_buffer) - memcpy(mp_buffer, buffer, (int)buffer_size); + memcpy(mp_buffer, buffer, (int)((buffer_size < mp_buffer_size) ? buffer_size : mp_buffer_size)); return packet; } @@ -182,6 +182,7 @@ static void _image_transform_completed_cb(media_packet_h *dst, struct image_transform *info = user_data; if (NULL == info) { + ERR("NULL == info"); media_packet_destroy(*dst); return; } @@ -209,7 +210,7 @@ static void _image_transform_completed_cb(media_packet_h *dst, return; } - info->buffer = calloc(1, (int)size); + info->buffer = calloc(1, (size_t)size); if (NULL == info->buffer) { ERR("calloc() Fail"); info->ret = CONTACTS_ERROR_SYSTEM; @@ -219,7 +220,7 @@ static void _image_transform_completed_cb(media_packet_h *dst, g_mutex_unlock(&info->mutex); return; } - memcpy(info->buffer, buffer, (int)size); + memcpy(info->buffer, buffer, (size_t)size); info->size = size; info->ret = CONTACTS_ERROR_NONE; } else { @@ -255,10 +256,13 @@ static int _ctsvc_image_util_transform_run(transformation_h transform, ret = image_util_transform_run(transform, packet, _image_transform_completed_cb, info); if (IMAGE_UTIL_ERROR_NONE != ret) { ERR("image_util_transform_run() Fail(%d)", ret); + g_mutex_unlock(&info->mutex); + g_mutex_clear(&info->mutex); + g_cond_clear(&info->cond); return CONTACTS_ERROR_SYSTEM; } - end_time = g_get_monotonic_time() + 2000 * G_TIME_SPAN_MILLISECOND; + end_time = g_get_monotonic_time() + 4000 * G_TIME_SPAN_MILLISECOND; if (!g_cond_wait_until(&info->cond, &info->mutex, end_time)) { /* timeout has passed */ ERR("g_cond_wait_until() return FALSE"); @@ -278,7 +282,6 @@ static int _ctsvc_image_util_transform_run(transformation_h transform, *p_size = info->size; *p_buffer = info->buffer; free(info); - return CONTACTS_ERROR_NONE; } diff --git a/server/db/ctsvc_db_utils.c b/server/db/ctsvc_db_utils.c index e334f4e..e4da3da 100644 --- a/server/db/ctsvc_db_utils.c +++ b/server/db/ctsvc_db_utils.c @@ -324,11 +324,12 @@ static bool _ctsvc_image_util_supported_jpeg_colorspace_cb( } packet = ctsvc_image_util_create_media_packet(fmt, buffer, (unsigned int)size); + free(buffer); + if (NULL == packet) { ERR("ctsvc_image_util_create_media_packet() Fail"); media_format_unref(fmt); info->ret = CONTACTS_ERROR_SYSTEM; - free(buffer); return false; } @@ -338,7 +339,6 @@ static bool _ctsvc_image_util_supported_jpeg_colorspace_cb( media_format_unref(fmt); if (CONTACTS_ERROR_NONE != ret) { - free(buffer); info->ret = CONTACTS_ERROR_SYSTEM; return false; } @@ -348,7 +348,6 @@ static bool _ctsvc_image_util_supported_jpeg_colorspace_cb( width = height; height = temp; } - free(buffer); buffer = buffer_temp; } @@ -382,11 +381,12 @@ static bool _ctsvc_image_util_supported_jpeg_colorspace_cb( } packet = ctsvc_image_util_create_media_packet(fmt, buffer, (unsigned int)size); + free(buffer); + if (NULL == packet) { ERR("ctsvc_image_util_create_media_packet() Fail"); media_format_unref(fmt); info->ret = CONTACTS_ERROR_SYSTEM; - free(buffer); return false; } @@ -397,11 +397,9 @@ static bool _ctsvc_image_util_supported_jpeg_colorspace_cb( media_format_unref(fmt); if (CONTACTS_ERROR_NONE != ret) { - free(buffer); info->ret = -1; return false; } - free(buffer); buffer = buffer_temp; width = resized_width; @@ -596,14 +594,14 @@ char* ctsvc_utils_make_thumbnail(const char *image_path) return NULL; } + snprintf(src, sizeof(src), "%s/%s", CTSVC_CONTACT_IMG_FULL_LOCATION, image_path); + snprintf(dest, sizeof(dest), "%s/%s", CTSVC_CONTACT_IMG_FULL_LOCATION, thumbnail_path); + if (0 == access(dest, F_OK)) { DBG("already exist"); return thumbnail_path; } - snprintf(src, sizeof(src), "%s/%s", CTSVC_CONTACT_IMG_FULL_LOCATION, image_path); - snprintf(dest, sizeof(dest), "%s/%s", CTSVC_CONTACT_IMG_FULL_LOCATION, thumbnail_path); - ret = _ctsvc_image_encode(src, dest, CTSVC_IMAGE_THUMBNAIL_SIZE); if (CONTACTS_ERROR_NONE != ret) { ERR("_ctsvc_image_encode() Fail(%d)", ret); -- 2.7.4