From: jiyong.min Date: Fri, 8 Mar 2019 06:30:48 +0000 (+0900) Subject: Rearrange media_packet creation to remove duplicated code X-Git-Tag: submit/tizen/20190311.013617^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0f144e8c55cab9e543763de1f369a6b31946708f;p=platform%2Fcore%2Fapi%2Fimage-util.git Rearrange media_packet creation to remove duplicated code Change-Id: Iad70f63194beaa2a35fdbd80b738015b30bed34a --- diff --git a/src/image_util.c b/src/image_util.c index 8ca58c8..000341c 100644 --- a/src/image_util.c +++ b/src/image_util.c @@ -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 {