From 8faa9f0ff777dda2a4f0846e5f7e58da92e6e892 Mon Sep 17 00:00:00 2001 From: "jiyong.min" Date: Tue, 27 Aug 2019 13:07:05 +0900 Subject: [PATCH] Replace duplicate '__getMimeType' and 'getMimeType' to 'mmfile_util_get_mimetype' Change-Id: Ie01859409d1b6044c093c2de47f1e4449cf7b2aa --- formats/ffmpeg/mm_file_format_ffmpeg.c | 97 +--------------------------------- formats/ffmpeg/mm_file_format_frame.c | 93 +------------------------------- utils/include/mm_file_utils.h | 1 + utils/mm_file_util_mime.c | 58 +++++++++++++++++++- 4 files changed, 60 insertions(+), 189 deletions(-) diff --git a/formats/ffmpeg/mm_file_format_ffmpeg.c b/formats/ffmpeg/mm_file_format_ffmpeg.c index e7c5bf7..abdc455 100755 --- a/formats/ffmpeg/mm_file_format_ffmpeg.c +++ b/formats/ffmpeg/mm_file_format_ffmpeg.c @@ -56,7 +56,6 @@ int mmfile_format_read_stream_ffmpg(MMFileFormatContext *formatContext); int mmfile_format_read_frame_ffmpg(MMFileFormatContext *formatContext, unsigned int timestamp, MMFileFormatFrame *frame); int mmfile_format_read_tag_ffmpg(MMFileFormatContext *formatContext); int mmfile_format_close_ffmpg(MMFileFormatContext *formatContext); -static int getMimeType(int formatId, char *mimeType, int buf_size); static int _mmf_mem_read(void *opaque, uint8_t *buf, int size); static int64_t _mmf_mem_seek(void *opaque, int64_t pos, int whence); @@ -238,7 +237,7 @@ int mmfile_format_open_ffmpg(MMFileFormatContext *formatContext) av_register_all(); if (formatContext->filesrc->type == MM_FILE_SRC_TYPE_MEMORY) { - if (getMimeType(formatContext->filesrc->memory.format, mimeType, MMFILE_MIMETYPE_MAX_LEN) < 0) { + if (mmfile_util_get_mimetype(formatContext->filesrc->memory.format, mimeType, MMFILE_MIMETYPE_MAX_LEN) < 0) { debug_error(DEBUG, "error: Error in MIME Type finding\n"); return MMFILE_FORMAT_FAIL; } @@ -1416,97 +1415,3 @@ static int ConvertAudioCodecEnum(int AVAudioCodecID) return ret_codecid; } - - - -static int getMimeType(int formatId, char *mimeType, int buf_size) -{ - int ret = 0; /*default: success*/ - - switch (formatId) { - case MM_FILE_FORMAT_3GP: - case MM_FILE_FORMAT_MP4: - snprintf(mimeType, buf_size, "video/3gpp"); - break; - case MM_FILE_FORMAT_ASF: - case MM_FILE_FORMAT_WMA: - case MM_FILE_FORMAT_WMV: - snprintf(mimeType, buf_size, "video/x-ms-asf"); - break; - case MM_FILE_FORMAT_AVI: - snprintf(mimeType, buf_size, "video/avi"); - break; - case MM_FILE_FORMAT_OGG: - snprintf(mimeType, buf_size, "video/ogg"); - break; - case MM_FILE_FORMAT_REAL: - snprintf(mimeType, buf_size, "video/vnd.rn-realmedia"); - break; - case MM_FILE_FORMAT_AMR: - snprintf(mimeType, buf_size, "audio/AMR"); - break; - case MM_FILE_FORMAT_AAC: - snprintf(mimeType, buf_size, "audio/aac"); - break; - case MM_FILE_FORMAT_MP3: - snprintf(mimeType, buf_size, "audio/mp3"); - break; - case MM_FILE_FORMAT_AIFF: - case MM_FILE_FORMAT_WAV: - snprintf(mimeType, buf_size, "audio/wave"); - break; - case MM_FILE_FORMAT_MID: - snprintf(mimeType, buf_size, "audio/midi"); - break; - case MM_FILE_FORMAT_MMF: - snprintf(mimeType, buf_size, "audio/mmf"); - break; - case MM_FILE_FORMAT_DIVX: - snprintf(mimeType, buf_size, "video/divx"); - break; - case MM_FILE_FORMAT_IMELODY: - snprintf(mimeType, buf_size, "audio/iMelody"); - break; - case MM_FILE_FORMAT_JPG: - snprintf(mimeType, buf_size, "image/jpeg"); - break; - case MM_FILE_FORMAT_AU: - snprintf(mimeType, buf_size, "audio/basic"); - break; - case MM_FILE_FORMAT_VOB: - snprintf(mimeType, buf_size, "video/dvd"); - break; - case MM_FILE_FORMAT_FLV: - snprintf(mimeType, buf_size, "video/x-flv"); - break; - case MM_FILE_FORMAT_QT: - snprintf(mimeType, buf_size, "video/quicktime"); - break; - case MM_FILE_FORMAT_MATROSKA: - snprintf(mimeType, buf_size, "video/x-matroska"); - break; - case MM_FILE_FORMAT_FLAC: - snprintf(mimeType, buf_size, "audio/x-flac"); - break; - case MM_FILE_FORMAT_M2TS: - snprintf(mimeType, buf_size, "video/MP2T"); - break; - case MM_FILE_FORMAT_M2PS: - snprintf(mimeType, buf_size, "video/MP2P"); - break; - case MM_FILE_FORMAT_M1AUDIO: - snprintf(mimeType, buf_size, "audio/x-mpegaudio"); - break; - case MM_FILE_FORMAT_M1VIDEO: - snprintf(mimeType, buf_size, "video/mpeg"); - break; - default: - ret = -1; - } - - debug_msg(RELEASE, "id: %d, mimetype: %s\n", formatId, mimeType); - - return ret; -} - - diff --git a/formats/ffmpeg/mm_file_format_frame.c b/formats/ffmpeg/mm_file_format_frame.c index a0f112c..7e42462 100755 --- a/formats/ffmpeg/mm_file_format_frame.c +++ b/formats/ffmpeg/mm_file_format_frame.c @@ -200,97 +200,6 @@ static int64_t _mmf_mem_seek(void *opaque, int64_t pos, int whence) return tmp_offset; } -static int __getMimeType(int formatId, char *mimeType, int buf_size) -{ - int ret = 0; /*default: success*/ - - switch (formatId) { - case MM_FILE_FORMAT_3GP: - case MM_FILE_FORMAT_MP4: - snprintf(mimeType, buf_size, "video/3gpp"); - break; - case MM_FILE_FORMAT_ASF: - case MM_FILE_FORMAT_WMA: - case MM_FILE_FORMAT_WMV: - snprintf(mimeType, buf_size, "video/x-ms-asf"); - break; - case MM_FILE_FORMAT_AVI: - snprintf(mimeType, buf_size, "video/avi"); - break; - case MM_FILE_FORMAT_OGG: - snprintf(mimeType, buf_size, "video/ogg"); - break; - case MM_FILE_FORMAT_REAL: - snprintf(mimeType, buf_size, "video/vnd.rn-realmedia"); - break; - case MM_FILE_FORMAT_AMR: - snprintf(mimeType, buf_size, "audio/AMR"); - break; - case MM_FILE_FORMAT_AAC: - snprintf(mimeType, buf_size, "audio/aac"); - break; - case MM_FILE_FORMAT_MP3: - snprintf(mimeType, buf_size, "audio/mp3"); - break; - case MM_FILE_FORMAT_AIFF: - case MM_FILE_FORMAT_WAV: - snprintf(mimeType, buf_size, "audio/wave"); - break; - case MM_FILE_FORMAT_MID: - snprintf(mimeType, buf_size, "audio/midi"); - break; - case MM_FILE_FORMAT_MMF: - snprintf(mimeType, buf_size, "audio/mmf"); - break; - case MM_FILE_FORMAT_DIVX: - snprintf(mimeType, buf_size, "video/divx"); - break; - case MM_FILE_FORMAT_IMELODY: - snprintf(mimeType, buf_size, "audio/iMelody"); - break; - case MM_FILE_FORMAT_JPG: - snprintf(mimeType, buf_size, "image/jpeg"); - break; - case MM_FILE_FORMAT_AU: - snprintf(mimeType, buf_size, "audio/basic"); - break; - case MM_FILE_FORMAT_VOB: - snprintf(mimeType, buf_size, "video/dvd"); - break; - case MM_FILE_FORMAT_FLV: - snprintf(mimeType, buf_size, "video/x-flv"); - break; - case MM_FILE_FORMAT_QT: - snprintf(mimeType, buf_size, "video/quicktime"); - break; - case MM_FILE_FORMAT_MATROSKA: - snprintf(mimeType, buf_size, "video/x-matroska"); - break; - case MM_FILE_FORMAT_FLAC: - snprintf(mimeType, buf_size, "audio/x-flac"); - break; - case MM_FILE_FORMAT_M2TS: - snprintf(mimeType, buf_size, "video/MP2T"); - break; - case MM_FILE_FORMAT_M2PS: - snprintf(mimeType, buf_size, "video/MP2P"); - break; - case MM_FILE_FORMAT_M1VIDEO: - snprintf(mimeType, buf_size, "video/mpeg"); - break; - case MM_FILE_FORMAT_M1AUDIO: - snprintf(mimeType, buf_size, "audio/x-mpegaudio"); - break; - default: - ret = -1; - break; - } - - debug_msg(RELEASE, "id: %d, mimetype: %s\n", formatId, mimeType); - - return ret; -} - extern const struct { int (*Open)(MMFileFormatContext *fileContext); int (*Valid)(MMFileIOHandle *pFileIO, const char *mmfileuri, int mp3FrameCnt); @@ -715,7 +624,7 @@ int mmfile_format_get_frame_from_memory(const void *data, unsigned int datasize, return MMFILE_FORMAT_FAIL; } - if (__getMimeType(format, mimeType, MMFILE_MIMETYPE_MAX_LEN) < 0) { + if (mmfile_util_get_mimetype(format, mimeType, MMFILE_MIMETYPE_MAX_LEN) < 0) { debug_error(DEBUG, "error: Error in MIME Type finding\n"); return MMFILE_FORMAT_FAIL; } diff --git a/utils/include/mm_file_utils.h b/utils/include/mm_file_utils.h index 6d9679e..3e9619a 100755 --- a/utils/include/mm_file_utils.h +++ b/utils/include/mm_file_utils.h @@ -158,6 +158,7 @@ int mmfile_close(MMFileIOHandle *h); #define MMFILE_FILE_EXT_MAX_LEN 7 int mmfile_util_get_ffmpeg_format(const char *mime, char *ffmpegFormat); +int mmfile_util_get_mimetype(int formatId, char *mimeType, int buf_size); /*////////////////////////////////////////////////////////////////////// */ diff --git a/utils/mm_file_util_mime.c b/utils/mm_file_util_mime.c index f4834df..e868df2 100755 --- a/utils/mm_file_util_mime.c +++ b/utils/mm_file_util_mime.c @@ -127,7 +127,6 @@ const MMFileAVMimeType MMFILE_FFMPEG_MIME_TABLE[] = { {"video/mpeg", "mpegvideo", "mpeg"}, /*mpeg 1 video */ }; - EXPORT_API int mmfile_util_get_ffmpeg_format(const char *mime, char *ffmpegFormat) { @@ -155,3 +154,60 @@ int mmfile_util_get_ffmpeg_format(const char *mime, char *ffmpegFormat) return MMFILE_UTIL_SUCCESS; } +typedef struct { + int format; + char mimetype[MMFILE_MIMETYPE_MAX_LEN]; +} _mm_file_format_mime_type_s; + +const _mm_file_format_mime_type_s _mm_file_format_mimetype_table[] = { + { MM_FILE_FORMAT_3GP, "video/3gpp"}, + { MM_FILE_FORMAT_MP4, "video/3gpp"}, + { MM_FILE_FORMAT_ASF, "video/x-ms-asf"}, + { MM_FILE_FORMAT_WMA, "video/x-ms-asf"}, + { MM_FILE_FORMAT_WMV, "video/x-ms-asf"}, + { MM_FILE_FORMAT_AVI, "video/avi"}, + { MM_FILE_FORMAT_OGG, "video/ogg"}, + { MM_FILE_FORMAT_REAL, "video/vnd.rn-realmedia"}, + { MM_FILE_FORMAT_AMR, "audio/AMR"}, + { MM_FILE_FORMAT_AAC, "audio/aac"}, + { MM_FILE_FORMAT_MP3, "audio/mp3"}, + { MM_FILE_FORMAT_AIFF, "audio/wave"}, + { MM_FILE_FORMAT_WAV, "audio/wave"}, + { MM_FILE_FORMAT_MID, "audio/midi"}, + { MM_FILE_FORMAT_MMF, "audio/mmf"}, + { MM_FILE_FORMAT_DIVX, "video/divx"}, + { MM_FILE_FORMAT_IMELODY, "audio/iMelody"}, + { MM_FILE_FORMAT_JPG, "image/jpeg"}, + { MM_FILE_FORMAT_AU, "audio/basic"}, + { MM_FILE_FORMAT_VOB, "video/dvd"}, + { MM_FILE_FORMAT_FLV, "video/x-flv"}, + { MM_FILE_FORMAT_QT, "video/quicktime"}, + { MM_FILE_FORMAT_MATROSKA, "video/x-matroska"}, + { MM_FILE_FORMAT_FLAC, "audio/x-flac"}, + { MM_FILE_FORMAT_M2TS, "video/MP2T"}, + { MM_FILE_FORMAT_M2PS, "video/MP2P"}, + { MM_FILE_FORMAT_M1AUDIO, "audio/x-mpegaudio"}, + { MM_FILE_FORMAT_M1VIDEO, "video/mpeg"}, +}; + +int mmfile_util_get_mimetype(int formatId, char *mimeType, int buf_size) +{ + int i = 0; + int table_size = sizeof(_mm_file_format_mimetype_table) / sizeof(_mm_file_format_mime_type_s); + + if (!mimeType) { + debug_error(DEBUG, "invalid mimeType\n"); + return MMFILE_UTIL_FAIL; + } + + for (i = 0; i < table_size; i++) { + if (_mm_file_format_mimetype_table[i].format == formatId) { + snprintf(mimeType, buf_size, "%s", _mm_file_format_mimetype_table[i].mimetype); + debug_msg(RELEASE, "id: %d, mimetype: %s\n", formatId, mimeType); + return MMFILE_UTIL_SUCCESS; + } + } + debug_error(RELEASE, "id: %d, mimetype: %s\n", formatId, mimeType); + + return MMFILE_UTIL_FAIL; +} -- 2.7.4