mmappcomponents/harvester/metadataextractor/src/mpxmetadataextractor.cpp
branchRCL_3
changeset 9 bee149131e4b
parent 0 a2952bb97e68
child 17 780c925249c1
--- a/mmappcomponents/harvester/metadataextractor/src/mpxmetadataextractor.cpp	Tue Feb 02 00:27:58 2010 +0200
+++ b/mmappcomponents/harvester/metadataextractor/src/mpxmetadataextractor.cpp	Fri Feb 19 23:18:32 2010 +0200
@@ -337,14 +337,21 @@
         TMetaDataFieldId fieldType;
 
         HBufC* value = NULL;
-        TRAPD( err, value = metaCont.At( i, fieldType ).AllocL() );
-        CleanupStack::PushL(value);
-        if ( KErrNone != err )
-        {
-            CleanupStack::PopAndDestroy(value);
-            continue;
-        }
-
+        metaCont.FieldIdAt( i, fieldType );  // get the field type
+        
+        // get the value, except for album art
+        if ( fieldType != EMetaDataJpeg )
+           {
+           TRAPD( err, value = metaCont.At( i, fieldType ).AllocL() );
+           CleanupStack::PushL( value );
+           if ( KErrNone != err )
+               {
+               MPX_DEBUG2("CMPXMetadataExtractor::SetMediaPropertiesL - error = %i", err);           
+               CleanupStack::PopAndDestroy( value );
+               continue;
+               }     
+           }
+        
         switch( fieldType )
             {
             case EMetaDataSongTitle:
@@ -445,10 +452,17 @@
                 {
 #ifdef RD_MPX_TNM_INTEGRATION
                 MPX_PERF_START(CMPXMetadataExtractor_SetMediaPropertiesL_JPEG_TNM);
-                HBufC8* value8 = MPXUser::Alloc8L(metaCont.At( i, fieldType ));
+                TPtrC8 ptr8 = metaCont.Field8( EMetaDataJpeg );
+                HBufC8* value8; 
+                TRAPD( err, value8 = ptr8.AllocL() );
+                if ( KErrNone != err )
+                    {
+                    MPX_DEBUG2("CMPXMetadataExtractor::SetMediaPropertiesL - error jpeg = %i", err);           
+                    User::Leave( err );  
+                    }                 
                 CleanupStack::PushL( value8 );
                 AddMediaAlbumArtL( aMedia, aFile, *value8 );
-                CleanupStack::Pop(value8);
+                CleanupStack::Pop( value8 );
                 MPX_PERF_END(CMPXMetadataExtractor_SetMediaPropertiesL_JPEG_TNM);
 #else //RD_MPX_TNM_INTEGRATION
                 aMedia.SetTextValueL( KMPXMediaMusicAlbumArtFileName,
@@ -478,7 +492,10 @@
                 break;
                 }
             }
-        CleanupStack::PopAndDestroy(value);
+        if (fieldType != EMetaDataJpeg)
+            {
+            CleanupStack::PopAndDestroy( value );       
+            }
         }
 
     MPX_DEBUG1("CMPXMetadataExtractor::SetMediaPropertiesL --->" );
@@ -761,16 +778,23 @@
     // get metadata container.
     const CMetaDataFieldContainer& metaCont = iMetadataUtility->MetaDataFieldsL();
 
-    TPtrC data = metaCont.Field( EMetaDataJpeg );
+    TPtrC8 data8 = metaCont.Field8( EMetaDataJpeg );
     
-    if ( data.Length() )
+    if ( data8.Length() )
         {
         MPX_DEBUG1("CMPXMetadataExtractor::GetMediaAlbumArtL(): Album art exist.");
+
 #ifdef RD_MPX_TNM_INTEGRATION
-        HBufC8* value8 = MPXUser::Alloc8L( data );       
+        HBufC8* value8; 
+        TRAPD( err, value8 = data8.AllocL() );
+        if ( KErrNone != err )
+            {
+            MPX_DEBUG2("CMPXMetadataExtractor::GetMediaAlbumArtL - error jpeg = %i", err);           
+            User::Leave( err );  
+            }              
         CleanupStack::PushL( value8 );
         AddMediaAlbumArtL( aMedia, aFile, *value8 );
-        CleanupStack::Pop(value8);
+        CleanupStack::Pop( value8 );
 #else // RD_MPX_TNM_INTEGRATION
         aMedia.SetTextValueL( KMPXMediaMusicAlbumArtFileName, aFile );
 #endif // RD_MPX_TNM_INTEGRATION