Reinforce code for coverage 69/189569/2
authorMinje Ahn <minje.ahn@samsung.com>
Wed, 19 Sep 2018 00:44:47 +0000 (09:44 +0900)
committerMinje Ahn <minje.ahn@samsung.com>
Wed, 19 Sep 2018 00:52:31 +0000 (09:52 +0900)
Change-Id: Ie5b8e139cee261658e716e9906d2e92cf4652c5b
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
include/metadata_extractor_private.h
packaging/capi-media-metadata-extractor.spec
src/metadata_extractor.c

index 4d63f2c..a26fe52 100755 (executable)
@@ -31,6 +31,8 @@ extern "C" {
 #endif
 #define LOG_TAG "CAPI_MEDIA_METADATA_EXTRACTOR"
 
+#define SAFE_FREE(src)      { if (src) {free(src); src = NULL; } }
+
 #define metadata_extractor_debug(fmt, arg...) do { \
                LOGD(""fmt"", ##arg);     \
        } while (0)
@@ -55,6 +57,22 @@ extern "C" {
                SECURE_LOGI(""fmt"", ##arg);     \
        } while (0)
 
+
+#define metadata_extractor_retv_free_if(expr, val, p_str) do { \
+               if (expr) { \
+                       LOGE("Internal operation error"); \
+                       SAFE_FREE(p_str);       \
+                       return (val);   \
+               }       \
+       } while (0)
+
+#define metadata_extractor_retvm_if(expr, val, fmt, arg...) do {       \
+               if (expr) {     \
+                       LOGE(""fmt"", ##arg);   \
+                       return (val); \
+               }       \
+       } while (0)
+
 typedef struct {
        char *path;
        void *buffer;
index f977c4f..207db99 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       capi-media-metadata-extractor
 Summary:    A media metadata extractor library in Tizen Native API
-Version: 0.1.10
+Version: 0.1.11
 Release:    1
 Group:      Multimedia/API
 License:    Apache-2.0
index 68cd3de..51b7a96 100755 (executable)
@@ -21,9 +21,9 @@
 #include <metadata_extractor.h>
 #include <metadata_extractor_private.h>
 
-#define SAFE_FREE(src)      { if (src) {free(src); src = NULL; } }
 #define META_MAX_LEN   256
 
+
 typedef enum {
        METADATA_TYPE_STREAM    = 0,
        METADATA_TYPE_ATTR,
@@ -325,17 +325,10 @@ static int __metadata_extractor_get_duration(metadata_extractor_s *metadata, int
        char *err_attr_name = NULL;
        int _duration = 0;
 
-       if ((!metadata) || (!metadata->attr_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->attr_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->attr_h, &err_attr_name, MM_FILE_CONTENT_DURATION, &_duration, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *duration = _duration;
 
@@ -348,18 +341,11 @@ static int __metadata_extractor_get_audio_bitrate(metadata_extractor_s *metadata
        char *err_attr_name = NULL;
        int _audio_bitrate = 0;
 
-       if ((!metadata) || (!metadata->attr_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->attr_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        if (metadata->audio_track_cnt > 0) {
                ret = mm_file_get_attrs(metadata->attr_h, &err_attr_name, MM_FILE_CONTENT_AUDIO_BITRATE, &_audio_bitrate, NULL);
-               if (ret != FILEINFO_ERROR_NONE) {
-                       metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-                       SAFE_FREE(err_attr_name);
-                       return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-               }
+               metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
        }
 
        *bitrate = _audio_bitrate;
@@ -373,18 +359,11 @@ static int __metadata_extractor_get_audio_channel(metadata_extractor_s *metadata
        char *err_attr_name = NULL;
        int _audio_channel = 0;
 
-       if ((!metadata) || (!metadata->attr_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->attr_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        if (metadata->audio_track_cnt > 0) {
                ret = mm_file_get_attrs(metadata->attr_h, &err_attr_name, MM_FILE_CONTENT_AUDIO_CHANNELS, &_audio_channel, NULL);
-               if (ret != FILEINFO_ERROR_NONE) {
-                       metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-                       SAFE_FREE(err_attr_name);
-                       return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-               }
+               metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
        }
 
        *channel = _audio_channel;
@@ -398,18 +377,11 @@ static int __metadata_extractor_get_audio_samplerate(metadata_extractor_s *metad
        char *err_attr_name = NULL;
        int _audio_samplerate = 0;
 
-       if ((!metadata) || (!metadata->attr_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->attr_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        if (metadata->audio_track_cnt > 0) {
                ret = mm_file_get_attrs(metadata->attr_h, &err_attr_name, MM_FILE_CONTENT_AUDIO_SAMPLERATE, &_audio_samplerate, NULL);
-               if (ret != FILEINFO_ERROR_NONE) {
-                       metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-                       SAFE_FREE(err_attr_name);
-                       return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-               }
+               metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
        }
 
        *samplerate = _audio_samplerate;
@@ -423,18 +395,11 @@ static int __metadata_extractor_get_audio_bitpersample(metadata_extractor_s *met
        char *err_attr_name = NULL;
        int _audio_bit_per_sample = 0;
 
-       if ((!metadata) || (!metadata->attr_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->attr_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        if (metadata->audio_track_cnt > 0) {
                ret = mm_file_get_attrs(metadata->attr_h, &err_attr_name, MM_FILE_CONTENT_AUDIO_BITPERSAMPLE, &_audio_bit_per_sample, NULL);
-               if (ret != FILEINFO_ERROR_NONE) {
-                       metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-                       SAFE_FREE(err_attr_name);
-                       return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-               }
+               metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
        }
 
        *bitpersample = _audio_bit_per_sample;
@@ -446,10 +411,7 @@ static int __metadata_extractor_get_audio_track_count(metadata_extractor_s *meta
 {
        int ret = METADATA_EXTRACTOR_ERROR_NONE;
 
-       if (!metadata) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if(!metadata, METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        *track_cnt = metadata->audio_track_cnt;
 
@@ -462,18 +424,11 @@ static int __metadata_extractor_get_video_bitrate(metadata_extractor_s *metadata
        char *err_attr_name = NULL;
        int _video_bitrate = 0;
 
-       if ((!metadata) || (!metadata->attr_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->attr_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        if (metadata->video_track_cnt > 0) {
                ret = mm_file_get_attrs(metadata->attr_h, &err_attr_name, MM_FILE_CONTENT_VIDEO_BITRATE, &_video_bitrate, NULL);
-               if (ret != FILEINFO_ERROR_NONE) {
-                       metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-                       SAFE_FREE(err_attr_name);
-                       return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-               }
+               metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
        }
        *bitrate = _video_bitrate;
 
@@ -486,18 +441,11 @@ static int __metadata_extractor_get_video_FPS(metadata_extractor_s *metadata, in
        char *err_attr_name = NULL;
        int _video_fps = 0;
 
-       if ((!metadata) || (!metadata->attr_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->attr_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        if (metadata->video_track_cnt > 0) {
                ret = mm_file_get_attrs(metadata->attr_h, &err_attr_name, MM_FILE_CONTENT_VIDEO_FPS, &_video_fps, NULL);
-               if (ret != FILEINFO_ERROR_NONE) {
-                       metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-                       SAFE_FREE(err_attr_name);
-                       return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-               }
+               metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
        }
 
        *fps = _video_fps;
@@ -511,18 +459,11 @@ static int __metadata_extractor_get_video_width(metadata_extractor_s *metadata,
        char *err_attr_name = NULL;
        int _video_width = 0;
 
-       if ((!metadata) || (!metadata->attr_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->attr_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        if (metadata->video_track_cnt > 0) {
                ret = mm_file_get_attrs(metadata->attr_h, &err_attr_name, MM_FILE_CONTENT_VIDEO_WIDTH, &_video_width, NULL);
-               if (ret != FILEINFO_ERROR_NONE) {
-                       metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-                       SAFE_FREE(err_attr_name);
-                       return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-               }
+               metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
        }
 
        *width = _video_width;
@@ -536,18 +477,11 @@ static int __metadata_extractor_get_video_height(metadata_extractor_s *metadata,
        char *err_attr_name = NULL;
        int _video_height = 0;
 
-       if ((!metadata) || (!metadata->attr_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->attr_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        if (metadata->video_track_cnt > 0) {
                ret = mm_file_get_attrs(metadata->attr_h, &err_attr_name, MM_FILE_CONTENT_VIDEO_HEIGHT, &_video_height, NULL);
-               if (ret != FILEINFO_ERROR_NONE) {
-                       metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-                       SAFE_FREE(err_attr_name);
-                       return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-               }
+               metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
        }
 
        *height = _video_height;
@@ -562,18 +496,11 @@ static int __metadata_extractor_get_video_thumbnail(metadata_extractor_s *metada
        void *_video_thumbnail = NULL;
        int _video_thumbnail_len = 0;
 
-       if ((!metadata) || (!metadata->attr_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->attr_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        if (metadata->video_track_cnt > 0) {
                ret = mm_file_get_attrs(metadata->attr_h, &err_attr_name, MM_FILE_CONTENT_VIDEO_THUMBNAIL, &_video_thumbnail, &_video_thumbnail_len, NULL);
-               if (ret != FILEINFO_ERROR_NONE) {
-                       metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-                       SAFE_FREE(err_attr_name);
-                       return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-               }
+               metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
        }
 
        *thumbnail = _video_thumbnail;
@@ -586,10 +513,7 @@ static int __metadata_extractor_get_video_track_count(metadata_extractor_s *meta
 {
        int ret = METADATA_EXTRACTOR_ERROR_NONE;
 
-       if (!metadata) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if(!metadata, METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        *track_cnt = metadata->video_track_cnt;
 
@@ -603,12 +527,8 @@ static int __metadata_extractor_get_artist(metadata_extractor_s *metadata, char
        char *_artist = NULL;
        int _tag_len = 0;
 
-       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name,        MM_FILE_TAG_ARTIST, &_artist, &_tag_len, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_ARTIST, &_artist, &_tag_len, NULL);
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *artist = _artist;
 
@@ -622,12 +542,8 @@ static int __metadata_extractor_get_title(metadata_extractor_s *metadata, char *
        char *_title = NULL;
        int _tag_len = 0;
 
-       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name,        MM_FILE_TAG_TITLE, &_title, &_tag_len, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_TITLE, &_title, &_tag_len, NULL);
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *title = _title;
 
@@ -641,12 +557,8 @@ static int __metadata_extractor_get_album(metadata_extractor_s *metadata, char *
        char *_album = NULL;
        int _tag_len = 0;
 
-       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name,        MM_FILE_TAG_ALBUM, &_album, &_tag_len, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_ALBUM, &_album, &_tag_len, NULL);
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *album = _album;
 
@@ -661,11 +573,7 @@ static int __metadata_extractor_get_album_artist(metadata_extractor_s *metadata,
        int _tag_len = 0;
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_ALBUM_ARTIST, &_album_artist, &_tag_len, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *album_artist = _album_artist;
 
@@ -679,12 +587,8 @@ static int __metadata_extractor_get_genre(metadata_extractor_s *metadata, char *
        char *_genre = NULL;
        int _tag_len = 0;
 
-       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name,        MM_FILE_TAG_GENRE, &_genre, &_tag_len, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_GENRE, &_genre, &_tag_len, NULL);
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *genre = _genre;
 
@@ -698,12 +602,8 @@ static int __metadata_extractor_get_author(metadata_extractor_s *metadata, char
        char *_author = NULL;
        int _tag_len = 0;
 
-       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name,        MM_FILE_TAG_AUTHOR, &_author, &_tag_len, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_AUTHOR, &_author, &_tag_len, NULL);
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *author = _author;
 
@@ -717,12 +617,8 @@ static int __metadata_extractor_get_copyright(metadata_extractor_s *metadata, ch
        char *_copyright = NULL;
        int _tag_len = 0;
 
-       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name,        MM_FILE_TAG_COPYRIGHT, &_copyright, &_tag_len, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_COPYRIGHT, &_copyright, &_tag_len, NULL);
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *copyright = _copyright;
 
@@ -736,12 +632,8 @@ static int __metadata_extractor_get_date(metadata_extractor_s *metadata, char **
        char *_date = NULL;
        int _tag_len = 0;
 
-       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name,        MM_FILE_TAG_DATE, &_date, &_tag_len, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_DATE, &_date, &_tag_len, NULL);
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *date = _date;
 
@@ -755,12 +647,8 @@ static int __metadata_extractor_get_description(metadata_extractor_s *metadata,
        char *_description = NULL;
        int _tag_len = 0;
 
-       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name,        MM_FILE_TAG_DESCRIPTION, &_description, &_tag_len, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_DESCRIPTION, &_description, &_tag_len, NULL);
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *description = _description;
 
@@ -775,11 +663,7 @@ static int __metadata_extractor_get_comment(metadata_extractor_s *metadata, char
        int _tag_len = 0;
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_COMMENT, &_comment, &_tag_len, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *comment = _comment;
 
@@ -795,19 +679,11 @@ static int __metadata_extractor_get_artwork(metadata_extractor_s *metadata, void
        int _tag_len = 0;
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_ARTWORK_SIZE, &_artwork_size, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        if (_artwork_size > 0) {
-               ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name,        MM_FILE_TAG_ARTWORK, &_artwork, &_tag_len, NULL);
-               if (ret != FILEINFO_ERROR_NONE) {
-                       metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-                       SAFE_FREE(err_attr_name);
-                       return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-               }
+               ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_ARTWORK, &_artwork, &_tag_len, NULL);
+               metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
        }
 
        *artwork = _artwork;
@@ -823,12 +699,8 @@ static int __metadata_extractor_get_artwork_mime(metadata_extractor_s *metadata,
        char *_artwork_mime = NULL;
        int _tag_len = 0;
 
-       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name,        MM_FILE_TAG_ARTWORK_MIME, &_artwork_mime, &_tag_len, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_ARTWORK_MIME, &_artwork_mime, &_tag_len, NULL);
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *artwork_mime = _artwork_mime;
 
@@ -843,12 +715,8 @@ static int __metadata_extractor_get_track_num(metadata_extractor_s *metadata, ch
        char *_track_num = NULL;
        int _tag_len = 0;
 
-       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name,        MM_FILE_TAG_TRACK_NUM, &_track_num, &_tag_len, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_TRACK_NUM, &_track_num, &_tag_len, NULL);
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *track_num = _track_num;
 
@@ -862,12 +730,8 @@ static int __metadata_extractor_get_classification(metadata_extractor_s *metadat
        char *_classification = NULL;
        int _tag_len = 0;
 
-       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name,        MM_FILE_TAG_CLASSIFICATION, &_classification, &_tag_len, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_CLASSIFICATION, &_classification, &_tag_len, NULL);
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *classification = _classification;
 
@@ -881,12 +745,8 @@ static int __metadata_extractor_get_rating(metadata_extractor_s *metadata, char
        char *_rating = NULL;
        int _tag_len = 0;
 
-       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name,        MM_FILE_TAG_RATING, &_rating, &_tag_len, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_RATING, &_rating, &_tag_len, NULL);
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *rating = _rating;
 
@@ -899,12 +759,8 @@ static int __metadata_extractor_get_longitude(metadata_extractor_s *metadata, do
        char *err_attr_name = NULL;
        double _longitude = 0;
 
-       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name,        MM_FILE_TAG_LONGITUDE, &_longitude, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_LONGITUDE, &_longitude, NULL);
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *longitude = _longitude;
 
@@ -917,12 +773,8 @@ static int __metadata_extractor_get_latitude(metadata_extractor_s *metadata, dou
        char *err_attr_name = NULL;
        double _latitude = 0;
 
-       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name,        MM_FILE_TAG_LATIDUE, &_latitude, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_LATIDUE, &_latitude, NULL);
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *latitude = _latitude;
 
@@ -935,12 +787,8 @@ static int __metadata_extractor_get_altitude(metadata_extractor_s *metadata, dou
        char *err_attr_name = NULL;
        double _altitude = 0;
 
-       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name,        MM_FILE_TAG_ALTIDUE, &_altitude, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_ALTIDUE, &_altitude, NULL);
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *altitude = _altitude;
 
@@ -954,12 +802,8 @@ static int __metadata_extractor_get_conductor(metadata_extractor_s *metadata, ch
        char *_conductor = NULL;
        int _tag_len = 0;
 
-       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name,        MM_FILE_TAG_CONDUCTOR, &_conductor, &_tag_len, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_CONDUCTOR, &_conductor, &_tag_len, NULL);
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *conductor = _conductor;
 
@@ -973,11 +817,7 @@ static int __metadata_extractor_get_unsynclyrics(metadata_extractor_s *metadata,
        int _tag_len = 0;
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_UNSYNCLYRICS, &_unsynclyrics, &_tag_len, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *unsynclyrics = _unsynclyrics;
 
@@ -991,12 +831,8 @@ static int __metadata_extractor_get_recording_date(metadata_extractor_s *metadat
        char *_rec_date = NULL;
        int _tag_len = 0;
 
-       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name,        MM_FILE_TAG_RECDATE, &_rec_date, &_tag_len, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_RECDATE, &_rec_date, &_tag_len, NULL);
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *rec_date = _rec_date;
 
@@ -1010,12 +846,8 @@ static int __metadata_extractor_get_rotate(metadata_extractor_s *metadata, char
        char *_rotate = NULL;
        int _tag_len = 0;
 
-       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name,        MM_FILE_TAG_ROTATE, &_rotate, &_tag_len, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_ROTATE, &_rotate, &_tag_len, NULL);
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *rotate = _rotate;
 
@@ -1029,11 +861,7 @@ static int __metadata_extractor_get_synclyrics_pair_num(metadata_extractor_s *me
        int _synclyrics_num = 0;
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SYNCLYRICS_NUM, &_synclyrics_num, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *synclyrics_num = _synclyrics_num;
 
@@ -1056,18 +884,11 @@ static int __metadata_extractor_get_audio_codec(metadata_extractor_s *metadata,
                "PCM",  "ALAW", "MULAW",        "MS ADPCM", "FLAC"
        };
 
-       if ((!metadata) || (!metadata->attr_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->attr_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        if (metadata->audio_track_cnt > 0) {
                ret = mm_file_get_attrs(metadata->attr_h, &err_attr_name, MM_FILE_CONTENT_AUDIO_CODEC, &audio_codec_idx, NULL);
-               if (ret != FILEINFO_ERROR_NONE) {
-                       metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-                       SAFE_FREE(err_attr_name);
-                       return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-               }
+               metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
        }
 
        if (audio_codec_idx < audio_codec_cnt)
@@ -1095,18 +916,11 @@ static int __metadata_extractor_get_video_codec(metadata_extractor_s *metadata,
                "MPEG4 part-10 (h.264)",        "Real", "VC-1", "AVS",  "Cinepak",      "Indeo",        "Theora", "Flv"
        };
 
-       if ((!metadata) || (!metadata->attr_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->attr_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        if (metadata->video_track_cnt > 0) {
                ret = mm_file_get_attrs(metadata->attr_h, &err_attr_name, MM_FILE_CONTENT_VIDEO_CODEC, &video_codec_idx, NULL);
-               if (ret != FILEINFO_ERROR_NONE) {
-                       metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-                       SAFE_FREE(err_attr_name);
-                       return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-               }
+               metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
        }
 
        if (video_codec_idx < video_codec_cnt)
@@ -1125,17 +939,10 @@ static int __metadata_extractor_get_is_360(metadata_extractor_s *metadata, int *
        char *err_attr_name = NULL;
        int _is_360 = 0;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL, &_is_360, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *is_360 = _is_360;
 
@@ -1149,17 +956,10 @@ static int __metadata_extractor_get_is_stitched_v1(metadata_extractor_s *metadat
        char *err_attr_name = NULL;
        int _is_stitched = 0;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_STITCHED, &_is_stitched, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *is_stitched = _is_stitched;
 
@@ -1174,11 +974,7 @@ static int __metadata_extractor_get_projection_type_v1(metadata_extractor_s *met
        int _tag_len = 0;
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_PROJECTION_TYPE, &_projection_type, &_tag_len, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *projection_type = _projection_type;
 
@@ -1193,11 +989,7 @@ static int __metadata_extractor_get_stitching_software_v1(metadata_extractor_s *
        int _tag_len = 0;
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_STITCHING_SOFTWARE, &_stitching_software, &_tag_len, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *stitching_software = _stitching_software;
 
@@ -1212,11 +1004,7 @@ static int __metadata_extractor_get_stereo_mode_v1(metadata_extractor_s *metadat
        int _tag_len = 0;
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_STEREO_MODE, &_stereo_mode, &_tag_len, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *stereo_mode = _stereo_mode;
 
@@ -1229,17 +1017,10 @@ static int __metadata_extractor_get_source_count_v1(metadata_extractor_s *metada
        char *err_attr_name = NULL;
        int _source_count = 0;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_SOURCE_COUNT, &_source_count, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *source_count = _source_count;
 
@@ -1252,17 +1033,10 @@ static int __metadata_extractor_get_initial_view_heading_degrees_v1(metadata_ext
        char *err_attr_name = NULL;
        int _initial_view_heading_degrees = -1;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_INIT_VIEW_HEADING, &_initial_view_heading_degrees, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *initial_view_heading_degrees = _initial_view_heading_degrees;
 
@@ -1275,17 +1049,10 @@ static int __metadata_extractor_get_initial_view_pitch_degrees_v1(metadata_extra
        char *err_attr_name = NULL;
        int _initial_view_pitch_degrees = -1;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_INIT_VIEW_PITCH, &_initial_view_pitch_degrees, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *initial_view_pitch_degrees = _initial_view_pitch_degrees;
 
@@ -1298,17 +1065,10 @@ static int __metadata_extractor_get_initial_view_roll_degrees_v1(metadata_extrac
        char *err_attr_name = NULL;
        int _initial_view_roll_degrees = -1;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_INIT_VIEW_ROLL, &_initial_view_roll_degrees, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *initial_view_roll_degrees = _initial_view_roll_degrees;
 
@@ -1321,17 +1081,10 @@ static int __metadata_extractor_get_timestamp_v1(metadata_extractor_s *metadata,
        char *err_attr_name = NULL;
        int _timestamp = 0;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_TIMESTAMP, &_timestamp, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *timestamp = _timestamp;
 
@@ -1344,17 +1097,10 @@ static int __metadata_extractor_get_full_pano_width_pixels_v1(metadata_extractor
        char *err_attr_name = NULL;
        int _full_pano_width_pixels = 0;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_FULL_PANO_WIDTH, &_full_pano_width_pixels, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *full_pano_width_pixels = _full_pano_width_pixels;
 
@@ -1367,17 +1113,10 @@ static int __metadata_extractor_get_full_pano_height_pixels_v1(metadata_extracto
        char *err_attr_name = NULL;
        int _full_pano_height_pixels = 0;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_FULL_PANO_HEIGHT, &_full_pano_height_pixels, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *full_pano_height_pixels = _full_pano_height_pixels;
 
@@ -1390,17 +1129,10 @@ static int __metadata_extractor_get_cropped_area_image_width_v1(metadata_extract
        char *err_attr_name = NULL;
        int _cropped_area_image_width = 0;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_CROPPED_AREA_IMAGE_WIDTH, &_cropped_area_image_width, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *cropped_area_image_width = _cropped_area_image_width;
 
@@ -1413,17 +1145,10 @@ static int __metadata_extractor_get_cropped_area_image_height_v1(metadata_extrac
        char *err_attr_name = NULL;
        int _cropped_area_image_height = 0;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_CROPPED_AREA_IMAGE_HEIGHT, &_cropped_area_image_height, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *cropped_area_image_height = _cropped_area_image_height;
 
@@ -1436,17 +1161,10 @@ static int __metadata_extractor_get_cropped_area_left_v1(metadata_extractor_s *m
        char *err_attr_name = NULL;
        int _cropped_area_left = 0;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_CROPPED_AREA_LEFT, &_cropped_area_left, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *cropped_area_left = _cropped_area_left;
 
@@ -1459,17 +1177,10 @@ static int __metadata_extractor_get_cropped_area_top_v1(metadata_extractor_s *me
        char *err_attr_name = NULL;
        int _cropped_area_top = 0;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_CROPPED_AREA_TOP, &_cropped_area_top, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *cropped_area_top = _cropped_area_top;
 
@@ -1483,17 +1194,10 @@ static int __metadata_extractor_get_ambisonic_type(metadata_extractor_s *metadat
        int _ambisonic_type = -1;
        *ambisonic_type = -1;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_AMBISONIC_TYPE, &_ambisonic_type, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *ambisonic_type = _ambisonic_type;
 
@@ -1507,17 +1211,10 @@ static int __metadata_extractor_get_ambisonic_format(metadata_extractor_s *metad
        int _ambisonic_format = -1;
        *ambisonic_format = -1;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_AMBISONIC_FORMAT, &_ambisonic_format, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *ambisonic_format = _ambisonic_format;
 
@@ -1531,17 +1228,10 @@ static int __metadata_extractor_get_ambisonic_order(metadata_extractor_s *metada
        int _ambisonic_order = -1;
        *ambisonic_order = -1;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_AMBISONIC_ORDER, &_ambisonic_order, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *ambisonic_order = _ambisonic_order;
 
@@ -1555,17 +1245,10 @@ static int __metadata_extractor_get_stereo_mode_v2(metadata_extractor_s *metadat
        int _stereo_mode_v2 = -1;
        *stereo_mode_v2 = -1;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_STEREO_MODE, &_stereo_mode_v2, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *stereo_mode_v2 = _stereo_mode_v2;
 
@@ -1580,11 +1263,7 @@ static int __metadata_extractor_get_metadata_source_v2(metadata_extractor_s *met
        int _tag_len = 0;
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_METADATA_SOURCE, &_metadata_source_v2, &_tag_len, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *metadata_source_v2 = _metadata_source_v2;
 
@@ -1598,17 +1277,10 @@ static int __metadata_extractor_get_proj_type_v2(metadata_extractor_s *metadata,
        int _proj_type_v2 = -1;
        *proj_type_v2 = -1;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_PROJ_TYPE, &_proj_type_v2, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *proj_type_v2 = _proj_type_v2;
 
@@ -1622,17 +1294,10 @@ static int __metadata_extractor_get_pose_yaw_degrees_v2(metadata_extractor_s *me
        int _pose_yaw_degrees_v2 = -1;
        *pose_yaw_degrees_v2 = -1;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_POSE_YAW, &_pose_yaw_degrees_v2, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *pose_yaw_degrees_v2 = _pose_yaw_degrees_v2;
 
@@ -1646,17 +1311,10 @@ static int __metadata_extractor_get_pose_pitch_degrees_v2(metadata_extractor_s *
        int _pose_pitch_degrees_v2 = -1;
        *pose_pitch_degrees_v2 = -1;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_POSE_PITCH, &_pose_pitch_degrees_v2, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *pose_pitch_degrees_v2 = _pose_pitch_degrees_v2;
 
@@ -1670,17 +1328,10 @@ static int __metadata_extractor_get_pose_roll_degrees_v2(metadata_extractor_s *m
        int _pose_roll_degrees_v2 = -1;
        *pose_roll_degrees_v2 = -1;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_POSE_ROLL, &_pose_roll_degrees_v2, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *pose_roll_degrees_v2 = _pose_roll_degrees_v2;
 
@@ -1694,17 +1345,10 @@ static int __metadata_extractor_get_cbmp_layout_v2(metadata_extractor_s *metadat
        int _cbmp_layout_v2 = -1;
        *cbmp_layout_v2 = -1;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_CBMP_LAYOUT, &_cbmp_layout_v2, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *cbmp_layout_v2 = _cbmp_layout_v2;
 
@@ -1718,17 +1362,10 @@ static int __metadata_extractor_get_cbmp_padding_v2(metadata_extractor_s *metada
        int _cbmp_padding_v2 = -1;
        *cbmp_padding_v2 = -1;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_CBMP_PADDING, &_cbmp_padding_v2, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *cbmp_padding_v2 = _cbmp_padding_v2;
 
@@ -1742,17 +1379,10 @@ static int __metadata_extractor_get_equi_projection_bounds_top_v2(metadata_extra
        int _equi_projection_bounds_top_v2 = -1;
        *equi_projection_bounds_top_v2 = -1;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_EQUI_BOUNDS_TOP, &_equi_projection_bounds_top_v2, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *equi_projection_bounds_top_v2 = _equi_projection_bounds_top_v2;
 
@@ -1766,17 +1396,10 @@ static int __metadata_extractor_get_equi_projection_bounds_bottom_v2(metadata_ex
        int _equi_projection_bounds_bottom_v2 = -1;
        *equi_projection_bounds_bottom_v2 = -1;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_EQUI_BOUNDS_BOTTOM, &_equi_projection_bounds_bottom_v2, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *equi_projection_bounds_bottom_v2 = _equi_projection_bounds_bottom_v2;
 
@@ -1790,17 +1413,10 @@ static int __metadata_extractor_get_equi_projection_bounds_left_v2(metadata_extr
        int _equi_projection_bounds_left_v2 = -1;
        *equi_projection_bounds_left_v2 = -1;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_EQUI_BOUNDS_LEFT, &_equi_projection_bounds_left_v2, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *equi_projection_bounds_left_v2 = _equi_projection_bounds_left_v2;
 
@@ -1814,17 +1430,10 @@ static int __metadata_extractor_get_equi_projection_bounds_right_v2(metadata_ext
        int _equi_projection_bounds_right_v2 = -1;
        *equi_projection_bounds_right_v2 = -1;
 
-       if ((!metadata) || (!metadata->tag_h)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!metadata) || (!metadata->tag_h), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        ret = mm_file_get_attrs(metadata->tag_h, &err_attr_name, MM_FILE_TAG_SPHERICAL_V2_EQUI_BOUNDS_RIGHT, &_equi_projection_bounds_right_v2, NULL);
-       if (ret != FILEINFO_ERROR_NONE) {
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               SAFE_FREE(err_attr_name);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, err_attr_name);
 
        *equi_projection_bounds_right_v2 = _equi_projection_bounds_right_v2;
 
@@ -1838,18 +1447,12 @@ static int __metadata_extractor_destroy_handle(metadata_extractor_s *metadata)
 
        if (metadata->attr_h) {
                ret = mm_file_destroy_content_attrs(metadata->attr_h);
-               if (ret != FILEINFO_ERROR_NONE) {
-                       metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-                       return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-               }
+               metadata_extractor_retvm_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, "Failed to destroy attribute handle");
        }
 
        if (metadata->tag_h) {
                ret = mm_file_destroy_tag_attrs(metadata->tag_h);
-               if (ret != FILEINFO_ERROR_NONE) {
-                       metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-                       return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-               }
+               metadata_extractor_retvm_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, "Failed to destroy tag handle");
        }
 
        return ret;
@@ -1859,16 +1462,10 @@ int metadata_extractor_create(metadata_extractor_h *metadata)
 {
        int ret = METADATA_EXTRACTOR_ERROR_NONE;
 
-       if (metadata == NULL) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if(metadata == NULL, METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Handle is null");
 
        metadata_extractor_s *_metadata = (metadata_extractor_s *)calloc(1, sizeof(metadata_extractor_s));
-       if (_metadata == NULL) {
-               metadata_extractor_error("OUT_OF_MEMORY(0x%08x)", METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY);
-               return METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY;
-       }
+       metadata_extractor_retvm_if(_metadata == NULL, METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY, "Memory allocation failure");
 
        _metadata->path = NULL;
        _metadata->buffer = NULL;
@@ -1886,10 +1483,7 @@ int metadata_extractor_set_path(metadata_extractor_h metadata, const char *path)
        int ret = METADATA_EXTRACTOR_ERROR_NONE;
        metadata_extractor_s *_metadata = (metadata_extractor_s *)metadata;
 
-       if ((_metadata == NULL) || (path == NULL)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((_metadata == NULL) || (path == NULL), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Invalid parameter");
 
        /*check file path.. */
        if (g_file_test(path, G_FILE_TEST_IS_REGULAR)) {
@@ -1907,10 +1501,7 @@ int metadata_extractor_set_path(metadata_extractor_h metadata, const char *path)
        }
 
        _metadata->path = strdup(path);
-       if (_metadata->path == NULL) {
-               metadata_extractor_error("OUT_OF_MEMORY(0x%08x)", METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY);
-               return METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY;
-       }
+       metadata_extractor_retvm_if(_metadata->path == NULL, METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY, "Memory allocation failure");
 
        return ret;
 }
@@ -1920,10 +1511,7 @@ int metadata_extractor_set_buffer(metadata_extractor_h metadata, const void *buf
        int ret = METADATA_EXTRACTOR_ERROR_NONE;
        metadata_extractor_s *_metadata = (metadata_extractor_s *)metadata;
 
-       if ((_metadata == NULL) || (buffer == NULL) || (size <= 0)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((_metadata == NULL) || (buffer == NULL) || (size <= 0), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Invalid parameter");
 
        if ((_metadata->path != NULL) || (_metadata->buffer != NULL)) {
                __metadata_extractor_destroy_handle(_metadata);
@@ -1943,15 +1531,11 @@ int metadata_extractor_destroy(metadata_extractor_h metadata)
        int ret = METADATA_EXTRACTOR_ERROR_NONE;
        metadata_extractor_s *_metadata = (metadata_extractor_s *)metadata;
 
-       if (!_metadata) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if(!_metadata, METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Invalid parameter");
 
        ret = __metadata_extractor_destroy_handle(_metadata);
 
        SAFE_FREE(_metadata->path);
-
        SAFE_FREE(_metadata);
 
        return ret;
@@ -1965,10 +1549,7 @@ int metadata_extractor_get_synclyrics(metadata_extractor_h metadata, int index,
        char *_lyrics = NULL;
        int _synclyrics_num = 0;
 
-       if ((!_metadata) || ((!_metadata->path) && (!_metadata->buffer))) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!_metadata) || ((!_metadata->path) && (!_metadata->buffer)), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Invalid parameter");
 
        ret = __metadata_extractor_check_and_extract_meta(_metadata, METADATA_TYPE_TAG);
        if (ret != METADATA_EXTRACTOR_ERROR_NONE)
@@ -1980,16 +1561,11 @@ int metadata_extractor_get_synclyrics(metadata_extractor_h metadata, int index,
 
        if ((_synclyrics_num > 0) && (index < _synclyrics_num)) {
                ret = mm_file_get_synclyrics_info((MMHandleType)_metadata->tag_h, index, &_time_info, &_lyrics);
-               if (ret != FILEINFO_ERROR_NONE) {
-                       metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-                       return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-               }
+               metadata_extractor_retvm_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, "Internal operation error");
+
                if ((_lyrics != NULL) && (strlen(_lyrics) > 0)) {
                        *lyrics = strdup(_lyrics);
-                       if (*lyrics == NULL) {
-                               metadata_extractor_error("OUT_OF_MEMORY(0x%08x)", METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY);
-                               return METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY;
-                       }
+                       metadata_extractor_retvm_if(*lyrics == NULL, METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY, "Memory allocation failure");
                } else
                        *lyrics = NULL;
 
@@ -2012,10 +1588,7 @@ int metadata_extractor_get_metadata(metadata_extractor_h metadata, metadata_extr
        int is_string = 0;
        int is_double = 0;
 
-       if ((!_metadata) || ((!_metadata->path) && (!_metadata->buffer))) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!_metadata) || ((!_metadata->path) && (!_metadata->buffer)), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Invalid parameter");
 
        if ((attribute == METADATA_HAS_VIDEO) || (attribute == METADATA_HAS_AUDIO)) {
                if (_metadata->path != NULL)
@@ -2407,10 +1980,7 @@ int metadata_extractor_get_metadata(metadata_extractor_h metadata, metadata_extr
                        snprintf(extracted_metadata, sizeof(extracted_metadata), "%d", i_value);
 
                *value = strdup(extracted_metadata);
-               if (*value == NULL) {
-                       metadata_extractor_error("OUT_OF_MEMORY(0x%08x)", METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY);
-                       return METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY;
-               }
+               metadata_extractor_retvm_if(*value == NULL, METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY, "Memory allocation failure");
        }
 
        return ret;
@@ -2424,10 +1994,7 @@ int metadata_extractor_get_artwork(metadata_extractor_h metadata, void **artwork
        int _artwork_size = 0;
        char *_artwork_mime = NULL;
 
-       if ((!_metadata) || ((!_metadata->path) && (!_metadata->buffer))) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!_metadata) || ((!_metadata->path) && (!_metadata->buffer)), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Invalid parameter");
 
        ret = __metadata_extractor_check_and_extract_meta(_metadata, METADATA_TYPE_TAG);
        if (ret != METADATA_EXTRACTOR_ERROR_NONE)
@@ -2456,10 +2023,7 @@ int metadata_extractor_get_artwork(metadata_extractor_h metadata, void **artwork
 
                if ((_artwork_mime != NULL) && (strlen(_artwork_mime) > 0)) {
                        *mime_type = strdup(_artwork_mime);
-                       if (*mime_type == NULL) {
-                               metadata_extractor_error("OUT_OF_MEMORY(0x%08x)", METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY);
-                               return METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY;
-                       }
+                       metadata_extractor_retvm_if(*mime_type == NULL, METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY, "Memory allocation failure");
                } else {
                        *mime_type = NULL;
                }
@@ -2480,10 +2044,7 @@ int metadata_extractor_get_frame(metadata_extractor_h metadata, void **frame, in
        void *_frame = NULL;
        int _frame_size = 0;
 
-       if ((!_metadata) || ((!_metadata->path) && (!_metadata->buffer)) || (!size)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!_metadata) || ((!_metadata->path) && (!_metadata->buffer)) || (!size), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Invalid parameter");
 
        ret = __metadata_extractor_check_and_extract_meta(_metadata, METADATA_TYPE_ATTR);
        if (ret != METADATA_EXTRACTOR_ERROR_NONE)
@@ -2495,10 +2056,7 @@ int metadata_extractor_get_frame(metadata_extractor_h metadata, void **frame, in
 
        if ((_frame_size > 0) && (_frame != NULL)) {
                *frame = calloc(1, _frame_size);
-               if (*frame == NULL) {
-                       metadata_extractor_error("OUT_OF_MEMORY(0x%08x)", METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY);
-                       return METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY;
-               }
+               metadata_extractor_retvm_if(*frame == NULL, METADATA_EXTRACTOR_ERROR_OUT_OF_MEMORY, "Memory allocation failure");
                memcpy(*frame, _frame, _frame_size);
                *size = _frame_size;
        } else {
@@ -2519,10 +2077,7 @@ int metadata_extractor_get_frame_at_time(metadata_extractor_h metadata, unsigned
        int height = 0;
        long long micro_timestamp = 0;
 
-       if ((!_metadata) || ((!_metadata->path) && (!_metadata->buffer)) || (!size)) {
-               metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER);
-               return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER;
-       }
+       metadata_extractor_retvm_if((!_metadata) || ((!_metadata->path) && (!_metadata->buffer)) || (!size), METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER, "Invalid parameter");
 
        micro_timestamp = (long long)timestamp * 1000;
 
@@ -2533,11 +2088,7 @@ int metadata_extractor_get_frame_at_time(metadata_extractor_h metadata, unsigned
        else
                ret = mm_file_get_video_frame_from_memory(_metadata->buffer, _metadata->buffer_size, micro_timestamp, is_accurate, (unsigned char **)&_frame, &_frame_size, &width, &height);
 
-       if (ret != FILEINFO_ERROR_NONE) {
-               SAFE_FREE(_frame);
-               metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
-               return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_extractor_retv_free_if(ret != FILEINFO_ERROR_NONE, METADATA_EXTRACTOR_ERROR_OPERATION_FAILED, _frame);
 
        if (_frame != NULL) {
                if ((_frame_size > 0)) {