Rearrange media_packet creation to remove duplicated code 83/201083/3 accepted/tizen/unified/20190311.220547 submit/tizen/20190311.013617
authorjiyong.min <jiyong.min@samsung.com>
Fri, 8 Mar 2019 06:30:48 +0000 (15:30 +0900)
committerhj kim <backto.kim@samsung.com>
Mon, 11 Mar 2019 04:28:54 +0000 (04:28 +0000)
Change-Id: Iad70f63194beaa2a35fdbd80b738015b30bed34a

src/image_util.c

index 8ca58c80dd65da397d43c71b1e9a22b19c656573..000341ceca7260b727aaea62f8435499c3db742a 100644 (file)
@@ -113,6 +113,40 @@ static int __create_media_format(media_format_mimetype_e mimetype, unsigned int
        return IMAGE_UTIL_ERROR_NONE;
 }
 
+static int __create_media_packet(media_format_h fmt, media_packet_h *new_pkt, void **pkt_ptr, uint64_t *pkt_size)
+{
+       int err = MEDIA_FORMAT_ERROR_NONE;
+
+       image_util_retvm_if((fmt == NULL), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "Invalid fmt");
+       image_util_retvm_if((new_pkt == NULL), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "Invalid new_pkt");
+       image_util_retvm_if((pkt_ptr == NULL), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "Invalid pkt_ptr");
+       image_util_retvm_if((pkt_size == NULL), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "Invalid pkt_size");
+
+       err = media_packet_create_alloc(fmt, NULL, NULL, new_pkt);
+       if (err != MEDIA_PACKET_ERROR_NONE) {
+               image_util_error("media_packet_create_alloc failed (%d)", err);
+               return IMAGE_UTIL_ERROR_INVALID_OPERATION;
+       }
+
+       err = media_packet_get_buffer_size(*new_pkt, pkt_size);
+       if (err != MEDIA_PACKET_ERROR_NONE) {
+               image_util_error("media_packet_get_buffer_size failed (%d)", err);
+               media_packet_destroy(*new_pkt);
+               return IMAGE_UTIL_ERROR_INVALID_OPERATION;
+       }
+
+       err = media_packet_get_buffer_data_ptr(*new_pkt, pkt_ptr);
+       if (err != MEDIA_PACKET_ERROR_NONE) {
+               image_util_error("media_packet_get_buffer_data_ptr failed");
+               media_packet_destroy(*new_pkt);
+               return IMAGE_UTIL_ERROR_INVALID_OPERATION;
+       }
+
+       image_util_debug("Success - media_packet is created (%p, %" PRIu64 ")", *pkt_ptr, *pkt_size);
+
+       return IMAGE_UTIL_ERROR_NONE;
+}
+
 static void __mm_destroy_temp_buffer(unsigned char *buffer[])
 {
        int i = 0;
@@ -247,38 +281,14 @@ static int __image_util_image_to_packet(mm_image_info_s *image, media_packet_h *
                return IMAGE_UTIL_ERROR_INVALID_OPERATION;
        }
 
-       err = media_packet_create_alloc(fmt, NULL, NULL, packet);
+       err = __create_media_packet(fmt, packet, &packet_ptr, &packet_size);
        if (err != MEDIA_PACKET_ERROR_NONE) {
-               image_util_error("media_packet_create_alloc failed (%d)", err);
+               image_util_error("__create_media_packet failed (%d)", err);
                media_format_unref(fmt);
                IMAGE_UTIL_SAFE_FREE(buffer);
                return IMAGE_UTIL_ERROR_INVALID_OPERATION;
        }
 
-       err = media_packet_get_buffer_size(*packet, &packet_size);
-       if (err != MEDIA_PACKET_ERROR_NONE) {
-               image_util_error("media_packet_get_buffer_size failed (%d)", err);
-               media_packet_destroy(*packet);
-               IMAGE_UTIL_SAFE_FREE(buffer);
-               return IMAGE_UTIL_ERROR_INVALID_OPERATION;
-       }
-
-       err = media_packet_get_buffer_data_ptr(*packet, &packet_ptr);
-       if (err != MEDIA_PACKET_ERROR_NONE) {
-               image_util_error("media_packet_get_buffer_data_ptr failed");
-               media_packet_destroy(*packet);
-               IMAGE_UTIL_SAFE_FREE(buffer);
-               return IMAGE_UTIL_ERROR_INVALID_OPERATION;
-       }
-
-       if (packet_ptr == NULL || packet_size == 0) {
-               image_util_error("media_packet creation failed (%p, %" PRIu64 ")", packet_ptr, packet_size);
-               media_packet_destroy(*packet);
-               IMAGE_UTIL_SAFE_FREE(buffer);
-               return IMAGE_UTIL_ERROR_INVALID_OPERATION;
-       }
-       image_util_debug("Success - media_packet is created (%p, %" PRIu64 ")", packet_ptr, packet_size);
-
        if ((uint64_t)buffer_size < packet_size) {
                size = (size_t)buffer_size;
        } else {