Change 'started' flag to GifFile pointer and remove the flag 36/191936/1
authorjiyong.min <jiyong.min@samsung.com>
Thu, 25 Oct 2018 02:28:10 +0000 (11:28 +0900)
committerjiyong.min <jiyong.min@samsung.com>
Thu, 25 Oct 2018 22:53:45 +0000 (07:53 +0900)
Change-Id: I53c913803ebf8469b58437bda78f311edd84e0db

gif/include/mm_util_gif_private.h
gif/mm_util_gif.c

index 273131b..22d4ca0 100755 (executable)
@@ -41,7 +41,6 @@ typedef struct {
        void **enc_buffer;                        /**< Encoded output data attached to callback */
        size_t *enc_buffer_size;
        gif_mem_s write_data_ptr;                 /**< Encoded output data attached to callback */
-       gboolean is_started;
 } gif_file_s;
 
 #ifdef __cplusplus
index 25f5a5f..4844320 100644 (file)
@@ -574,8 +574,6 @@ int mm_util_gif_encode_create(mm_gif_file_h *gif_file_h)
        mm_util_retvm_if(gif_file == NULL, MM_UTIL_ERROR_OUT_OF_MEMORY, "Memory allocation failed");
 
        /* initialize data before set */
-       gif_file->is_started = FALSE;
-
        *gif_file_h = (mm_gif_file_h)gif_file;
 
        return MM_UTIL_ERROR_NONE;
@@ -588,7 +586,7 @@ int mm_util_gif_encode_set_file(mm_gif_file_h gif_file_h, const char *file_name)
        mm_util_retvm_if(gif_file == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
        mm_util_retvm_if(file_name == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
        mm_util_retvm_if(strlen(file_name) == 0, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
-       mm_util_retvm_if(gif_file->is_started, MM_UTIL_ERROR_INVALID_OPERATION, "Encoding has already started");
+       mm_util_retvm_if(gif_file->GifFile != NULL, MM_UTIL_ERROR_INVALID_OPERATION, "Encoding has already started");
 
        gif_file->filename = g_strdup(file_name);
        mm_util_retvm_if(gif_file->filename == NULL, MM_UTIL_ERROR_OUT_OF_MEMORY, "Memory allocation failed");
@@ -603,7 +601,7 @@ int mm_util_gif_encode_set_mem(mm_gif_file_h gif_file_h, void **data, size_t *da
        mm_util_retvm_if(gif_file == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
        mm_util_retvm_if(data == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
        mm_util_retvm_if(data_size == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
-       mm_util_retvm_if(gif_file->is_started, MM_UTIL_ERROR_INVALID_OPERATION, "Encoding has already started");
+       mm_util_retvm_if(gif_file->GifFile != NULL, MM_UTIL_ERROR_INVALID_OPERATION, "Encoding has already started");
 
        gif_file->enc_buffer = data;
        gif_file->enc_buffer_size = data_size;
@@ -617,7 +615,7 @@ static int _mm_util_gif_encode_start(mm_gif_file_h gif_file_h, unsigned long wid
        gif_file_s *gif_file = (gif_file_s *)gif_file_h;
 
        mm_util_retvm_if(gif_file == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
-       mm_util_retvm_if(gif_file->is_started, MM_UTIL_ERROR_INVALID_OPERATION, "Encoding has already started");
+       mm_util_retvm_if(gif_file->GifFile != NULL, MM_UTIL_ERROR_INVALID_OPERATION, "Encoding has already started");
 
        mm_util_fenter();
 
@@ -642,8 +640,6 @@ static int _mm_util_gif_encode_start(mm_gif_file_h gif_file_h, unsigned long wid
                return MM_UTIL_ERROR_INVALID_OPERATION;
        }
 
-       gif_file->is_started = TRUE;
-
        mm_util_fleave();
        return MM_UTIL_ERROR_NONE;
 }
@@ -660,7 +656,7 @@ int mm_util_gif_encode_add_image(mm_gif_file_h gif_file_h, mm_image_info_s *gif_
        mm_util_retvm_if((gif_image->width == 0) || (gif_image->height == 0), MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
        mm_util_retvm_if(gif_image->data == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
 
-       if (gif_file->is_started == FALSE) {
+       if (gif_file->GifFile == NULL) {
                mm_util_warn("first added image, _mm_util_gif_encode_start is needed");
                ret = _mm_util_gif_encode_start(gif_file_h, gif_image->width, gif_image->height);
                mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "_mm_util_gif_encode_start failed");
@@ -685,12 +681,13 @@ int mm_util_gif_encode_save(mm_gif_file_h gif_file_h)
        gif_file_s *gif_file = (gif_file_s *)gif_file_h;
 
        mm_util_retvm_if(gif_file == NULL, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid parameter");
-       mm_util_retvm_if(gif_file->is_started == FALSE, MM_UTIL_ERROR_INVALID_OPERATION, "Encoding has not started");
+       mm_util_retvm_if(gif_file->GifFile == NULL, MM_UTIL_ERROR_INVALID_OPERATION, "Encoding has not started");
        mm_util_retvm_if(gif_file->GifFile->ImageCount <= 0, MM_UTIL_ERROR_INVALID_OPERATION, "No frame has encoded");
 
        mm_util_fenter();
 
        ret = _gif_encode_close_file(gif_file->GifFile);
+       gif_file->GifFile = NULL;
        mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "_gif_encode_close_file failed");
 
        if (gif_file->filename != NULL) {
@@ -704,8 +701,6 @@ int mm_util_gif_encode_save(mm_gif_file_h gif_file_h)
                mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "_gif_encode_move_to_origin_mem failed");
        }
 
-       gif_file->is_started = FALSE;
-
        return MM_UTIL_ERROR_NONE;
 }