connectivitymodules/SeCon/services/pcd/src/sconmetadata.cpp
changeset 64 a62b67d1f67c
parent 37 74081e1a0272
--- a/connectivitymodules/SeCon/services/pcd/src/sconmetadata.cpp	Tue Sep 28 18:46:16 2010 +0530
+++ b/connectivitymodules/SeCon/services/pcd/src/sconmetadata.cpp	Tue Oct 12 17:42:13 2010 +0530
@@ -210,8 +210,8 @@
             // get field id
             fields.FieldIdAt( i , fieldId );
             LOGGER_WRITE_2( "AudioFieldId( %d ): 0x%02x", i, fieldId );
-            
-            if ( fieldId == EMetaDataJpeg )
+            TUint8 sconFieldId = AudioFieldId( fieldId );
+            if ( sconFieldId == KSconAudioJpeg )
                 {
                 TPtrC8 field8( fields.Field8( fieldId ) );
                 AppendByteDataFieldL(
@@ -219,13 +219,16 @@
                     field8,
                     AudioFieldId( fieldId ) );
                 }
-            else
+            else if ( sconFieldId > 0 )
                 {
                 // get field data and add UTF-8 formatted text to buffer
                 fieldData.Set( fields.At( i , fieldId ) );
-                AppendUtf8DataFieldL( buffer, fieldData, AudioFieldId( fieldId ) );
+                AppendUtf8DataFieldL( buffer, fieldData, sconFieldId );
                 }
-            
+            else
+                {
+                LOGGER_WRITE("Unknown field skipped");
+                }
             }
         
         if ( buffer->Size() > 0 )
@@ -426,6 +429,12 @@
         case EMetaDataDate :
             ret = KSconAudioDate;
             break;
+        case EMetaDataUnsyncLyrics:
+            ret = KSconAudioUnsyncLyrics;
+            break;
+        case EMetaDataProtected:
+            ret = KSconAudioProtected;
+            break;
         default :
             LOGGER_WRITE( "SConMetadata::AudioFieldId : ERR field not defined!" );
             break;
@@ -1039,7 +1048,8 @@
                 }
 		    }
 		}
-	_LIT(KFormat, "%.0f°%.0f'%.2f\"" );
+
+	_LIT(KFormat, "%.0f\xB0%.0f'%.2f\"" );
 	aPosDegrees.Format( KFormat, degrees, minutes, seconds );
 	TRACE_FUNC_EXIT;
 	return KErrNone;