diff -r 63223d4fd956 -r 666f9a5a90a9 mmappcomponents/harvester/metadataextractor/src/mpxmetadataextractor.cpp --- a/mmappcomponents/harvester/metadataextractor/src/mpxmetadataextractor.cpp Wed Sep 01 12:23:05 2010 +0100 +++ b/mmappcomponents/harvester/metadataextractor/src/mpxmetadataextractor.cpp Tue Sep 14 22:17:30 2010 +0300 @@ -12,7 +12,7 @@ * Contributors: * * Description: Extracts metadata from a file -* Version : %version: da1mmcf#38.1.4.2.6.1.15 % << Don't touch! Updated by Synergy at check-out. +* Version : %version: da1mmcf#38.1.4.2.6.1.17 % << Don't touch! Updated by Synergy at check-out. * */ @@ -254,6 +254,10 @@ // URL aMediaProp.SetTextValueL( KMPXMediaMusicURL, KNullDesC ); + // AlbumArtist + aMediaProp.SetTextValueL( KMPXMediaMusicAlbumArtist, + KNullDesC ); + } // --------------------------------------------------------------------------- @@ -476,6 +480,18 @@ } break; } + case EMetaDataAlbumArtist: + { + TPtr valptr = value->Des(); + valptr.Trim(); + TInt vallen = value->Length(); + if (vallen>0) + { + FindAndReplaceForbiddenChars(valptr, vallen); + iMedia->SetTextValueL(KMPXMediaMusicAlbumArtist, *value); + } + break; + } case EMetaDataOriginalArtist: // fall through case EMetaDataVendor: // fall through case EMetaDataRating: // fall through @@ -926,7 +942,20 @@ { TDataType dataType; TUid dummyUid(KNullUid); - iAppArc.AppForDocument(iFileName, dummyUid, dataType); + // File handle based mime type recogniton required , because AppArc does + // not have All Files capa required for files in private folders + TDataRecognitionResult result; + RFs fs; + RFile rFile; + User::LeaveIfError(fs.Connect()); + CleanupClosePushL(fs); + User::LeaveIfError(fs.ShareProtected()); + User::LeaveIfError(rFile.Open(fs, iFileName, EFileShareReadersOrWriters)); + CleanupClosePushL(rFile); + User::LeaveIfError(iAppArc.RecognizeData(rFile, result)); + CleanupStack::PopAndDestroy(&rFile); + CleanupStack::PopAndDestroy(&fs); + dataType = result.iDataType; iMedia->SetTextValueL( KMPXMediaGeneralMimeType,dataType.Des() ); }