ret = _gif_image_create_ext_block(GRAPHICS_EXT_FUNC_CODE, GRAPHIC_EXT_BLOCK_SIZE, &_ext_block);
mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "_gif_image_alloc_ext_block failed");
- mm_util_retvm_if(_ext_block->Bytes == NULL, MM_UTIL_ERROR_OUT_OF_MEMORY, "_gif_image_alloc_ext_block failed");
/* use fixed graphics control */
graphic_control_block.DisposalMode = MM_UTIL_GIF_DISPOSAL_UNSPECIFIED;
}
/* release extension blocks */
- if (_ext_block != NULL) {
- MMUTIL_SAFE_FREE(_ext_block->Bytes);
- MMUTIL_SAFE_FREE(_ext_block);
- }
+ MMUTIL_SAFE_FREE(_ext_block->Bytes);
+ MMUTIL_SAFE_FREE(_ext_block);
return MM_UTIL_ERROR_NONE;
}
mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "mm_util_gif_encode_create failed %d", ret);
ret = mm_util_gif_encode_set_file(gif_file_h, path);
- mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "mm_util_gif_encode_set_file failed %d", ret);
+ if (ret != MM_UTIL_ERROR_NONE) {
+ mm_util_error("mm_util_gif_encode_set_file failed");
+ mm_util_gif_encode_destroy(gif_file_h);
+ return ret;
+ }
ret = _mm_util_gif_encode_start(gif_file_h, images[0]->width, images[0]->height);
- mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "_mm_util_gif_encode_start failed");
+ if (ret != MM_UTIL_ERROR_NONE) {
+ mm_util_error("_mm_util_gif_encode_start failed");
+ mm_util_gif_encode_destroy(gif_file_h);
+ return ret;
+ }
for (i = 0; i < image_count; i++) {
ret = mm_util_gif_encode_add_image(gif_file_h, images[i]);
- mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "mm_util_gif_encode_add_image failed");
+ if (ret != MM_UTIL_ERROR_NONE) {
+ mm_util_error("mm_util_gif_encode_add_image failed");
+ mm_util_gif_encode_destroy(gif_file_h);
+ return ret;
+ }
}
ret = mm_util_gif_encode_save(gif_file_h);
- mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "mm_util_gif_encode_save failed");
+ if (ret != MM_UTIL_ERROR_NONE) {
+ mm_util_error("mm_util_gif_encode_save failed");
+ mm_util_gif_encode_destroy(gif_file_h);
+ return ret;
+ }
mm_util_fleave();
mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "mm_util_gif_encode_create failed %d", ret);
ret = mm_util_gif_encode_set_mem(gif_file_h, buffer, size);
- mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "mm_util_gif_encode_set_mem failed %d", ret);
+ if (ret != MM_UTIL_ERROR_NONE) {
+ mm_util_error("mm_util_gif_encode_set_mem failed");
+ mm_util_gif_encode_destroy(gif_file_h);
+ return ret;
+ }
ret = _mm_util_gif_encode_start(gif_file_h, images[0]->width, images[0]->height);
- mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "_mm_util_gif_encode_start failed");
+ if (ret != MM_UTIL_ERROR_NONE) {
+ mm_util_error("_mm_util_gif_encode_start failed");
+ mm_util_gif_encode_destroy(gif_file_h);
+ return ret;
+ }
for (i = 0; i < image_count; i++) {
ret = mm_util_gif_encode_add_image(gif_file_h, images[i]);
- mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "mm_util_gif_encode_add_image failed");
+ if (ret != MM_UTIL_ERROR_NONE) {
+ mm_util_error("mm_util_gif_encode_add_image failed");
+ mm_util_gif_encode_destroy(gif_file_h);
+ return ret;
+ }
}
ret = mm_util_gif_encode_save(gif_file_h);
- mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "mm_util_gif_encode_save failed");
+ if (ret != MM_UTIL_ERROR_NONE) {
+ mm_util_error("mm_util_gif_encode_save failed");
+ mm_util_gif_encode_destroy(gif_file_h);
+ return ret;
+ }
+
+ mm_util_gif_encode_destroy(gif_file_h);
mm_util_fleave();
MMUTIL_SAFE_G_FREE(gif_file->filename);
MMUTIL_SAFE_FREE(gif_file->write_data_ptr.mem);
+ MMUTIL_SAFE_FREE(gif_file);
}