From: minje.ahn Date: Thu, 11 Aug 2022 02:36:22 +0000 (+0900) Subject: Remove unnecessary parameters X-Git-Tag: accepted/tizen/unified/20220816.130750^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F30%2F279530%2F2;p=platform%2Fcore%2Fmultimedia%2Flibmm-fileinfo.git Remove unnecessary parameters This package only needs metadata including duration. Therefore, it is modified to ignore unnecessary information. Change-Id: Ic84455b836f145e0c0c20bbb6fbdd21d331715ce Signed-off-by: minje.ahn --- diff --git a/formats/ffmpeg/mm_file_format_midi.c b/formats/ffmpeg/mm_file_format_midi.c index 917116d..6b25ad6 100755 --- a/formats/ffmpeg/mm_file_format_midi.c +++ b/formats/ffmpeg/mm_file_format_midi.c @@ -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; diff --git a/packaging/libmm-fileinfo.spec b/packaging/libmm-fileinfo.spec index 91b1745..ba10999 100644 --- a/packaging/libmm-fileinfo.spec +++ b/packaging/libmm-fileinfo.spec @@ -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