335 for( TInt i=0; i<count; ++i ) |
335 for( TInt i=0; i<count; ++i ) |
336 { |
336 { |
337 TMetaDataFieldId fieldType; |
337 TMetaDataFieldId fieldType; |
338 |
338 |
339 HBufC* value = NULL; |
339 HBufC* value = NULL; |
340 TRAPD( err, value = metaCont.At( i, fieldType ).AllocL() ); |
340 metaCont.FieldIdAt( i, fieldType ); // get the field type |
341 CleanupStack::PushL(value); |
341 |
342 if ( KErrNone != err ) |
342 // get the value, except for album art |
343 { |
343 if ( fieldType != EMetaDataJpeg ) |
344 CleanupStack::PopAndDestroy(value); |
344 { |
345 continue; |
345 TRAPD( err, value = metaCont.At( i, fieldType ).AllocL() ); |
346 } |
346 CleanupStack::PushL( value ); |
347 |
347 if ( KErrNone != err ) |
|
348 { |
|
349 MPX_DEBUG2("CMPXMetadataExtractor::SetMediaPropertiesL - error = %i", err); |
|
350 CleanupStack::PopAndDestroy( value ); |
|
351 continue; |
|
352 } |
|
353 } |
|
354 |
348 switch( fieldType ) |
355 switch( fieldType ) |
349 { |
356 { |
350 case EMetaDataSongTitle: |
357 case EMetaDataSongTitle: |
351 { |
358 { |
352 TPtr valptr = value->Des(); |
359 TPtr valptr = value->Des(); |
443 } |
450 } |
444 case EMetaDataJpeg: |
451 case EMetaDataJpeg: |
445 { |
452 { |
446 #ifdef RD_MPX_TNM_INTEGRATION |
453 #ifdef RD_MPX_TNM_INTEGRATION |
447 MPX_PERF_START(CMPXMetadataExtractor_SetMediaPropertiesL_JPEG_TNM); |
454 MPX_PERF_START(CMPXMetadataExtractor_SetMediaPropertiesL_JPEG_TNM); |
448 HBufC8* value8 = MPXUser::Alloc8L(metaCont.At( i, fieldType )); |
455 TPtrC8 ptr8 = metaCont.Field8( EMetaDataJpeg ); |
|
456 HBufC8* value8; |
|
457 TRAPD( err, value8 = ptr8.AllocL() ); |
|
458 if ( KErrNone != err ) |
|
459 { |
|
460 MPX_DEBUG2("CMPXMetadataExtractor::SetMediaPropertiesL - error jpeg = %i", err); |
|
461 User::Leave( err ); |
|
462 } |
449 CleanupStack::PushL( value8 ); |
463 CleanupStack::PushL( value8 ); |
450 AddMediaAlbumArtL( aMedia, aFile, *value8 ); |
464 AddMediaAlbumArtL( aMedia, aFile, *value8 ); |
451 CleanupStack::Pop(value8); |
465 CleanupStack::Pop( value8 ); |
452 MPX_PERF_END(CMPXMetadataExtractor_SetMediaPropertiesL_JPEG_TNM); |
466 MPX_PERF_END(CMPXMetadataExtractor_SetMediaPropertiesL_JPEG_TNM); |
453 #else //RD_MPX_TNM_INTEGRATION |
467 #else //RD_MPX_TNM_INTEGRATION |
454 aMedia.SetTextValueL( KMPXMediaMusicAlbumArtFileName, |
468 aMedia.SetTextValueL( KMPXMediaMusicAlbumArtFileName, |
455 aFile ); |
469 aFile ); |
456 #endif //RD_MPX_TNM_INTEGRATION |
470 #endif //RD_MPX_TNM_INTEGRATION |
759 MPX_FUNC("CMPXMetadataExtractor::GetMediaAlbumArtL()"); |
776 MPX_FUNC("CMPXMetadataExtractor::GetMediaAlbumArtL()"); |
760 TInt err = KErrNone; |
777 TInt err = KErrNone; |
761 // get metadata container. |
778 // get metadata container. |
762 const CMetaDataFieldContainer& metaCont = iMetadataUtility->MetaDataFieldsL(); |
779 const CMetaDataFieldContainer& metaCont = iMetadataUtility->MetaDataFieldsL(); |
763 |
780 |
764 TPtrC data = metaCont.Field( EMetaDataJpeg ); |
781 TPtrC8 data8 = metaCont.Field8( EMetaDataJpeg ); |
765 |
782 |
766 if ( data.Length() ) |
783 if ( data8.Length() ) |
767 { |
784 { |
768 MPX_DEBUG1("CMPXMetadataExtractor::GetMediaAlbumArtL(): Album art exist."); |
785 MPX_DEBUG1("CMPXMetadataExtractor::GetMediaAlbumArtL(): Album art exist."); |
|
786 |
769 #ifdef RD_MPX_TNM_INTEGRATION |
787 #ifdef RD_MPX_TNM_INTEGRATION |
770 HBufC8* value8 = MPXUser::Alloc8L( data ); |
788 HBufC8* value8; |
|
789 TRAPD( err, value8 = data8.AllocL() ); |
|
790 if ( KErrNone != err ) |
|
791 { |
|
792 MPX_DEBUG2("CMPXMetadataExtractor::GetMediaAlbumArtL - error jpeg = %i", err); |
|
793 User::Leave( err ); |
|
794 } |
771 CleanupStack::PushL( value8 ); |
795 CleanupStack::PushL( value8 ); |
772 AddMediaAlbumArtL( aMedia, aFile, *value8 ); |
796 AddMediaAlbumArtL( aMedia, aFile, *value8 ); |
773 CleanupStack::Pop(value8); |
797 CleanupStack::Pop( value8 ); |
774 #else // RD_MPX_TNM_INTEGRATION |
798 #else // RD_MPX_TNM_INTEGRATION |
775 aMedia.SetTextValueL( KMPXMediaMusicAlbumArtFileName, aFile ); |
799 aMedia.SetTextValueL( KMPXMediaMusicAlbumArtFileName, aFile ); |
776 #endif // RD_MPX_TNM_INTEGRATION |
800 #endif // RD_MPX_TNM_INTEGRATION |
777 } |
801 } |
778 else |
802 else |