mmserv/metadatautility/Src/MetaDataParserID3v22.cpp
branchRCL_3
changeset 11 03a293c97d5c
parent 0 71ca22bcf22a
child 28 ebf79c79991a
equal deleted inserted replaced
10:3d8c721bf319 11:03a293c97d5c
   617 	TInt encoding = (TInt) (des.Left(1))[0];
   617 	TInt encoding = (TInt) (des.Left(1))[0];
   618 	TPtrC8 info = StripTrailingZeroes( des.Mid(1), encoding ); // $00
   618 	TPtrC8 info = StripTrailingZeroes( des.Mid(1), encoding ); // $00
   619 	TInt length = info.Length();
   619 	TInt length = info.Length();
   620 	if ( length )
   620 	if ( length )
   621 		{
   621 		{
   622 		TReal sec = (TReal) atoi((char*)info.Ptr()) / 1000;
   622 		HBufC* data16 = HBufC::NewLC( length );
   623 		TBuf16<10> info1;
   623 		TPtr unicode( data16->Des() );
   624 		info1.Num(sec, TRealFormat (9, 3));
   624 		if ( ConvertToUnicodeL(encoding, info, unicode) == KErrNone )
   625 		iContainer->AppendL( EMetaDataDuration, info1 );
   625 			{
       
   626 			TLex16 lex(unicode);
       
   627 			TReal milliSec = 0;
       
   628 			TBuf16<10> info1;
       
   629 			
       
   630 			lex.Val(milliSec);				
       
   631 			info1.Num(milliSec/1000, TRealFormat (9, 3));
       
   632 			iContainer->AppendL( EMetaDataDuration, info1 );
       
   633 			}
       
   634 		CleanupStack::PopAndDestroy();  // data16
       
   635 		
   626 		}
   636 		}
   627 
   637 
   628 	CleanupStack::PopAndDestroy();  // frame
   638 	CleanupStack::PopAndDestroy();  // frame
   629 	}
   639 	}
   630 
   640