diff -r f4fd77a452f2 -r 3b098142db83 mmappcomponents/harvester/metadataextractor/src/mpxmetadataextractor.cpp --- a/mmappcomponents/harvester/metadataextractor/src/mpxmetadataextractor.cpp Thu Sep 02 20:56:29 2010 +0300 +++ b/mmappcomponents/harvester/metadataextractor/src/mpxmetadataextractor.cpp Fri Sep 17 08:33:08 2010 +0300 @@ -12,7 +12,7 @@ * Contributors: * * Description: Extracts metadata from a file -* Version : %version: da1mmcf#38.1.4.2.6.1.5.3.8 % << Don't touch! Updated by Synergy at check-out. +* Version : %version: da1mmcf#38.1.4.2.6.1.5.3.9 % << Don't touch! Updated by Synergy at check-out. * */ @@ -460,12 +460,12 @@ const TDesC& mimeType = iMedia->ValueText( KMPXMediaGeneralMimeType ); MPX_DEBUG2("CMPXMetadataExtractor::SetMediaPropertiesL, mimeType = %S", &mimeType); - // Verify if WMA, get the duration + // Verify if WMA, get the bit rate if( mimeType.Compare(KWmaMimeType) == 0 || mimeType.Compare(KWmaCafMimeType) == 0 ) { MPX_DEBUG1("CMPXMetadataExtractor::SetMediaPropertiesL- WMA"); - // Perform the duration conversion + // Perform the bit rate conversion TLex lexer( *value ); TInt32 bitRate ( 0 ); lexer.Val( bitRate ); @@ -473,7 +473,7 @@ iMedia->SetTObjectValueL( KMPXMediaAudioBitrate, bitRate ); - MPX_DEBUG2("CMPXMetadataExtractor::SetMediaPropertiesL- duration = %i", bitRate); + MPX_DEBUG2("CMPXMetadataExtractor::SetMediaPropertiesL- bit rate = %i", bitRate); } break; } @@ -549,13 +549,17 @@ MPX_DEBUG2("CMPXMetadataExtractor::SetExtMediaPropertiesL, file info util error %i", err2); if( KErrNone == err2 ) { + // Get duration prior getting sample and bit rates + // MMF blocks for accumulating audio data to calculate duration + // but MMF does not block for calculating sample rate or bit rate + TInt64 duration = (TInt64) iFileInfoUtil->Duration().Int64() / 1000; // ms + iMedia->SetTObjectValueL( KMPXMediaGeneralDuration, + duration ); + iMedia->SetTObjectValueL( KMPXMediaAudioBitrate, iFileInfoUtil->BitRate() ); iMedia->SetTObjectValueL( KMPXMediaAudioSamplerate, iFileInfoUtil->SampleRate() ); - TInt64 duration = (TInt64) iFileInfoUtil->Duration().Int64() / 1000; // ms - iMedia->SetTObjectValueL( KMPXMediaGeneralDuration, - duration ); MPX_DEBUG2("CMPXMetadataExtractor::SetExtMediaPropertiesL -- duration %i", duration); }