}
}
else
+ if((pInfo->mpegVersion == AV_MPEG_VER_25) && (pInfo->channels == 1))
+ {
+ if (buf[13] =='X') {
+ if( buf[14] != 'i' ) return false;
+ if( buf[15] != 'n' ) return false;
+ if( buf[16] != 'g' ) return false;
+ } else if (buf[13] == 'I') {
+ if( buf[14] != 'n' ) return false;
+ if( buf[15] != 'f' ) return false;
+ if( buf[16] != 'o' ) return false;
+ } else {
+ return false;
+ }
+ }
+ else
{
if (buf[21] =='X') {
if( buf[22] != 'i' ) return false;
return false;
}
- pInfo->sampleRate = data.sampRate;
+ /* Temporary fix code for MPEG 2.5 */
+ if (pInfo->mpegVersion != AV_MPEG_VER_25) {
+ pInfo->sampleRate = data.sampRate;
+ }
pInfo->datafileLen = data.bytes;
pInfo->frameNum = data.frames;
pInfo->frameSize = (int) ( (float) data.bytes / (float) data.frames ) ;
frameSamples = MPEG_2_SIZE_LAYER_2_3;
}
+ debug_msg("frameSamples : %d, tempduration : %ld", frameSamples, tempduration);
+
if(tempduration < (unsigned long long)pInfo->sampleRate)
{
tempduration = (tempduration*frameSamples*10)/pInfo->sampleRate;
//pExtContent[tmp+1] value should't have encoding value
if(pExtContent[tmp] == 0x00 || pExtContent[tmp] == 0xFF|| pExtContent[tmp] == 0xFE)
{
+ if (pExtContent[tmp] == 0x00) {
+ realCpyFrameNum -= 2;
+ tmp = 5;
+ }
+
if((IS_ENCODEDBY_UTF16(pExtContent+tmp) || IS_ENCODEDBY_UTF16_R(pExtContent+tmp)) && realCpyFrameNum > 2)
{
while((NEWLINE_OF_UTF16(pExtContent + tmp) || NEWLINE_OF_UTF16_R(pExtContent + tmp))&& realCpyFrameNum > 4)