sync tizen_2.4. 14/47814/4
authorji.yong.seo <ji.yong.seo@samsung.com>
Mon, 27 Jul 2015 03:30:21 +0000 (12:30 +0900)
committerji.yong.seo <ji.yong.seo@samsung.com>
Thu, 10 Sep 2015 02:16:43 +0000 (11:16 +0900)
Signed-off-by: ji.yong.seo <ji.yong.seo@samsung.com>
Change-Id: Ia8ed7963d67932acf177eddeedeb70d7037fd371

16 files changed:
configure.ac
formats/ffmpeg/Makefile.am
formats/ffmpeg/include/mm_file_format_id3tag.h
formats/ffmpeg/mm_file_format_aac.c
formats/ffmpeg/mm_file_format_ffmpeg.c
formats/ffmpeg/mm_file_format_frame.c
formats/ffmpeg/mm_file_format_midi.c
formats/ffmpeg/mm_file_formats.c
include/mm_file_formats.h
mm_file.c
packaging/libmm-fileinfo.spec
utils/Makefile.am
utils/include/mm_file_utils.h
utils/mm_file_util_io.c
utils/mm_file_util_tag.c
utils/mm_file_util_validity.c

index 9c192e6..ab417f6 100755 (executable)
@@ -92,26 +92,6 @@ PKG_CHECK_MODULES(VCONF, vconf)
 AC_SUBST(VCONF_CFLAGS)
 AC_SUBST(VCONF_LIBS)
 
-dnl use drm  --------------------------------------------------------------------------
-AC_ARG_ENABLE(drm, AC_HELP_STRING([--enable-drm], [using drm]),
-[
-   case "${enableval}" in
-       yes) USE_DRM=yes ;;
-        no) USE_DRM=no ;;
-         *) AC_MSG_ERROR(bad value ${enableval} for --enable-drm) ;;
-   esac
-],[USE_DRM=yes])
-if test "x$USE_DRM" = "xyes"; then
-     PKG_CHECK_MODULES(DRMCLIENT, drm-client)
-     AC_SUBST(DRMCLIENT_CFLAGS)
-     AC_SUBST(DRMCLIENT_LIBS)
-
-     PKG_CHECK_MODULES(DRMTRUSTED, drm-trusted)
-     AC_SUBST(DRMTRUSTED_CFLAGS)
-     AC_SUBST(DRMTRUSTED_LIBS)
-fi
-AM_CONDITIONAL(USE_DRM, test "x$USE_DRM" = "xyes")
-
 dnl use dyn --------------------------------------------------------------------------
 AC_ARG_ENABLE(dyn, AC_HELP_STRING([--enable-dyn], [using dyn]),
 [
index a2b51a5..d6001fe 100755 (executable)
@@ -47,15 +47,9 @@ if USE_DUMP
 libmmfile_formats_la_CFLAGS += -DMMFILE_FORMAT_DEBUG_DUMP
 endif
 
-if USE_DRM
-noinst_HEADERS += include/mm_file_format_ffmpeg_drm.h
-libmmfile_formats_la_SOURCES += mm_file_format_ffmpeg_drm.c
-libmmfile_formats_la_CFLAGS += $(DRMCLIENT_CFLAGS) $(DRMTRUSTED_CFLAGS) -DDRM_SUPPORT
-endif
-
 if USE_IOMMAP
 libmmfile_formats_la_CFLAGS += -D__MMFILE_MMAP_MODE__
-endif
+endif  
 
 
 libmmfile_formats_la_LIBADD = $(MMCOMMON_LIBS) \
@@ -65,10 +59,6 @@ libmmfile_formats_la_LIBADD = $(MMCOMMON_LIBS) \
                                $(SWSCALE_LIBS) \
                          $(top_builddir)/utils/libmmfile_utils.la
 
-if USE_DRM
-libmmfile_formats_la_LIBADD += $(DRMCLIENT_LIBS) $(DRMTRUSTTED_LIBS)
-endif
-
 libmmfile_formats_la_CFLAGS += $(DLOG_CFLAGS)
 libmmfile_formats_la_LIBADD += $(DLOG_LIBS)
 
index 7810d08..0bcae37 100755 (executable)
@@ -221,9 +221,6 @@ typedef struct {
        AvTagVer2ImageInfo                      imageInfo;      /*Album art   attached feature */
        AvTagVer2AdditionalData         tagV2Info; /*Needed data for ID3 tag parsing */
 
-/* for DRM 2.0 */
-       char                    *pTransactionID;
-
 /*for ID3V1 Tag */
        unsigned char   genre;
 
@@ -259,7 +256,6 @@ inline static void mm_file_free_AvFileContentInfo(AvFileContentInfo *pInfo)
                if (pInfo->pOriginArtist) mmfile_free(pInfo->pOriginArtist);
                if (pInfo->pComposer) mmfile_free(pInfo->pComposer);
                if (pInfo->imageInfo.pImageBuf) mmfile_free(pInfo->imageInfo.pImageBuf);
-               if (pInfo->pTransactionID) mmfile_free(pInfo->pTransactionID);
        }
 }
 
index 76af91f..bf7f60a 100755 (executable)
@@ -424,7 +424,6 @@ int _parse_aac_adif_header(tMMFILE_AAC_HANDLE *pData)
 
        /*num_lfe_channel_elements */
        pData->streamInfo.numAudioChannels += _get_range_bits_value(adifHeader, currentBitOffset, 2);
-       currentBitOffset += 2;
 
        return MMFILE_AAC_PARSER_SUCCESS;
 
@@ -484,10 +483,6 @@ int _parse_aac_adts_header(tMMFILE_AAC_HANDLE *pData)
 
        /*skipping Home status */
        fieldValue = _get_range_bits_value(adtsHeader, currentBitOffset, 1);
-       currentBitOffset += 1;
-
-       /*copy right Id status bit */
-       currentBitOffset += 1;
 
        return MMFILE_AAC_PARSER_SUCCESS;
 }
index 1bf9faf..0797b7f 100755 (executable)
 #endif
 #include <mm_error.h>
 #include <mm_types.h>
-
-#ifdef DRM_SUPPORT
-#include <drm_client.h>
-#endif
-
 #include "mm_file_debug.h"
 #include "mm_file_formats.h"
 #include "mm_file_utils.h"
 #include "mm_file_format_ffmpeg.h"
-
-#ifdef DRM_SUPPORT
-#include "mm_file_format_ffmpeg_drm.h"
-#endif
-
 #include "mm_file_format_ffmpeg_mem.h"
 #include <sys/time.h>
 
@@ -83,9 +73,6 @@ int mmfile_format_open_ffmpg(MMFileFormatContext *formatContext)
        AVInputFormat       *grab_iformat = NULL;
        int ret = 0;
        unsigned int i;
-#ifdef DRM_SUPPORT
-       drm_content_info_s contentInfo = {0, };
-#endif
        char ffmpegFormatName[MMFILE_FILE_FMT_MAX_LEN] = {0, };
        char mimeType[MMFILE_MIMETYPE_MAX_LEN] = {0, };
 
@@ -154,73 +141,17 @@ int mmfile_format_open_ffmpg(MMFileFormatContext *formatContext)
        }
 
        if (formatContext->filesrc->type  == MM_FILE_SRC_TYPE_FILE) {
-
-               if (formatContext->isdrm == MM_FILE_DRM_OMA) {
-#ifdef DRM_SUPPORT
-                       if (formatContext->formatType == MM_FILE_FORMAT_DIVX || formatContext->formatType == MM_FILE_FORMAT_AVI) {
-                               goto HANDLING_DRM_DIVX;
-                       }
-
 #ifdef __MMFILE_FFMPEG_V085__
-                       ffurl_register_protocol(&MMFileDRMProtocol, sizeof(URLProtocol));
+               ret = avformat_open_input(&pFormatCtx, formatContext->filesrc->file.path, NULL, NULL);
 #else
-                       ffurl_register_protocol(&MMFileDRMProtocol);
+               ret = av_open_input_file(&pFormatCtx, formatContext->filesrc->file.path, NULL, 0, NULL);
 #endif
-                       memset(&contentInfo, 0x0, sizeof(drm_content_info_s));
-                       if (DRM_RETURN_SUCCESS != drm_get_content_info(formatContext->filesrc->file.path, &contentInfo)) {
-                               debug_error("error: drm_get_content_info\n");
-                               return MMFILE_FORMAT_FAIL;
-                       }
-
-                       memset(ffmpegFormatName, 0x00, MMFILE_FILE_FMT_MAX_LEN);
-
-                       ret = mmfile_util_get_ffmpeg_format(contentInfo.mime_type, ffmpegFormatName);
-                       if (MMFILE_UTIL_SUCCESS != ret) {
-                               debug_error("error: mmfile_util_get_ffmpeg_format\n");
-                               return MMFILE_FORMAT_FAIL;
-                       }
-
-#ifdef __MMFILE_TEST_MODE__
-                       debug_warning("FFMPEG: test........... : %s\n", ffmpegFormatName);
-                       debug_warning("FFMPEG: DRM URI = %s\n", formatContext->uriFileName);
-                       debug_warning("FFMPEG: ffmpeg name = %s\n", ffmpegFormatName);
-#endif
-
-                       grab_iformat = av_find_input_format(ffmpegFormatName);
-
-                       if (NULL == grab_iformat) {
-                               debug_error("error: cannot find format\n");
-                               goto exception;
-                       }
-
-#ifdef __MMFILE_FFMPEG_V085__
-                       ret = avformat_open_input(&pFormatCtx, formatContext->uriFileName, grab_iformat, NULL);
-#else
-                       ret = av_open_input_file(&pFormatCtx, formatContext->uriFileName, grab_iformat, 0, NULL);
-#endif
-                       if (ret < 0) {
-                               debug_error("error: cannot open %s %d\n", formatContext->uriFileName, ret);
-                               goto exception;
-                       }
-                       formatContext->privateFormatData = pFormatCtx;
-#endif
-               } else {
-#ifdef DRM_SUPPORT
-HANDLING_DRM_DIVX:
-#endif
-
-#ifdef __MMFILE_FFMPEG_V085__
-                       ret = avformat_open_input(&pFormatCtx, formatContext->filesrc->file.path, NULL, NULL);
-#else
-                       ret = av_open_input_file(&pFormatCtx, formatContext->filesrc->file.path, NULL, 0, NULL);
-#endif
-                       if (ret < 0) {
-                               debug_error("error: cannot open %s %d\n", formatContext->filesrc->file.path, ret);
-                               goto exception;
-                       }
-
-                       formatContext->privateFormatData = pFormatCtx;
+               if (ret < 0) {
+                       debug_error("error: cannot open %s %d\n", formatContext->filesrc->file.path, ret);
+                       goto exception;
                }
+
+               formatContext->privateFormatData = pFormatCtx;
        }
 
        if (!pFormatCtx/* || !(pFormatCtx->nb_streams > 0)*/) {
@@ -747,11 +678,6 @@ int mmfile_format_read_frame_ffmpg(MMFileFormatContext *formatContext, unsigned
                return MMFILE_FORMAT_FAIL;
        }
 
-       if (formatContext->isdrm == MM_FILE_DRM_PROTECTED) {
-               debug_error("This is protected drm file\n");
-               return MMFILE_FORMAT_FAIL;
-       }
-
        pFormatCtx = formatContext->privateFormatData;
 
        if (formatContext->videoStreamId != -1) {
@@ -1099,7 +1025,7 @@ static int _get_first_good_video_frame(AVFormatContext *pFormatCtx, AVCodecConte
        AVFrame *first_frame = NULL;
 
        /* long long timestamp; */
-       int stream_id = videoStream;
+       /*int stream_id = videoStream;*/
        int ret;
        int found = 0;
        int i, v, len, got_picture;
@@ -1156,7 +1082,7 @@ static int _get_first_good_video_frame(AVFormatContext *pFormatCtx, AVCodecConte
                        debug_error("read failed. (maybe EOF or broken)\n");
                        break;
                } else {
-                       if (pkt.stream_index == stream_id) {
+                       if (avcodec_get_type(pFormatCtx->streams[pkt.stream_index]->codec->codec_id) == AVMEDIA_TYPE_VIDEO) {
                                v++;
 #ifdef __MMFILE_FFMPEG_V085__
                                if ((pkt.flags & AV_PKT_FLAG_KEY) || (key_detected == 1))
index 87f656c..89d35f9 100755 (executable)
 #include "mm_file_format_ffmpeg_mem.h"
 #include "mm_file_format_frame.h"
 
-#ifdef DRM_SUPPORT
-#include <drm_client.h>
-#endif
-
 #define MILLION 1000000
 #ifdef MMFILE_FORMAT_DEBUG_DUMP
 static void __save_frame(AVFrame *pFrame, int width, int height, int iFrame);
@@ -606,15 +602,6 @@ int mmfile_format_get_frame(const char *path, double timestamp, bool is_accurate
                return MMFILE_FORMAT_FAIL;
        }
 
-#ifdef DRM_SUPPORT
-       drm_bool_type_e res = DRM_FALSE;
-
-       ret = drm_is_drm_file(path, &res);
-       if (DRM_TRUE == res) {
-               debug_error("Not support DRM Contents\n");
-               return MMFILE_FORMAT_FAIL;
-       }
-#endif
        av_register_all();
 
        /* Open video file */
index 439441c..08f0a2b 100755 (executable)
@@ -1230,7 +1230,7 @@ __AvGetSizeOfFileInfo(PMIDINFO pI)
                                                                        /*<== I Think that Below Code is Trash!! and Erase it! (Actually I Don Know ^^)
                                                                        dTime = (dTime << 7) / 125; */
 
-                                                                       sdDelta = (UINT32)(dTime / pI->dTimeResolution);
+                                                                       sdDelta = (UINT32)(dTime / pI->dTimeResolution > 0 ? pI->dTimeResolution : 1);
                                                                        break;
 
                                                                default:
index 5e2a920..962664f 100755 (executable)
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
-
-#ifdef DRM_SUPPORT
-#include <drm_client.h>
-#endif
-
-
 #include "mm_file_debug.h"
 #include "mm_file_format_private.h"
 #include "mm_file_utils.h"
@@ -177,14 +171,11 @@ static int _CleanupFrameContext(MMFileFormatContext *formatContext, bool clean_a
 }
 
 static int
-_PreprocessFile(MMFileSourceType *fileSrc, char **urifilename, int *formatEnum, int *isdrm)
+_PreprocessFile(MMFileSourceType *fileSrc, char **urifilename, int *formatEnum)
 {
        const char      *fileName = NULL;
        int                     filename_len = 0;
        int                     index = 0, skip_index = 0;
-#ifdef DRM_SUPPORT
-       drm_content_info_s      contentInfo;
-#endif
        int ret = 0;
        MMFileIOHandle *fp = NULL;
 
@@ -194,97 +185,39 @@ _PreprocessFile(MMFileSourceType *fileSrc, char **urifilename, int *formatEnum,
                fileName = (const char *)(fileSrc->file.path);
                filename_len = strlen(fileName);
 
-#ifdef DRM_SUPPORT
-               /**
-                * Make URI name with file name
-                */
-               drm_bool_type_e res = DRM_TRUE;
-               drm_file_type_e file_type = DRM_TYPE_UNDEFINED;
-               int ret = 0;
-
-               ret = drm_is_drm_file(fileSrc->file.path, &res);
-               if (ret == DRM_RETURN_SUCCESS && DRM_TRUE == res) {
-                       ret = drm_get_file_type(fileSrc->file.path, &file_type);
-                       if ((ret == DRM_RETURN_SUCCESS) && ((file_type == DRM_TYPE_OMA_V1) || (file_type == DRM_TYPE_OMA_V2))) {
-                               char extansion_name[_MMF_FILE_FILEEXT_MAX];
-                               int i = 0;
-
-                               *isdrm = MM_FILE_DRM_OMA;
-#ifdef __MMFILE_TEST_MODE__
-                               debug_msg("OMA DRM detected.\n");
-#endif
-
-                               memset(&contentInfo, 0x0, sizeof(drm_content_info_s));
-
-                               if (DRM_RETURN_SUCCESS != drm_get_content_info(fileSrc->file.path, &contentInfo)) {
-                                       debug_error("error: drm_get_content_info\n");
-                                       goto FILE_FORMAT_FAIL;
-                               }
-
-                               memset(extansion_name, 0x00, _MMF_FILE_FILEEXT_MAX);
-                               if (MMFILE_UTIL_SUCCESS != mmfile_util_get_file_ext(contentInfo.mime_type, extansion_name)) {
-                                       debug_error("error: mmfile_util_get_ffmpeg_format\n");
-                                       goto FILE_FORMAT_FAIL;
-                               }
-
-                               file_extansion = 0;
-
-                               for (i = 0; i < stlen(extansion_name); i++) {
-                                       file_extansion |= (extansion_name[i] >= 'A' && extansion_name[i] <= 'Z' ? extansion_name[i] + 0x20 : extansion_name[i]) << i * 8;
-                               }
-
-                               *urifilename = mmfile_malloc(MMFILE_DRM_URI_LEN + filename_len + 1);
-                               if (!*urifilename) {
-                                       debug_error("error: mmfile_malloc uriname\n");
-                                       goto FILE_FORMAT_FAIL;
-                               }
-
-                               memset(*urifilename, 0x00, MMFILE_DRM_URI_LEN + filename_len + 1);
-                               strncpy(*urifilename, MMFILE_DRM_URI, MMFILE_DRM_URI_LEN);
-                               strncat(*urifilename, fileName, filename_len);
-                               (*urifilename)[MMFILE_DRM_URI_LEN + filename_len] = '\0';
-                       } else if ((ret == DRM_RETURN_SUCCESS) &&
-                                  ((file_type == DRM_TYPE_PLAYREADY) || (file_type == DRM_TYPE_PLAYREADY_ENVELOPE) || (file_type == DRM_TYPE_PIFF))) {
-                               *isdrm = MM_FILE_DRM_PROTECTED;
-                       }
-               } else
-#endif /* DRM_SUPPORT                   */
-               {
-                       int pos = filename_len;
-                       *isdrm = MM_FILE_DRM_NONE;
+               int pos = filename_len;
 #ifdef __MMFILE_MMAP_MODE__
-                       *urifilename = mmfile_malloc(MMFILE_MMAP_URI_LEN + filename_len + 1);
-                       if (!*urifilename) {
-                               debug_error("error: mmfile_malloc uriname\n");
-                               goto FILE_FORMAT_FAIL;
-                       }
+               *urifilename = mmfile_malloc(MMFILE_MMAP_URI_LEN + filename_len + 1);
+               if (!*urifilename) {
+                       debug_error("error: mmfile_malloc uriname\n");
+                       goto FILE_FORMAT_FAIL;
+               }
 
-                       memset(*urifilename, 0x00, MMFILE_MMAP_URI_LEN + filename_len + 1);
-                       strncpy(*urifilename, MMFILE_MMAP_URI, MMFILE_MMAP_URI_LEN);
-                       strncat(*urifilename, fileName, filename_len);
-                       (*urifilename)[MMFILE_MMAP_URI_LEN + filename_len] = '\0';
+               memset(*urifilename, 0x00, MMFILE_MMAP_URI_LEN + filename_len + 1);
+               strncpy(*urifilename, MMFILE_MMAP_URI, MMFILE_MMAP_URI_LEN);
+               strncat(*urifilename, fileName, filename_len);
+               (*urifilename)[MMFILE_MMAP_URI_LEN + filename_len] = '\0';
 
 #else
-                       *urifilename = mmfile_malloc(MMFILE_FILE_URI_LEN + filename_len + 1);
-                       if (!*urifilename) {
-                               debug_error("error: mmfile_malloc uriname\n");
-                               goto FILE_FORMAT_FAIL;
-                       }
+               *urifilename = mmfile_malloc(MMFILE_FILE_URI_LEN + filename_len + 1);
+               if (!*urifilename) {
+                       debug_error("error: mmfile_malloc uriname\n");
+                       goto FILE_FORMAT_FAIL;
+               }
 
-                       memset(*urifilename, 0x00, MMFILE_FILE_URI_LEN + filename_len + 1);
-                       strncpy(*urifilename, MMFILE_FILE_URI, MMFILE_FILE_URI_LEN + 1);
-                       strncat(*urifilename, fileName, filename_len);
-                       (*urifilename)[MMFILE_FILE_URI_LEN + filename_len] = '\0';
+               memset(*urifilename, 0x00, MMFILE_FILE_URI_LEN + filename_len + 1);
+               strncpy(*urifilename, MMFILE_FILE_URI, MMFILE_FILE_URI_LEN + 1);
+               strncat(*urifilename, fileName, filename_len);
+               (*urifilename)[MMFILE_FILE_URI_LEN + filename_len] = '\0';
 #endif
-                       /**
-                        * Get file extension from file's name
-                        */
-                       while (pos > 0) {
-                               pos--;
-                               if (fileName[pos] == '.')
-                                       break;
-                               file_extansion |= (fileName[pos] >= 'A' && fileName[pos] <= 'Z' ? fileName[pos] + 0x20 : fileName[pos]) << (filename_len - pos - 1) * 8;
-                       }
+               /**
+                * Get file extension from file's name
+                */
+               while (pos > 0) {
+                       pos--;
+                       if (fileName[pos] == '.')
+                               break;
+                       file_extansion |= (fileName[pos] >= 'A' && fileName[pos] <= 'Z' ? fileName[pos] + 0x20 : fileName[pos]) << (filename_len - pos - 1) * 8;
                }
 
                ret = mmfile_open(&fp, *urifilename, MMFILE_RDONLY);
@@ -544,7 +477,7 @@ _PreprocessFile(MMFileSourceType *fileSrc, char **urifilename, int *formatEnum,
        } else if (fileSrc->type == MM_FILE_SRC_TYPE_MEMORY) {
                char tempURIBuffer[MMFILE_URI_MAX_LEN] = {0, };
 
-               sprintf(tempURIBuffer, "%s%u:%u", MMFILE_MEM_URI, (unsigned int)fileSrc->memory.ptr, fileSrc->memory.size);
+               snprintf(tempURIBuffer, MMFILE_URI_MAX_LEN, "%s%u:%u", MMFILE_MEM_URI, (unsigned int)fileSrc->memory.ptr, fileSrc->memory.size);
                *urifilename = mmfile_strdup(tempURIBuffer);
                if (!*urifilename) {
                        debug_error("error: uri is NULL\n");
@@ -570,6 +503,7 @@ _PreprocessFile(MMFileSourceType *fileSrc, char **urifilename, int *formatEnum,
                                }
                                skip_index = MM_FILE_FORMAT_3GP;
                                goto PROBE_PROPER_FILE_TYPE;
+                               break;
                        }
 
                        case MM_FILE_FORMAT_MP4: {
@@ -579,6 +513,7 @@ _PreprocessFile(MMFileSourceType *fileSrc, char **urifilename, int *formatEnum,
                                }
                                skip_index = MM_FILE_FORMAT_MP4;
                                goto PROBE_PROPER_FILE_TYPE;
+                               break;
                        }
 
                        case MM_FILE_FORMAT_AMR: {
@@ -588,6 +523,7 @@ _PreprocessFile(MMFileSourceType *fileSrc, char **urifilename, int *formatEnum,
                                }
                                skip_index = MM_FILE_FORMAT_AMR;
                                goto PROBE_PROPER_FILE_TYPE;
+                               break;
                        }
 
                        case MM_FILE_FORMAT_WAV: {
@@ -597,6 +533,7 @@ _PreprocessFile(MMFileSourceType *fileSrc, char **urifilename, int *formatEnum,
                                }
                                skip_index = MM_FILE_FORMAT_WAV;
                                goto PROBE_PROPER_FILE_TYPE;
+                               break;
                        }
 
                        case MM_FILE_FORMAT_MID: {
@@ -606,6 +543,7 @@ _PreprocessFile(MMFileSourceType *fileSrc, char **urifilename, int *formatEnum,
                                }
                                skip_index = MM_FILE_FORMAT_MID;
                                goto PROBE_PROPER_FILE_TYPE;
+                               break;
                        }
 
                        case MM_FILE_FORMAT_MP3: {
@@ -615,6 +553,7 @@ _PreprocessFile(MMFileSourceType *fileSrc, char **urifilename, int *formatEnum,
                                }
                                skip_index = MM_FILE_FORMAT_MP3;
                                goto PROBE_PROPER_FILE_TYPE;
+                               break;
                        }
 
                        case MM_FILE_FORMAT_AAC: {
@@ -624,6 +563,7 @@ _PreprocessFile(MMFileSourceType *fileSrc, char **urifilename, int *formatEnum,
                                }
                                skip_index = MM_FILE_FORMAT_AAC;
                                goto PROBE_PROPER_FILE_TYPE;
+                               break;
                        }
 
                        case MM_FILE_FORMAT_MMF: {
@@ -633,6 +573,7 @@ _PreprocessFile(MMFileSourceType *fileSrc, char **urifilename, int *formatEnum,
                                }
                                skip_index = MM_FILE_FORMAT_MMF;
                                goto PROBE_PROPER_FILE_TYPE;
+                               break;
                        }
 
                        case MM_FILE_FORMAT_IMELODY: {
@@ -642,6 +583,7 @@ _PreprocessFile(MMFileSourceType *fileSrc, char **urifilename, int *formatEnum,
                                }
                                skip_index = MM_FILE_FORMAT_IMELODY;
                                goto PROBE_PROPER_FILE_TYPE;
+                               break;
                        }
 
                        case MM_FILE_FORMAT_AVI: {
@@ -651,6 +593,7 @@ _PreprocessFile(MMFileSourceType *fileSrc, char **urifilename, int *formatEnum,
                                }
                                skip_index = MM_FILE_FORMAT_AVI;
                                goto PROBE_PROPER_FILE_TYPE;
+                               break;
                        }
 
                        case MM_FILE_FORMAT_DIVX: {
@@ -660,6 +603,7 @@ _PreprocessFile(MMFileSourceType *fileSrc, char **urifilename, int *formatEnum,
                                }
                                skip_index = MM_FILE_FORMAT_DIVX;
                                goto PROBE_PROPER_FILE_TYPE;
+                               break;
                        }
 
                        case MM_FILE_FORMAT_ASF: {
@@ -669,6 +613,7 @@ _PreprocessFile(MMFileSourceType *fileSrc, char **urifilename, int *formatEnum,
                                }
                                skip_index = MM_FILE_FORMAT_ASF;
                                goto PROBE_PROPER_FILE_TYPE;
+                               break;
                        }
 
                        case MM_FILE_FORMAT_WMA: {
@@ -678,6 +623,7 @@ _PreprocessFile(MMFileSourceType *fileSrc, char **urifilename, int *formatEnum,
                                }
                                skip_index = MM_FILE_FORMAT_WMA;
                                goto PROBE_PROPER_FILE_TYPE;
+                               break;
                        }
 
                        case MM_FILE_FORMAT_WMV: {
@@ -687,6 +633,7 @@ _PreprocessFile(MMFileSourceType *fileSrc, char **urifilename, int *formatEnum,
                                }
                                skip_index = MM_FILE_FORMAT_WMV;
                                goto PROBE_PROPER_FILE_TYPE;
+                               break;
                        }
 
                        case MM_FILE_FORMAT_OGG: {
@@ -783,6 +730,7 @@ _PreprocessFile(MMFileSourceType *fileSrc, char **urifilename, int *formatEnum,
                                debug_warning("probe fileformat type=%d (%d: autoscan)\n", fileSrc->memory.format, MM_FILE_FORMAT_INVALID);
                                skip_index = -1;
                                goto PROBE_PROPER_FILE_TYPE;
+                               break;
                        }
                }
        } else {
@@ -1070,7 +1018,7 @@ int mmfile_format_open(MMFileFormatContext **formatContext, MMFileSourceType *fi
        /**
         * Format detect and validation check.
         */
-       ret = _PreprocessFile(fileSrc, &formatObject->uriFileName,  &formatObject->formatType, &formatObject->isdrm);
+       ret = _PreprocessFile(fileSrc, &formatObject->uriFileName,  &formatObject->formatType);
        if (MMFILE_FORMAT_SUCCESS != ret) {
                debug_error("error: _PreprocessFile fail\n");
                ret = MMFILE_FORMAT_FAIL;
index d7a50c7..273b023 100755 (executable)
@@ -54,14 +54,6 @@ enum {
        MM_FILE_SRC_TYPE_MEMORY,
 };
 
-enum {
-       MM_FILE_DRM_NONE = 0,           /*not drm file*/
-       MM_FILE_DRM_OMA,                        /*oma drm*/
-       MM_FILE_DRM_DIVX,                       /*divx drm*/
-       MM_FILE_DRM_PROTECTED,  /*This is drm file but not oma or divx*/
-};
-
-
 typedef struct _mm_file_source {
        int             type;
        union {
@@ -118,7 +110,6 @@ struct _MMFileFormatContext {
        /* contents information */
        int duration;   /* milliseconds */
        int isseekable;
-       int isdrm;              /*drm type. see MM_FILE_DRM_XXX*/
        int videoTotalTrackNum;
        int audioTotalTrackNum;
        int nbStreams;
index 5bbe753..59ea6c2 100755 (executable)
--- a/mm_file.c
+++ b/mm_file.c
@@ -182,7 +182,7 @@ static int _load_dynamic_functions(MMFILE_FUNC_HANDLE *pHandle)
 
        formatFuncHandle = dlopen(MMFILE_FORMAT_SO_FILE_NAME, RTLD_LAZY);
        if (!formatFuncHandle) {
-               debug_error("error: %s\n", dlerror());
+               debug_error("error: %s\n", "libmmfile_formats.so open error");
                ret = 0;
                goto exception;
        }
@@ -199,7 +199,7 @@ static int _load_dynamic_functions(MMFILE_FUNC_HANDLE *pHandle)
            !mmfile_format_read_tag ||
            !mmfile_format_close) {
 
-               debug_error("error: %s\n", dlerror());
+               debug_error("error: %s\n", "format function load error");
                ret = 0;
                goto exception;
        }
@@ -209,7 +209,7 @@ static int _load_dynamic_functions(MMFILE_FUNC_HANDLE *pHandle)
 
        codecFuncHandle = dlopen(MMFILE_CODEC_SO_FILE_NAME, RTLD_LAZY | RTLD_GLOBAL);
        if (!codecFuncHandle) {
-               debug_error("error: %s\n", dlerror());
+               debug_error("error: %s\n", "libmmfile_codecs.so open error");
                ret = 0;
                goto exception;
        }
@@ -219,7 +219,7 @@ static int _load_dynamic_functions(MMFILE_FUNC_HANDLE *pHandle)
        mmfile_codec_close              = dlsym(codecFuncHandle, "mmfile_codec_close");
 
        if (!mmfile_codec_open || !mmfile_codec_decode || !mmfile_codec_close) {
-               debug_error("error: %s\n", dlerror());
+               debug_error("error: %s\n", "codec function load error");
                ret = 0;
                goto exception;
        }
index cac15d7..d571c0d 100755 (executable)
@@ -1,6 +1,6 @@
 Name:      libmm-fileinfo
 Summary:    Media Fileinfo
-Version:    0.6.35
+Version:    0.6.40
 Release:    0
 Group:      System/Libraries
 License:    Apache-2.0
@@ -19,14 +19,6 @@ BuildRequires: pkgconfig(libavformat)
 BuildRequires: pkgconfig(icu-i18n)
 BuildRequires: pkgconfig(vconf)
 
-%define use_drm 0
-
-%if %{use_drm}
-BuildRequires: libss-client-devel
-#BuildRequires: pkgconfig(drm-client)
-#BuildRequires: pkgconfig(drm-trusted)
-%endif
-
 %description
 Multimedia Framework FileInfo Library
 
@@ -47,20 +39,10 @@ export CFLAGS+=" -Wextra -Wno-array-bounds"
 export CFLAGS+=" -Wno-ignored-qualifiers -Wno-unused-parameter -Wshadow"
 export CFLAGS+=" -Wwrite-strings -Wswitch-default -Werror"
 export CFLAGS+=" -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast"
-CFLAGS="${CFLAGS} -D_MM_PROJECT_FLOATER -DEXPORT_API=\"__attribute__((visibility(\\\"default\\\")))\" "
-export CFLAGS
+./autogen.sh
 
 %reconfigure \
-    --disable-testmode \
-    --disable-dump \
-    --enable-dyn \
-    --disable-iommap \
-    --disable-gtk \
-%if %{use_drm}
-CFLAGS="${CFLAGS} -D_MM_PROJECT_FLOATER -DEXPORT_API=\"__attribute__((visibility(\\\"default\\\")))\" " LDFLAGS="${LDFLAGS}" ./configure  --disable-testmode --disable-dump --enable-dyn --disable-iommap --prefix=/usr --enable-drm --disable-gtk
-%else
-CFLAGS="${CFLAGS} -D_MM_PROJECT_FLOATER -DEXPORT_API=\"__attribute__((visibility(\\\"default\\\")))\" " LDFLAGS="${LDFLAGS}" ./configure --disable-testmode --disable-dump --enable-dyn --disable-iommap --prefix=/usr --disable-drm --disable-gtk
-%endif
+CFLAGS="${CFLAGS} -D_MM_PROJECT_FLOATER -DEXPORT_API=\"__attribute__((visibility(\\\"default\\\")))\" " LDFLAGS="${LDFLAGS}" ./configure --disable-testmode --disable-dump --enable-dyn --disable-iommap --prefix=/usr --disable-gtk
 
 %__make
 
index c423a0c..9b71a5a 100755 (executable)
@@ -30,11 +30,5 @@ libmmfile_utils_la_LIBADD = $(MMCOMMON_LIBS) \
                            $(ICU_LIBS) \
                            $(VCONF_LIBS)
 
-if USE_DRM
-libmmfile_utils_la_SOURCES += mm_file_util_io_drm.c
-libmmfile_utils_la_CFLAGS += $(DRMCLIENT_CFLAGS) $(DRMTRUSTED_CFLAGS) -DDRM_SUPPORT
-libmmfile_utils_la_LIBADD += $(DRMCLIENT_LIBS) $(DRMTRUSTED_LIBS)
-endif
-
 libmmfile_utils_la_CFLAGS += $(DLOG_CFLAGS)
 libmmfile_utils_la_LIBADD += $(DLOG_LIBS)
index edc1010..f1636ce 100755 (executable)
@@ -106,8 +106,6 @@ int MMFileFormatIsValidMPEGAUDIO(MMFileIOHandle *pFileIO, const char *mmfileuri)
 #define MMFILE_URI_MAX_LEN     512
 #define MMFILE_FILE_URI        "file://"
 #define MMFILE_FILE_URI_LEN    7
-#define MMFILE_DRM_URI         "drm://"
-#define MMFILE_DRM_URI_LEN     6
 #define MMFILE_MEM_URI         "mem://"
 #define MMFILE_MEM_URI_LEN     6
 #define MMFILE_MMAP_URI        "mmap://"
@@ -503,9 +501,6 @@ typedef struct {
        AvTagVer2ImageInfo                      imageInfo;      /*Album art   attached feature */
        AvTagVer2AdditionalData         tagV2Info; /*Needed data for ID3 tag parsing */
 
-/* for DRM 2.0 */
-       char                    *pTransactionID;
-
 /*for ID3V1 Tag */
        unsigned char   genre;
 
@@ -552,8 +547,6 @@ inline static void mm_file_free_AvFileContentInfo(AvFileContentInfo *pInfo)
                if (pInfo->imageInfo.pImageBuf) mmfile_free(pInfo->imageInfo.pImageBuf);
                if (pInfo->imageInfo.imageDescription) mmfile_free(pInfo->imageInfo.imageDescription);
                if (strlen(pInfo->imageInfo.imageMIMEType) > 0) memset(pInfo->imageInfo.imageMIMEType, 0, MP3_ID3_IMAGE_MIME_TYPE_MAX_LENGTH);
-               if (pInfo->pTransactionID) mmfile_free(pInfo->pTransactionID);
-
        }
 }
 
index 2b3e6ad..60722ae 100755 (executable)
@@ -301,16 +301,10 @@ int mmfile_register_io_all()
        initialized = 1;
 
        extern MMFileIOFunc mmfile_file_io_handler;
-#ifdef DRM_SUPPORT
-       extern MMFileIOFunc mmfile_drm_io_handler;
-#endif
        extern MMFileIOFunc mmfile_mem_io_handler;
        extern MMFileIOFunc mmfile_mmap_io_handler;
 
        mmfile_register_io_func(&mmfile_file_io_handler);
-#ifdef DRM_SUPPORT
-       mmfile_register_io_func(&mmfile_drm_io_handler);
-#endif
        mmfile_register_io_func(&mmfile_mem_io_handler);
        mmfile_register_io_func(&mmfile_mmap_io_handler);
 
index 1e82db4..b0cb122 100755 (executable)
@@ -2941,6 +2941,12 @@ bool mm_file_id3tag_parse_v224(AvFileContentInfo *pInfo, unsigned char *buffer)
                                if (encodingOffSet < purelyFramelen) {
                                        realCpyFrameNum = purelyFramelen - encodingOffSet;
                                        pExtContent = mmfile_malloc(realCpyFrameNum + 3);
+
+                                       if (pExtContent == NULL) {
+                                               debug_error("out of memoryu for id3tag parse\n");
+                                               continue;
+                                       }
+
                                        memset(pExtContent, '\0', realCpyFrameNum + 3);
 
                                        if (textEncodingType != AV_ID3V2_UTF16 && textEncodingType != AV_ID3V2_UTF16_BE) {
index 1004406..3248cd3 100755 (executable)
@@ -65,12 +65,11 @@ int MMFileFormatIsValidMP3(MMFileIOHandle *pFileIO, const char *mmfileuri, int f
        unsigned char buffer[_MMFILE_MP3_BUFFER_LENGTH] = {0, };
        long long  filesize = 0;
        unsigned int sizeID3 = 0;
-       unsigned int readed = 0;
+       int readed = 0, i = 0, j = 0;;
        unsigned int startoffset = 0;
-       unsigned int endoffset = 0;
-       unsigned int frameSize = 0;
-       unsigned int i = 0, j = 0;
-       int ret = 0, count, offset;
+       int endoffset = 0;
+       int frameSize = 0;
+       int ret = 0, count = 0, offset = 0;
 
        if (fp == NULL) {
                ret = mmfile_open(&fp, mmfileuri, MMFILE_RDONLY);
@@ -189,12 +188,12 @@ int MMFileFormatIsValidAAC(MMFileIOHandle *pFileIO, const char *mmfileuri)
        unsigned char buffer[_MMFILE_AAC_BUFFER_LENGTH] = {0, };
        unsigned int sizeID3 = 0;
        long long    filesize = 0;
-       unsigned int readed = 0;
-       unsigned int startoffset = 0;
-       unsigned int endoffset = 0;
-       unsigned int i = 0, j = 0;
+       int readed = 0, i = 0, j = 0;
+       int startoffset = 0;
+       int endoffset = 0;
        int ret = 0;
-       unsigned int sync, frameSize;
+       unsigned int sync = 0;
+       int frameSize = 0;
 
        if (fp == NULL) {
                ret = mmfile_open(&fp, mmfileuri, MMFILE_RDONLY);
@@ -321,12 +320,11 @@ int MMFileFormatIsValidOGG(MMFileIOHandle *pFileIO, const char *mmfileuri)
        unsigned char buffer[_MMFILE_OGG_BUFFER_LENGTH] = {0, };
        unsigned int sizeID3 = 0;
        long long    filesize = 0;
-       unsigned int readed = 0;
-       unsigned int startoffset = 0;
-       unsigned int endoffset = 0;
-       unsigned int i = 0, j = 0;
+       int readed = 0, i = 0, j = 0;
+       int startoffset = 0;
+       int endoffset = 0;
        int ret = 0;
-       unsigned int check_limit = 0;
+       int check_limit = 0;
 
        if (fp == NULL) {
                ret = mmfile_open(&fp, mmfileuri, MMFILE_RDONLY);
@@ -412,12 +410,11 @@ int MMFileFormatIsValidMID(MMFileIOHandle *pFileIO, const char *mmfileuri)
        MMFileIOHandle *fp = pFileIO;
        unsigned char buffer[_MMFILE_MIDI_BUFFER_LENGTH] = {0, };
        long long    filesize = 0;
-       unsigned int readed = 0;
-       unsigned int startoffset = 0;
-       unsigned int endoffset = 0;
-       unsigned int i = 0, j = 0;
+       int readed = 0, i = 0, j = 0;
+       int startoffset = 0;
+       int endoffset = 0;
        int ret = 0;
-       unsigned int check_limit = 0;
+       int check_limit = 0;
 
        if (fp == NULL) {
                ret = mmfile_open(&fp, mmfileuri, MMFILE_RDONLY);
@@ -1598,8 +1595,8 @@ static int _MMFileIsMPEGAUDIOHeader(void *header)
 {
        unsigned char *s = header;
 
-       if ((*(s + 0) & 0xFF) &&
-           (*(s + 1) & 0xFE)) {        /* mpeg audio layer 1 header */
+       if ((*(s + 0) == 0xFF) &&
+           (*(s + 1) == 0xFE)) {       /* mpeg audio layer 1 header */
                return 1;
        }