mmserv/metadatautility/Src/MetaDataParserID3v24.cpp
changeset 22 128eb6a32b84
parent 0 71ca22bcf22a
child 28 ebf79c79991a
equal deleted inserted replaced
16:43d09473c595 22:128eb6a32b84
   671 	TInt encoding = (TInt) (des.Left(1))[0];
   671 	TInt encoding = (TInt) (des.Left(1))[0];
   672 	TPtrC8 info = StripTrailingZeroes( des.Mid(1), encoding ); // $00
   672 	TPtrC8 info = StripTrailingZeroes( des.Mid(1), encoding ); // $00
   673 	TInt length = info.Length();
   673 	TInt length = info.Length();
   674 	if ( length )
   674 	if ( length )
   675 		{
   675 		{
   676 		TReal sec = (TReal) atoi((char*)info.Ptr()) / 1000;
   676 		HBufC* data16 = HBufC::NewLC( length );
   677 		TBuf16<10> info1;
   677 		TPtr unicode( data16->Des() );
   678 		info1.Num(sec, TRealFormat (9, 3));
   678 		if ( ConvertToUnicodeL(encoding, info, unicode) == KErrNone )
   679 		iContainer->AppendL( EMetaDataDuration, info1 );
   679 			{
       
   680 			TLex16 lex(unicode);
       
   681 			TReal milliSec = 0;
       
   682 			TBuf16<10> info1;
       
   683 			
       
   684 			lex.Val(milliSec);				
       
   685 			info1.Num(milliSec/1000, TRealFormat (9, 3));
       
   686 			iContainer->AppendL( EMetaDataDuration, info1 );
       
   687 			}
       
   688 		CleanupStack::PopAndDestroy();  // data16
       
   689 		
   680 		}
   690 		}
   681 
   691 
   682 	CleanupStack::PopAndDestroy();  // frame
   692 	CleanupStack::PopAndDestroy();  // frame
   683 	}
   693 	}
   684 
   694