Remove unnecessary parameters 30/279530/2 accepted/tizen/unified/20220816.130750 submit/tizen/20220812.021136
authorminje.ahn <minje.ahn@samsung.com>
Thu, 11 Aug 2022 02:36:22 +0000 (11:36 +0900)
committerMinje ahn <minje.ahn@samsung.com>
Thu, 11 Aug 2022 06:06:16 +0000 (06:06 +0000)
This package only needs metadata including duration.
Therefore, it is modified to ignore unnecessary information.

Change-Id: Ic84455b836f145e0c0c20bbb6fbdd21d331715ce
Signed-off-by: minje.ahn <minje.ahn@samsung.com>
formats/ffmpeg/mm_file_format_midi.c
packaging/libmm-fileinfo.spec

index 917116d..6b25ad6 100755 (executable)
@@ -59,16 +59,11 @@ enum {
 /*--------------------------------------------------------------------------*/
 /*   Types                                                                  */
 /*--------------------------------------------------------------------------*/
-typedef struct _tagMidChInfo {
-       unsigned long           dKeyCon;                                        /* 0:Melady, 1:OFF, 2:ON           */
-       unsigned long           dLedSync;                                       /* 0:OFF, 1:ON                     */
-       unsigned long           dVibSync;                                       /* 0:OFF, 1:ON                     */
-} MIDCHINFO, *PMIDCHINFO;
 
 typedef struct _tagTrack {
        unsigned long           dSmfCmd;                                        /* CMD @ now                      */
-       unsigned long           dSize;                                          /* [byte] 0 measns nothing in it. */
-       unsigned char           *pbBase;                                                /* NULL measns nothing in it.     */
+       unsigned long           dSize;                                          /* [byte] 0 means nothing in it. */
+       unsigned char           *pbBase;                                                /* NULL means nothing in it.     */
        unsigned long           dOffset;                                        /* offset byte                    */
        long                            sdTicks;                                        /*                                */
 } TRACKINFO, *PTRACKINFO;
@@ -90,9 +85,6 @@ typedef struct _tagMidInfo {
        unsigned long           dSizeCopyright;                         /*                                 */
        unsigned long           dNumOfTracks;                           /* 1..32                           */
        unsigned long           dSmfFormat;                                     /* 0..1                            */
-       unsigned long           dSetupBar;                                      /* 0:No, 1:Yes                     */
-       unsigned long           dStart;                                         /* Index after SetupBar            */
-       unsigned long           dVibNoteVoice;                          /* 0:No, 1:Yes                     */
 
        long            sdTotalTicks;                           /* Total ticks                     */
        long            sdDataEndTime;                          /* (22.10)[ms]                     */
@@ -104,10 +96,6 @@ typedef struct _tagMidInfo {
        struct _tagOrderList    *pDoneOrderList;
        struct _tagOrderList    *pBottomOrderList;
        ORDERLIST                               OrderList[MAX_SMF_TRACKS + 3];
-
-       MIDCHINFO                               ChInfo[16];                                     /*                                 */
-       unsigned long                   dValid;                                         /* 0:none, 1:Valid                 */
-       unsigned char                   bVoiceMap[NUM_OF_MAPS][128];/* 0:Empty, 1:Valid                */
 } MIDINFO, *PMIDINFO;
 
 /*---------------------------------------------------------------------------*/
@@ -339,64 +327,37 @@ static bool __AvMidGetLeastTimeTrack(unsigned long *leastTimeTrack)
        return true;
 }
 
-static long __AvGetSizeOfFileInfo(void)
+static void __AvMidInfoInit(void)
 {
-       unsigned long           dCmd;
-       unsigned long           dCmd2;
-       unsigned long           dSize;
-
-       unsigned long           dTemp;
-       unsigned long           dTime;
-       unsigned long           sdTotalTicks;
-       long            sdCurrentTime;
-       long            sdDelta;
-       PMIDCHINFO      pCh;
-       unsigned long           dCh;
-
-       unsigned long           dSetup;                 /* bit0:beat@0, bit1:tempo@0, bit2:GmOn@0, bit3:tempo@1 */
-       PTRACKINFO      pMt;
-       unsigned long           sdTr;
-
-       static unsigned long    dBank[16];
-       static unsigned long    dCurrBank[16];
-
-       long            sdNonConductorTime;
-       long            sdNonConductorTicks;
-       unsigned long           dConductorNote;
-       dSetup = 0;
-       sdTotalTicks = 0;
-       sdCurrentTime = 0;
-       sdNonConductorTime = 0x7FFFFFFF;
-       sdNonConductorTicks = 0;
-       dConductorNote = 0;
-       sdDelta = (unsigned long)(500 << 10) / gPi->dTimeResolution;    /* default=0.5sec */
-
        gPi->pbText = NULL;
        gPi->dSizeText = 0;
        gPi->pbTitle = NULL;
        gPi->dSizeTitle = 0;
        gPi->pbCopyright = NULL;
        gPi->dSizeCopyright = 0;
-       gPi->dStart = 0;
-       gPi->dSetupBar = 0;
-       gPi->dVibNoteVoice = 0;
+}
 
-       for (dCh = 0; dCh < NUM_OF_MAPS; dCh++) {
-               for (dTemp = 0; dTemp < 128; dTemp++) {
-                       gPi->bVoiceMap[dCh][dTemp] = 0;
-               }
-       }
-       gPi->bVoiceMap[MELODY_MAP][0] = 1;                                              /* GM Default Piano */
-
-       for (dCh = 0; dCh < 16; dCh++) {
-               dBank[dCh] = 0;
-               dCurrBank[dCh] = 0;
-               pCh = &gPi->ChInfo[dCh];
-               pCh->dKeyCon = 0;
-               pCh->dVibSync = 0;
-               pCh->dLedSync = 0;
-       }
+static long __AvGetSizeOfFileInfo(void)
+{
+       unsigned long dCmd;
+       unsigned long dCmd2;
+       unsigned long dSize;
+
+       unsigned long dTemp;
+       unsigned long dTime;
+       unsigned long sdTotalTicks = 0;
+       long sdCurrentTime = 0;
+       long sdDelta = (unsigned long)(500 << 10) / gPi->dTimeResolution;       /* default=0.5sec */
+
+       unsigned long dSetup = 0;       /* bit0:beat@0, bit1:tempo@0, bit2:GmOn@0, bit3:tempo@1 */
+       PTRACKINFO pMt;
+       unsigned long sdTr;
+
+       long sdNonConductorTime = 0x7FFFFFFF;
+       long sdNonConductorTicks = 0;
+       unsigned long dConductorNote = 0;
 
+       __AvMidInfoInit();
        __AvMidResetTimeInfo();
 
        if (gPi->dSmfFormat != 0)
@@ -416,15 +377,11 @@ static long __AvGetSizeOfFileInfo(void)
                                break;
                }
 
-               if (sdTr >= MAX_SMF_TRACKS) {
-                       debug_error(DEBUG, "__AvGetSizeOfFileInfo:  Num of tracks is over MAX track number. !!\n");
-                       return -1;
-               }
+               mm_file_retvm_if_fails(DEBUG, sdTr < MAX_SMF_TRACKS, -1);
 
                pMt = &(gPi->TrackInfo[sdTr]);
 
-               dTime = pMt->sdTicks - sdTotalTicks;
-               sdCurrentTime += dTime * sdDelta;
+               sdCurrentTime += (pMt->sdTicks - sdTotalTicks) * sdDelta;
                sdTotalTicks = pMt->sdTicks;
                if ((sdCurrentTime < 0) || (sdTotalTicks > 0x07FFFFFFL))
                        return -1;
@@ -442,78 +399,21 @@ static long __AvGetSizeOfFileInfo(void)
                                pMt->dSmfCmd = dCmd;
                        }
 
-                       dCh = dCmd & 0x0f;
-
                        switch (dCmd & 0xf0) {
                        case 0x90:      /* NoteOn */
                                /* Conductor Track Note Check */
                                if (sdTr == 0)
                                        dConductorNote |= 1;
-                               switch (dCurrBank[dCh] >> 8) {
-                               case 0x79:
-                                       /* Melody */
-                                       break;
 
-                               case 0x78:
-                                       /* Drum */
-                                       gPi->bVoiceMap[DRUM_MAP][pMt->pbBase[pMt->dOffset] & 0x7F] = 1;
-                                       break;
-
-                               default:
-                                       if (dCh == 9) {
-                                               /* Unknown: default GM Drum */
-                                               gPi->bVoiceMap[DRUM_MAP][pMt->pbBase[pMt->dOffset] & 0x7F] = 1;
-                                       }
-                               }
                                pMt->dOffset += 2;
                                break;
 
                        case 0xC0:      /* Program change */
-                               switch (dBank[dCh] >> 8) {
-                               case 0x79:
-                                       if (dBank[dCh] != 0x7906) {
-                                               /* Melody */
-                                               gPi->bVoiceMap[MELODY_MAP][pMt->pbBase[pMt->dOffset] & 0x7F] = 1;
-                                       } else {
-                                               /* Vibration Note */
-                                               gPi->dVibNoteVoice = 1;
-                                       }
-                                       break;
-
-                               case 0x78:
-                                       /* Drum */
-                                       break;
-
-                               default:
-                                       /* default GM Melody */
-                                       if (dCh != 9) {
-                                               gPi->bVoiceMap[MELODY_MAP][pMt->pbBase[pMt->dOffset] & 0x7F] = 1;
-                                       }
-                               }
-
-                               dCurrBank[dCh] = dBank[dCh];
-                               pMt->dOffset++;
-                               break;
-
+                               /* Fall through */
                        case 0xD0:      /* Channel pressure */
                                pMt->dOffset++;
                                break;
 
-                       case 0xB0:      /* Control Change */
-                               switch (pMt->pbBase[pMt->dOffset]) {
-                               case 0x00:      /* Bank select(MSB) */
-                                       dBank[dCh] = (dBank[dCh] & 0x00FF) | (pMt->pbBase[pMt->dOffset + 1] << 8);
-                                       break;
-
-                               case 0x20:      /* Bank select (LSB) */
-                                       dBank[dCh] = (dBank[dCh] & 0xFF00) | pMt->pbBase[pMt->dOffset + 1];
-                                       break;
-                               default:
-                                       break;
-                               }
-                               pMt->dOffset += 2;
-                               break;
-
                        default:
                                pMt->dOffset += 2;
                                break;
@@ -521,6 +421,7 @@ static long __AvGetSizeOfFileInfo(void)
                } else {
                        switch (dCmd) {
                        case 0xF0:                      /* SysEx */
+                               /* Fall through */
                        case 0xF7:                      /* SysEx */
                                pMt->dSmfCmd = 0;
                                dSize = 0;
@@ -538,30 +439,13 @@ static long __AvGetSizeOfFileInfo(void)
                                        if (sdTotalTicks == 0) {
                                                dSetup |= 0x04;
                                        }
-                               } else {
-                                       if (gPi->dSetupBar == 0) {
-                                               if ((dSize == 22) &&
-                                                       (pMt->pbBase[pMt->dOffset] == 0x43) &&
-                                                       (pMt->pbBase[pMt->dOffset + 1] == 0x79) &&
-                                                       (pMt->pbBase[pMt->dOffset + 2] == 0x06) &&
-                                                       (pMt->pbBase[pMt->dOffset + 3] == 0x7C) &&
-                                                       (pMt->pbBase[pMt->dOffset + 4] == 0x02)) {
-                                                       /* Channel status */
-                                                       for (dCh = 0; dCh < 16; dCh++) {
-                                                               pCh = &gPi->ChInfo[dCh];
-                                                               dTemp = pMt->pbBase[pMt->dOffset + 5 + dCh];
-                                                               pCh->dKeyCon = (dTemp >> 2) & 0x03;
-                                                               pCh->dVibSync = (dTemp >> 1) & 0x01;
-                                                               pCh->dLedSync = dTemp & 0x01;
-                                                       }
-                                               }
-                                       }
                                }
 
                                pMt->dOffset += dSize;
                                break;
 
                        case 0xF1:                      /* System Msg */
+                               /* Fall through */
                        case 0xF3:                      /* System Msg */
                                pMt->dOffset++;
                                break;
@@ -607,12 +491,15 @@ static long __AvGetSizeOfFileInfo(void)
                                case 0x51:              /* Set Tempo */
                                        switch (dSize) {
                                        case 3:
+                                               /* Fall through */
                                        case 4:
                                                dTime = ((unsigned long)pMt->pbBase[pMt->dOffset] << 16) +
                                                                ((unsigned long)pMt->pbBase[pMt->dOffset + 1] << 8) +
                                                                (unsigned long)pMt->pbBase[pMt->dOffset + 2];
-                                               if ((sdTotalTicks == 0) && (dTime == 250000)) dSetup |= 0x02;
-                                               if (sdTotalTicks == (unsigned long)gPi->dTimeResolution) dSetup |= 0x08;
+                                               if ((sdTotalTicks == 0) && (dTime == 250000))
+                                                       dSetup |= 0x02;
+                                               if (sdTotalTicks == (unsigned long)gPi->dTimeResolution)
+                                                       dSetup |= 0x08;
 
                                                sdDelta = (unsigned long)(dTime / (gPi->dTimeResolution > 0 ? gPi->dTimeResolution : 1));
                                                break;
@@ -642,8 +529,6 @@ static long __AvGetSizeOfFileInfo(void)
                if (dSetup == 0x0F) {
                        dSetup |= 0x10;
                        sdCurrentTime = 0;
-                       gPi->dSetupBar = 1;
-                       gPi->dStart = gPi->TrackInfo[0].dOffset;
                }
        }
 
@@ -655,14 +540,6 @@ static long __AvGetSizeOfFileInfo(void)
                gPi->sdDataEndTime = sdNonConductorTime;
        }
 
-       if (gPi->dSetupBar == 0) {
-               for (dCh = 0; dCh < 16; dCh++) {
-                       pCh = &gPi->ChInfo[dCh];
-                       pCh->dKeyCon = 0;
-                       pCh->dVibSync = 0;
-                       pCh->dLedSync = 0;
-               }
-       }
        if ((gPi->sdDataEndTime >> 10) <= MINIMUM_LENGTH)
                return -1;
 
index 91b1745..ba10999 100644 (file)
@@ -1,6 +1,6 @@
 Name:      libmm-fileinfo
 Summary:    Media Fileinfo
-Version:    1.0.14
+Version:    1.0.15
 Release:    0
 Group:      System/Libraries
 License:    Apache-2.0