mm_image_destroy_image(_transformed_image);
mm_image_destroy_image(_t_data->src);
- IMAGE_UTIL_SAFE_FREE(_t_data->transform);
- IMAGE_UTIL_SAFE_FREE(_t_data);
+ IMAGE_UTIL_SAFE_G_FREE(_t_data->transform);
+ IMAGE_UTIL_SAFE_G_FREE(_t_data);
}
image_util_fleave();
return NULL;
}
-static int __clone_transform(transformation_h src, transformation_h *dst)
-{
- int ret = IMAGE_UTIL_ERROR_NONE;
- transformation_s *_src = (transformation_s *)src;
- transformation_s *_dst = NULL;
-
- image_util_retvm_if(!src, IMAGE_UTIL_ERROR_INVALID_PARAMETER, "Invalid src");
- image_util_retvm_if(!dst, IMAGE_UTIL_ERROR_INVALID_PARAMETER, "Invalid dst");
-
- _dst = calloc(1, sizeof(transformation_s));
- image_util_retvm_if(!_dst, IMAGE_UTIL_ERROR_OUT_OF_MEMORY, "Memory allocation failed");
-
- memcpy(_dst, _src, sizeof(transformation_s));
-
- *dst = (transformation_h)_dst;
-
- return ret;
-}
-
/* LCOV_EXCL_START */
static void __destroy_async_queue(gpointer data)
{
image_util_retm_if(!data, "Invalid data");
mm_image_destroy_image(_t_data->src);
- IMAGE_UTIL_SAFE_FREE(_t_data->transform);
- IMAGE_UTIL_SAFE_FREE(_t_data);
+ IMAGE_UTIL_SAFE_G_FREE(_t_data->transform);
+ IMAGE_UTIL_SAFE_G_FREE(_t_data);
}
/* LCOV_EXCL_STOP */
image_util_retvm_if(!_handle->queue || !_handle->thread, IMAGE_UTIL_ERROR_INVALID_PARAMETER, "Invalid thread");
image_util_retvm_if(!__is_valid_condition(handle), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "Invalid transform condition");
- _t_data = calloc(1, sizeof(t_data_s));
- image_util_retvm_if(!_t_data, IMAGE_UTIL_ERROR_OUT_OF_MEMORY, "Memory allocation failed");
-
- ret = __clone_transform(handle, &_t_data->transform);
- if (ret != IMAGE_UTIL_ERROR_NONE) {
- image_util_error("__clone_transform failed (%d)", ret);
- IMAGE_UTIL_SAFE_FREE(_t_data);
- return ret;
- }
+ _t_data = g_new0(t_data_s, 1);
+ _t_data->transform = g_memdup(_handle, sizeof(transformation_s));
if (is_transform2) {
ret = image_util_clone_image(src, &_t_data->src);
if (ret != IMAGE_UTIL_ERROR_NONE) {
image_util_error("mm_util_clone_image failed (%d)", ret);
- IMAGE_UTIL_SAFE_FREE(_t_data->transform);
- IMAGE_UTIL_SAFE_FREE(_t_data);
+ g_free(_t_data->transform);
+ g_free(_t_data);
return ret;
}
} else {
_t_data->user_data = user_data;
_t_data->is_transform2 = is_transform2;
- image_util_debug("g_async_queue_push");
- g_async_queue_push(_handle->queue, GINT_TO_POINTER(_t_data));
+ image_util_debug("g_async_queue_push [%p]", _t_data);
+ g_async_queue_push(_handle->queue, _t_data);
image_util_fleave();