Format AAC cleanup 58/232658/2
authorMinje Ahn <minje.ahn@samsung.com>
Thu, 7 May 2020 05:53:07 +0000 (14:53 +0900)
committerMinje ahn <minje.ahn@samsung.com>
Thu, 7 May 2020 05:59:42 +0000 (05:59 +0000)
Change-Id: I41aff76fbc3fe6232ced2a086c8cebd0688355ab
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
formats/ffmpeg/include/mm_file_format_aac.h
formats/ffmpeg/mm_file_format_aac.c

index 562a6b32246556d77dbd2c006d6ae14ef314d82f..a03fbdb9f012423d47a1c07fc98e3c4c7febfa0c 100755 (executable)
@@ -29,9 +29,6 @@ extern "C" {
 
 #include "mm_file_formats.h"
 
-#define MMFILE_AAC_PARSER_SUCCESS   1
-#define MMFILE_AAC_PARSER_FAIL      0
-
 typedef enum _mmfile_aac_profile_type {
        AAC_PROFILE_MAIN,
        AAC_PROFILE_LC,
@@ -76,13 +73,6 @@ typedef struct _mmfileaactaginfo {
        unsigned int artworkSize;
 } tMMFILE_AAC_TAG_INFO;
 
-
-int mmfile_aacparser_open(MMFileAACHandle *handle, const char *path);
-int mmfile_aacparser_get_stream_info(MMFileAACHandle handle, tMMFILE_AAC_STREAM_INFO *aacinfo);
-int mmfile_aacparser_get_tag_info(MMFileAACHandle handle, tMMFILE_AAC_TAG_INFO *info);
-int mmfile_aacparser_get_next_frame(MMFileAACHandle handle, tMMFILE_AAC_STREAM_INFO *aacinfo);
-int mmfile_aacparser_close(MMFileAACHandle handle);
-
 #ifdef __cplusplus
 }
 #endif
index a3da710d41b9fe931b1d077b7a67333d8efd2538..8049c614ceddd27071f7ac979248a81480f3c206 100644 (file)
 #include "mm_file_format_private.h"
 #include "mm_file_format_aac.h"
 
-
-/* Internal Error Type */
-#define MMFILE_AAC_PARSER_FILE_END 2
-
 /* Media specific definations */
 #define MMFILE_AAC_ADIF_HEADER_MAX_SIZE 30
 #define MMFILE_AAC_ADTS_HEADER_MAX_SIZE 7
 #define AAC_ADTS_FRAME_LEN_OFFSET 30
 #define AAC_ADTS_SAMPLES_PER_FRAME 1024
 
-#define IS_AAC_ADIF_HEADER(buff) (!(memcmp((buff), "ADIF", 4)))
-#define IS_AAC_ADTS_HEADER(buff) (((buff)[0] == 0xff) && (((buff)[1] & 0xf0) == 0xf0))
-
-
 /* Array to Number conversions */
 #define GET_INT_NUMBER(buff) (int)((((int)(buff)[0]) << 24) | \
                                                        (((int)(buff)[1]) << 16) | \
@@ -92,17 +84,7 @@ static const int Sampling_freq_table[16] = { 96000, 88200,  64000, 48000,
                                                                0,     0,      0,     0
                                                                };
 
-/* internal APIs */
-void _aac_init_handle(tMMFILE_AAC_HANDLE *privateData);
-int _search_id3tag(tMMFILE_AAC_HANDLE *pData);
-int _parse_id3_tag(tMMFILE_AAC_HANDLE *pData);
-int _get_range_bits_value(unsigned char *buff, int fieldOffset, int fieldSize);
-int _parse_aac_adif_header(tMMFILE_AAC_HANDLE *pData);
-int _get_next_adts_frame_length(tMMFILE_AAC_HANDLE *pData, int *frameLen);
-int _parse_aac_adts_header(tMMFILE_AAC_HANDLE *pData);
-
-
-void _aac_init_handle(tMMFILE_AAC_HANDLE *privateData)
+static void __aac_init_handle(tMMFILE_AAC_HANDLE *privateData)
 {
        /* Default Initializations */
        privateData->streamOffset = 0;
@@ -138,8 +120,7 @@ void _aac_init_handle(tMMFILE_AAC_HANDLE *privateData)
        privateData->tagInfo.artworkMime = NULL;
 }
 
-
-int _search_id3tag(tMMFILE_AAC_HANDLE *pData)
+static bool __search_id3tag(tMMFILE_AAC_HANDLE *pData)
 {
        unsigned char tagHeader[MP3_TAGv2_HEADER_LEN] = {0, };
        int encSize = 0;
@@ -147,28 +128,21 @@ int _search_id3tag(tMMFILE_AAC_HANDLE *pData)
 
        mmfile_seek(pData->hFile, 0, MMFILE_SEEK_SET);
        readed = mmfile_read(pData->hFile, tagHeader, MP3_TAGv2_HEADER_LEN);
-       if (MP3_TAGv2_HEADER_LEN != readed) {
-               debug_msg(RELEASE, "Read Fail");
-               return MMFILE_AAC_PARSER_FAIL;
-       }
-
-       if (!IS_ID3V2_TAG(tagHeader)) {
-               debug_msg(RELEASE, "No ID3 Tag");
-               goto search_end;
-       }
+       mm_file_retvm_if_fails(RELEASE, MP3_TAGv2_HEADER_LEN == readed, false);
+       mm_file_retvm_if_fails(RELEASE, IS_ID3V2_TAG(tagHeader), true);
 
        if (tagHeader[3] == 0xFF ||  tagHeader[4] == 0xFF ||
            tagHeader[6] >= 0x80 ||  tagHeader[7] >= 0x80 ||
            tagHeader[8] >= 0x80 ||  tagHeader[9] >= 0x80) {
                debug_msg(RELEASE, "Read Fail");
-               return MMFILE_AAC_PARSER_FAIL;
+               return false;
        }
 
        pData->tagVersion = tagHeader[3];
 
        if (pData->tagVersion > 4) {
                debug_msg(RELEASE, "\nTag version not supported");
-               return MMFILE_AAC_PARSER_FAIL;
+               return false;
        }
 
        encSize = GET_INT_NUMBER(&tagHeader[6]);
@@ -179,10 +153,10 @@ int _search_id3tag(tMMFILE_AAC_HANDLE *pData)
 
        if (pData->tagInfoSize > pData->streamInfo.fileSize) {
                debug_msg(RELEASE, "Invalid size");
-               return MMFILE_AAC_PARSER_FAIL;
+               return false;
        }
 
-       pData->isTagPresent = TRUE;
+       pData->isTagPresent = true;
        pData->tagOffset = 0;
        pData->streamOffset = pData->tagInfoSize;
 
@@ -192,26 +166,26 @@ int _search_id3tag(tMMFILE_AAC_HANDLE *pData)
        pData->id3Handle.tagV2Info.tagVersion = pData->tagVersion;
        pData->id3Handle.tagV2Info.tagLen = pData->tagInfoSize;
 
-search_end:
-       return MMFILE_AAC_PARSER_SUCCESS;
+       return true;
 }
 
-
-int _parse_id3_tag(tMMFILE_AAC_HANDLE *pData)
+static bool __parse_id3_tag(tMMFILE_AAC_HANDLE *pData)
 {
        unsigned char *tagBuff = NULL;
        AvFileContentInfo *hTag = &pData->id3Handle;
-       int ret = FALSE;
+       bool ret = false;
        int readed = 0;
 
        mmfile_seek(pData->hFile, pData->tagOffset, MMFILE_SEEK_SET);
-       mm_file_retvm_if_fails(DEBUG, hTag->fileLen > 0, MMFILE_AAC_PARSER_FAIL);
+       mm_file_retvm_if_fails(DEBUG, hTag->fileLen > 0, false);
+
        tagBuff = g_malloc0(hTag->fileLen);
 
        readed = mmfile_read(pData->hFile, tagBuff, hTag->fileLen);
        if (readed != hTag->fileLen) {
                debug_error(DEBUG, "failed to read. %d, %lld\n", readed, hTag->fileLen);
-               goto failure;
+               mmfile_free(tagBuff);
+               return false;
        }
 
        switch (hTag->tagV2Info.tagVersion) {
@@ -232,11 +206,8 @@ int _parse_id3_tag(tMMFILE_AAC_HANDLE *pData)
                break;
        }
 
-       if (ret == FALSE) {
-               ret = MMFILE_AAC_PARSER_FAIL;
-               debug_warning(DEBUG, "failed to parse\n");
-               goto failure;
-       }
+       mmfile_free(tagBuff);
+       mm_file_retvm_if_fails(DEBUG, ret, false);
 
        mm_file_id3tag_restore_content_info(hTag);
 
@@ -257,17 +228,10 @@ int _parse_id3_tag(tMMFILE_AAC_HANDLE *pData)
        pData->tagInfo.artworkSize = hTag->imageInfo.imageLen;
        pData->tagInfo.artwork = hTag->imageInfo.pImageBuf;
 
-       ret = MMFILE_AAC_PARSER_SUCCESS;
-
-
-failure:
-       mmfile_free(tagBuff);
-
-       return ret;
+       return true;
 }
 
-
-int _get_range_bits_value(unsigned char *buff, int fieldOffset, int fieldSize)
+static int __get_range_bits_value(unsigned char *buff, int fieldOffset, int fieldSize)
 {
        int pos = 0;
        unsigned int srcByteStartOff = 0;
@@ -322,7 +286,7 @@ int _get_range_bits_value(unsigned char *buff, int fieldOffset, int fieldSize)
 }
 
 
-int _parse_aac_adif_header(tMMFILE_AAC_HANDLE *pData)
+static bool __parse_aac_adif_header(tMMFILE_AAC_HANDLE *pData)
 {
        unsigned char adifHeader[MMFILE_AAC_ADIF_HEADER_MAX_SIZE] = {0, };
        int currentBitOffset = 0;
@@ -332,45 +296,42 @@ int _parse_aac_adif_header(tMMFILE_AAC_HANDLE *pData)
 
        mmfile_seek(pData->hFile, pData->streamOffset, MMFILE_SEEK_SET);
        readed = mmfile_read(pData->hFile, adifHeader, MMFILE_AAC_ADIF_HEADER_MAX_SIZE);
-       if (readed < 0) {
-               return MMFILE_AAC_PARSER_FAIL;
-       }
+       if (readed < 0)
+               return false;
+
+       if (memcmp(adifHeader, "ADIF", 4))
+               return false;
 
-       if (memcmp(adifHeader, "ADIF", 4) != 0) {
-               return MMFILE_AAC_PARSER_FAIL;
-       }
        currentBitOffset += 32;
 
-       copyRightStatus = _get_range_bits_value(adifHeader, currentBitOffset, 1);
+       copyRightStatus = __get_range_bits_value(adifHeader, currentBitOffset, 1);
        currentBitOffset += 1;
 
-       if (copyRightStatus) {
-               /*skipping Copyright info */
+       /*skipping Copyright info */
+       if (copyRightStatus)
                currentBitOffset += 72;
-       }
 
        /*Original/copy */
-       fieldValue = _get_range_bits_value(adifHeader, currentBitOffset, 1);
+       fieldValue = __get_range_bits_value(adifHeader, currentBitOffset, 1);
        currentBitOffset += 1;
 
        /*skipping Home status */
        currentBitOffset += 1;
 
        /*Bit stream type */
-       fieldValue = _get_range_bits_value(adifHeader, currentBitOffset, 1);
+       fieldValue = __get_range_bits_value(adifHeader, currentBitOffset, 1);
        currentBitOffset += 1;
-       if (!fieldValue) {
+       if (!fieldValue)
                pData->streamType = AAC_STREAM_CONSTANT;
-       } else {
+       else
                pData->streamType = AAC_STREAM_VARIABLE;
-       }
 
        /*Bit-rate */
-       pData->streamInfo.bitRate = _get_range_bits_value(adifHeader, currentBitOffset, 23);
+       pData->streamInfo.bitRate = __get_range_bits_value(adifHeader, currentBitOffset, 23);
        currentBitOffset += 23;
 
        /*Num of program config elements */
-       fieldValue = _get_range_bits_value(adifHeader, currentBitOffset, 4);
+       fieldValue = __get_range_bits_value(adifHeader, currentBitOffset, 4);
        currentBitOffset += 4;
 
        /*skipping adif buffer fullness */
@@ -380,35 +341,34 @@ int _parse_aac_adif_header(tMMFILE_AAC_HANDLE *pData)
        currentBitOffset += 4;
 
        /*Profile */
-       pData->streamInfo.profileType = _get_range_bits_value(adifHeader, currentBitOffset, 2);
+       pData->streamInfo.profileType = __get_range_bits_value(adifHeader, currentBitOffset, 2);
        currentBitOffset += 2;
 
        /*sampling freq index */
-       fieldValue = _get_range_bits_value(adifHeader, currentBitOffset, 4);
+       fieldValue = __get_range_bits_value(adifHeader, currentBitOffset, 4);
        currentBitOffset += 4;
        pData->streamInfo.samplingRate = Sampling_freq_table[fieldValue];
 
        /*num_front_channel_elements */
-       pData->streamInfo.numAudioChannels = _get_range_bits_value(adifHeader, currentBitOffset, 4);
+       pData->streamInfo.numAudioChannels = __get_range_bits_value(adifHeader, currentBitOffset, 4);
        currentBitOffset += 4;
 
        /*num_side_channel_elements */
-       pData->streamInfo.numAudioChannels += _get_range_bits_value(adifHeader, currentBitOffset, 4);
+       pData->streamInfo.numAudioChannels += __get_range_bits_value(adifHeader, currentBitOffset, 4);
        currentBitOffset += 4;
 
        /*num_back_channel_elements */
-       pData->streamInfo.numAudioChannels += _get_range_bits_value(adifHeader, currentBitOffset, 4);
+       pData->streamInfo.numAudioChannels += __get_range_bits_value(adifHeader, currentBitOffset, 4);
        currentBitOffset += 4;
 
        /*num_lfe_channel_elements */
-       pData->streamInfo.numAudioChannels += _get_range_bits_value(adifHeader, currentBitOffset, 2);
-
-       return MMFILE_AAC_PARSER_SUCCESS;
+       pData->streamInfo.numAudioChannels += __get_range_bits_value(adifHeader, currentBitOffset, 2);
 
+       return true;
 }
 
 
-int _parse_aac_adts_header(tMMFILE_AAC_HANDLE *pData)
+static bool __parse_aac_adts_header(tMMFILE_AAC_HANDLE *pData)
 {
        unsigned char adtsHeader[MMFILE_AAC_ADTS_HEADER_MAX_SIZE] = {0, };
        int currentBitOffset = 0;
@@ -417,34 +377,33 @@ int _parse_aac_adts_header(tMMFILE_AAC_HANDLE *pData)
 
        mmfile_seek(pData->hFile, pData->streamOffset, MMFILE_SEEK_SET);
        readed = mmfile_read(pData->hFile, adtsHeader, MMFILE_AAC_ADTS_HEADER_MAX_SIZE);
-       if (readed < 0) {
-               return MMFILE_AAC_PARSER_FAIL;
-       }
+       if (readed < 0)
+               return false;
+
+       if (!(adtsHeader[0] == 0xff && (adtsHeader[1] & 0xf0) == 0xf0))
+               return false;
 
-       if (!IS_AAC_ADTS_HEADER(adtsHeader)) {
-               return MMFILE_AAC_PARSER_FAIL;
-       }
        currentBitOffset += 12;
 
        /*adtsId */
-       fieldValue = _get_range_bits_value(adtsHeader, currentBitOffset, 1);
+       fieldValue = __get_range_bits_value(adtsHeader, currentBitOffset, 1);
        currentBitOffset += 1;
        pData->mpegType = (fieldValue != 0);
 
        /*LayerType */
-       fieldValue = _get_range_bits_value(adtsHeader, currentBitOffset, 2);
+       fieldValue = __get_range_bits_value(adtsHeader, currentBitOffset, 2);
        currentBitOffset += 2;
 
        /*skipping Protection Absent */
        currentBitOffset += 1;
 
        /*ProfileType */
-       fieldValue = _get_range_bits_value(adtsHeader, currentBitOffset, 2);
+       fieldValue = __get_range_bits_value(adtsHeader, currentBitOffset, 2);
        currentBitOffset += 2;
        pData->streamInfo.profileType = fieldValue;
 
        /*SamplingrateIndex */
-       fieldValue = _get_range_bits_value(adtsHeader, currentBitOffset, 4);
+       fieldValue = __get_range_bits_value(adtsHeader, currentBitOffset, 4);
        currentBitOffset += 4;
        pData->streamInfo.samplingRate = Sampling_freq_table[fieldValue];
 
@@ -452,30 +411,30 @@ int _parse_aac_adts_header(tMMFILE_AAC_HANDLE *pData)
        currentBitOffset += 1;
 
        /*ChannelConfig */
-       pData->streamInfo.numAudioChannels = _get_range_bits_value(adtsHeader, currentBitOffset, 3);
+       pData->streamInfo.numAudioChannels = __get_range_bits_value(adtsHeader, currentBitOffset, 3);
        currentBitOffset += 3;
 
        /*Original/copy status */
-       fieldValue = _get_range_bits_value(adtsHeader, currentBitOffset, 1);
+       fieldValue = __get_range_bits_value(adtsHeader, currentBitOffset, 1);
        currentBitOffset += 1;
 
        /*skipping Home status */
-       fieldValue = _get_range_bits_value(adtsHeader, currentBitOffset, 1);
+       fieldValue = __get_range_bits_value(adtsHeader, currentBitOffset, 1);
 
-       return MMFILE_AAC_PARSER_SUCCESS;
+       return true;
 }
 
 
-int _get_next_adts_frame_length(tMMFILE_AAC_HANDLE *pData, int *frameLen)
+static bool __get_next_adts_frame_length(tMMFILE_AAC_HANDLE *pData, int *frameLen)
 {
        unsigned char adtsHeader[MMFILE_AAC_ADTS_HEADER_MAX_SIZE] = {0, };
-       int ret = MMFILE_AAC_PARSER_SUCCESS;
+       int ret = true;
        long long filePosBefore = mmfile_tell(pData->hFile);
        int readed = 0;
 
        readed = mmfile_read(pData->hFile, adtsHeader, MMFILE_AAC_ADTS_HEADER_MAX_SIZE);
        if (readed < 0)
-               return MMFILE_AAC_PARSER_FAIL;
+               return false;
 
        debug_msg(RELEASE, "\nFILE POS: %lld\n", filePosBefore);
        debug_msg(RELEASE, "\nADTS HEADER: [%2x] [%2x] [%2x] [%2x] [%2x] [%2x]\n",
@@ -483,40 +442,38 @@ int _get_next_adts_frame_length(tMMFILE_AAC_HANDLE *pData, int *frameLen)
 
        if (mmfile_tell(pData->hFile) >= pData->streamInfo.fileSize) {
                *frameLen = 0;
-               ret = MMFILE_AAC_PARSER_FILE_END;
+               ret = false;
                goto function_end;
        }
 
-       if (!IS_AAC_ADTS_HEADER(adtsHeader)) {
+       if (!(adtsHeader[0] == 0xff && (adtsHeader[1] & 0xf0) == 0xf0)) {
                *frameLen = 0;
-               ret = MMFILE_AAC_PARSER_FAIL;
+               ret = false;
                goto function_end;
        }
 
-       *frameLen = _get_range_bits_value(adtsHeader, AAC_ADTS_FRAME_LEN_OFFSET, 13);
+       *frameLen = __get_range_bits_value(adtsHeader, AAC_ADTS_FRAME_LEN_OFFSET, 13);
 
        if (*frameLen == 0 || *frameLen > (pData->streamInfo.fileSize - filePosBefore)) {
                *frameLen = 0;
-               ret = MMFILE_AAC_PARSER_FAIL;
-               goto function_end;
+               ret = false;
        }
 
 function_end:
-
        mmfile_seek(pData->hFile, filePosBefore + *frameLen, MMFILE_SEEK_SET);
 
        return ret;
 }
 
-int mmfile_aacparser_open(MMFileAACHandle *handle, const char *path)
+static bool __mmfile_aacparser_open(MMFileAACHandle *handle, const char *path)
 {
        tMMFILE_AAC_HANDLE *privateData = NULL;
-       int ret = 0;
+       int ret = MMFILE_UTIL_FAIL;
        unsigned char header[4] = {0, };
        int firstFrameLen = 0;
        int readed = 0;
 
-       mm_file_retvm_if_fails(DEBUG, path, MMFILE_AAC_PARSER_FAIL);
+       mm_file_retvm_if_fails(DEBUG, path, false);
 
        privateData = g_new0(tMMFILE_AAC_HANDLE, 1);
 
@@ -527,7 +484,7 @@ int mmfile_aacparser_open(MMFileAACHandle *handle, const char *path)
        }
 
        /* Initialize the members of handle */
-       _aac_init_handle(privateData);
+       __aac_init_handle(privateData);
 
        privateData->streamInfo.fileSize = mmfile_get_size(privateData->hFile);
        if (privateData->streamInfo.fileSize <= 0) {
@@ -536,8 +493,7 @@ int mmfile_aacparser_open(MMFileAACHandle *handle, const char *path)
        }
 
        /* Search the existance of ID3 tag */
-       ret = _search_id3tag(privateData);
-       if (ret == MMFILE_AAC_PARSER_FAIL) {
+       if (!__search_id3tag(privateData)) {
                debug_error(RELEASE, "Error in searching the ID3 tag\n");
                goto exception;
        }
@@ -547,20 +503,19 @@ int mmfile_aacparser_open(MMFileAACHandle *handle, const char *path)
        if (readed != 4)
                goto exception;
 
-       if (IS_AAC_ADIF_HEADER(header)) {
+       if (!memcmp(header, "ADIF", 4)) {
                privateData->formatType = AAC_FORMAT_ADIF;
 
                debug_msg(RELEASE, "AAC Format: ADIF\n");
 
-       } else if (IS_AAC_ADTS_HEADER(header)) {
+       } else if (header[0] == 0xff && (header[1] & 0xf0) == 0xf0) {
                privateData->formatType = AAC_FORMAT_ADTS;
 
                debug_msg(RELEASE, "AAC Format: ADTS\n");
 
                /* Verify whether the first frame size is proper */
                mmfile_seek(privateData->hFile, privateData->streamOffset, MMFILE_SEEK_SET);
-               ret = _get_next_adts_frame_length(privateData, &firstFrameLen);
-               if (ret == MMFILE_AAC_PARSER_FAIL) {
+               if (!__get_next_adts_frame_length(privateData, &firstFrameLen)) {
                        debug_error(DEBUG, "Invalid Frame length in ADTS header\n");
                        goto exception;
                }
@@ -572,7 +527,7 @@ int mmfile_aacparser_open(MMFileAACHandle *handle, const char *path)
 
        *handle = privateData;
 
-       return MMFILE_AAC_PARSER_SUCCESS;
+       return true;
 
 exception:
        if (privateData) {
@@ -580,67 +535,53 @@ exception:
                mmfile_free(privateData);
                *handle = NULL;
        }
-       return MMFILE_AAC_PARSER_FAIL;
-
+       return false;
 }
 
-
-int mmfile_aacparser_get_stream_info(MMFileAACHandle handle, tMMFILE_AAC_STREAM_INFO *aacinfo)
+static bool __mmfile_aacparser_get_stream_info(MMFileAACHandle handle, tMMFILE_AAC_STREAM_INFO *aacinfo)
 {
        tMMFILE_AAC_HANDLE *privateData = NULL;
        int frameLen = 0;
        long long totalFrames = 0, totalFrameLength = 0;
        unsigned long long streamDataSize = 0;
-       int ret = MMFILE_AAC_PARSER_SUCCESS;
 
-       if (NULL == handle || NULL == aacinfo) {
-               debug_error(DEBUG, "handle is NULL\n");
-               return MMFILE_AAC_PARSER_FAIL;
-       }
+       mm_file_retvm_if_fails(DEBUG, handle, false);
+       mm_file_retvm_if_fails(DEBUG, aacinfo, false);
 
        privateData = (tMMFILE_AAC_HANDLE *) handle;
 
        if (privateData->formatType == AAC_FORMAT_ADIF) {
-               ret = _parse_aac_adif_header(privateData);
+               mm_file_retvm_if_fails(DEBUG, __parse_aac_adif_header(privateData), false);
                aacinfo->iseekable = 0;
        } else {
-               ret = _parse_aac_adts_header(privateData);
+               mm_file_retvm_if_fails(DEBUG, __parse_aac_adts_header(privateData), false);
                aacinfo->iseekable = 1;
        }
 
-       if (ret == MMFILE_AAC_PARSER_FAIL) {
-               debug_error(DEBUG, "Error in parsing the stream header\n");
-               return ret;
-       }
-
        mmfile_seek(privateData->hFile, privateData->streamOffset, MMFILE_SEEK_SET);
 
        if (privateData->formatType == AAC_FORMAT_ADTS) {
-
-               while (TRUE) {
-                       ret = _get_next_adts_frame_length(privateData, &frameLen);
-                       if (ret != MMFILE_AAC_PARSER_SUCCESS) {
+               while (1) {
+                       if (!__get_next_adts_frame_length(privateData, &frameLen))
                                break;
-                       }
+
                        totalFrameLength += frameLen - MMFILE_AAC_ADTS_HEADER_MAX_SIZE;
                        totalFrames++;
                }
 
-               if (ret == MMFILE_AAC_PARSER_FAIL) {
-                       debug_error(DEBUG, "Found corrupted frames!!! Ignoring\n");
-               }
-
                debug_msg(RELEASE, "No of ADTS frames: %lld\n", totalFrames);
 
                privateData->streamInfo.frameRate = privateData->streamInfo.samplingRate / AAC_ADTS_SAMPLES_PER_FRAME;
 
                if (privateData->streamInfo.frameRate)
                        privateData->streamInfo.duration = (totalFrames * 1000) / privateData->streamInfo.frameRate;
-               else privateData->streamInfo.duration = 0;
+               else
+                       privateData->streamInfo.duration = 0;
 
                if (privateData->streamInfo.duration)
                        privateData->streamInfo.bitRate = (totalFrameLength * 8 * 1000) / (privateData->streamInfo.duration);
-               else privateData->streamInfo.bitRate = 0;
+               else
+                       privateData->streamInfo.bitRate = 0;
 
        } else {
                streamDataSize = (unsigned long long)privateData->streamInfo.fileSize - privateData->tagInfoSize;
@@ -650,57 +591,42 @@ int mmfile_aacparser_get_stream_info(MMFileAACHandle handle, tMMFILE_AAC_STREAM_
        /* Return the stream info structure */
        memcpy(aacinfo, &(privateData->streamInfo), sizeof(tMMFILE_AAC_STREAM_INFO));
 
-       return MMFILE_AAC_PARSER_SUCCESS;
+       return true;
 }
 
 
-int mmfile_aacparser_get_tag_info(MMFileAACHandle handle, tMMFILE_AAC_TAG_INFO *tagInfo)
+static bool __mmfile_aacparser_get_tag_info(MMFileAACHandle handle, tMMFILE_AAC_TAG_INFO *tagInfo)
 {
        tMMFILE_AAC_HANDLE *privateData = NULL;
-       int ret = 0;
 
-       if (NULL == handle || NULL == tagInfo) {
-               debug_error(DEBUG, "handle is NULL\n");
-               return MMFILE_AAC_PARSER_FAIL;
-       }
+       mm_file_retvm_if_fails(DEBUG, handle, false);
+       mm_file_retvm_if_fails(DEBUG, tagInfo, false);
 
        privateData = (tMMFILE_AAC_HANDLE *) handle;
        if (privateData->id3Handle.tagV2Info.tagVersion == 0) {
                debug_warning(DEBUG, "There is no Tag info\n");
-               return MMFILE_AAC_PARSER_SUCCESS;
+               return true;
        }
 
-       ret = _parse_id3_tag(privateData);
-       if (ret == MMFILE_AAC_PARSER_FAIL) {
-               debug_warning(DEBUG, "Error in parsing the Tag info\n");
-               return ret;
-       }
+       mm_file_retvm_if_fails(DEBUG, __parse_id3_tag(privateData), false);
 
        /* Return the tag info structure */
        memcpy(tagInfo, &(privateData->tagInfo), sizeof(tMMFILE_AAC_TAG_INFO));
 
-       return MMFILE_AAC_PARSER_SUCCESS;
+       return true;
 }
 
-
-int mmfile_aacparser_close(MMFileAACHandle handle)
+static void __mmfile_aacparser_close(MMFileAACHandle handle)
 {
-       tMMFILE_AAC_HANDLE *privateData = NULL;
+       tMMFILE_AAC_HANDLE *privateData = (tMMFILE_AAC_HANDLE *)handle;
 
-       if (NULL == handle) {
-               debug_error(DEBUG, "handle is NULL\n");
-               return MMFILE_AAC_PARSER_FAIL;
-       }
+       if (!privateData)
+               return;
 
-       privateData = (tMMFILE_AAC_HANDLE *) handle;
        mm_file_free_AvFileContentInfo(&privateData->id3Handle);
-
        mmfile_close(privateData->hFile);
-
-       return MMFILE_AAC_PARSER_SUCCESS;
 }
 
-
 /* mm plugin interface */
 int mmfile_format_read_stream_aac(MMFileFormatContext *formatContext);
 int mmfile_format_read_frame_aac(MMFileFormatContext *formatContext, unsigned int timestamp, MMFileFormatFrame *frame);
@@ -733,31 +659,24 @@ int mmfile_format_open_aac(MMFileFormatContext *formatContext)
        formatContext->videoTotalTrackNum = 0;
        formatContext->audioTotalTrackNum = 1;
 
-       res = mmfile_aacparser_open(&handle, formatContext->uriFileName);
-       if (MMFILE_AAC_PARSER_FAIL == res) {
-               debug_error(DEBUG, "mmfile_aacparser_open\n");
-               return MMFILE_FORMAT_FAIL;
-       }
+       mm_file_retvm_if_fails(DEBUG, __mmfile_aacparser_open(&handle, formatContext->uriFileName), MMFILE_FORMAT_FAIL);
 
        formatContext->privateFormatData = handle;
 
        return MMFILE_FORMAT_SUCCESS;
 }
 
-
 int mmfile_format_read_stream_aac(MMFileFormatContext *formatContext)
 {
        MMFileAACHandle handle = NULL;
        tMMFILE_AAC_STREAM_INFO aacinfo = {0, };
        MMFileFormatStream *audioStream = NULL;
-       int ret = MMFILE_FORMAT_FAIL;
 
        mm_file_retvm_if_fails(DEBUG, formatContext, MMFILE_FORMAT_FAIL);
 
        handle = formatContext->privateFormatData;
 
-       ret = mmfile_aacparser_get_stream_info(handle, &aacinfo);
-       mm_file_retvm_if_fails(DEBUG, ret == MMFILE_FORMAT_SUCCESS, ret);
+       mm_file_retvm_if_fails(DEBUG, __mmfile_aacparser_get_stream_info(handle, &aacinfo), MMFILE_FORMAT_FAIL);
 
        formatContext->isseekable = aacinfo.iseekable;
        formatContext->duration = aacinfo.duration;
@@ -782,7 +701,7 @@ int mmfile_format_read_stream_aac(MMFileFormatContext *formatContext)
        mmfile_format_print_contents(formatContext);
 #endif
 
-       return ret;
+       return MMFILE_FORMAT_SUCCESS;
 }
 
 
@@ -790,14 +709,12 @@ int mmfile_format_read_tag_aac(MMFileFormatContext *formatContext)
 {
        MMFileAACHandle handle = NULL;
        tMMFILE_AAC_TAG_INFO aacinfo = {0, };
-       int ret = MMFILE_FORMAT_FAIL;
 
        mm_file_retvm_if_fails(DEBUG, formatContext, MMFILE_FORMAT_FAIL);
 
        handle = formatContext->privateFormatData;
 
-       ret = mmfile_aacparser_get_tag_info(handle, &aacinfo);
-       mm_file_retvm_if_fails(DEBUG, ret == MMFILE_FORMAT_SUCCESS, ret);
+       mm_file_retvm_if_fails(DEBUG, __mmfile_aacparser_get_tag_info(handle, &aacinfo), MMFILE_FORMAT_FAIL);
 
        formatContext->title = g_strdup(aacinfo.title);
        formatContext->author = g_strdup(aacinfo.author);
@@ -823,11 +740,9 @@ int mmfile_format_read_tag_aac(MMFileFormatContext *formatContext)
        mmfile_format_print_contents(formatContext);
 #endif
 
-       return ret;
+       return MMFILE_FORMAT_SUCCESS;
 }
 
-
-
 int mmfile_format_read_frame_aac(MMFileFormatContext *formatContext, unsigned int timestamp, MMFileFormatFrame *frame)
 {
        debug_error(DEBUG, "error: mmfile_format_read_frame_aac, no handling\n");
@@ -835,12 +750,9 @@ int mmfile_format_read_frame_aac(MMFileFormatContext *formatContext, unsigned in
        return MMFILE_FORMAT_FAIL;
 }
 
-
-
 int mmfile_format_close_aac(MMFileFormatContext *formatContext)
 {
        MMFileAACHandle  handle = NULL;
-       int ret = MMFILE_FORMAT_FAIL;
 
        if (NULL == formatContext) {
                debug_error(DEBUG, "error: invalid params\n");
@@ -849,12 +761,8 @@ int mmfile_format_close_aac(MMFileFormatContext *formatContext)
 
        handle = formatContext->privateFormatData;
 
-       if (NULL != handle) {
-               ret = mmfile_aacparser_close(handle);
-               if (ret == MMFILE_AAC_PARSER_FAIL) {
-                       debug_error(DEBUG, "error: mmfile_format_close_aac\n");
-               }
-       }
+       if (handle)
+               __mmfile_aacparser_close(handle);
 
        mmfile_free(formatContext->streams[MMFILE_AUDIO_STREAM]);
 
@@ -866,4 +774,3 @@ int mmfile_format_close_aac(MMFileFormatContext *formatContext)
        return MMFILE_FORMAT_SUCCESS;
 }
 
-