Revision: 201031 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 19 Aug 2010 10:26:11 +0300
branchRCL_3
changeset 18 a36789189b53
parent 17 60e492b28869
child 19 095bea5f582e
Revision: 201031 Kit: 201033
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudioplaycontroller/Data/3GPAudioPlayControllerResource.rss
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudioplaycontroller/Src/3GPAudioPlayControllerPlugin.cpp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Bwins/AdvancedAudioControllerU.DEF
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/EABI/AdvancedAudioControllerU.DEF
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Inc/AdvancedAudioDecoder.h
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Src/AdvancedAudioDecoder.cpp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/DevSoundAudioOutput/Inc/DevSoundAudioOutput.h
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/DevSoundAudioOutput/Src/DevSoundAudioOutput.cpp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/FileAudioOutput/Inc/FileAudioOutput.h
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/FileAudioOutput/Src/FileAudioOutput.cpp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/aacaudioplaycontroller/Src/AACAudioPlayControllerDecoder.h
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/aacaudioplaycontroller/Src/AACAudioPlayControllerHwDecoder.cpp
mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/aacaudioplaycontroller/Src/AACAudioPlayControllerSwDecoder.cpp
mmfenh/enhancedmediaclient/Client/src/Components/ClientProgDLSource/ClientProgDLSource.cpp
mmfenh/enhancedmediaclient/Plugins/ProgDLSource/inc/ProgDLMultimediaSource.h
mmfenh/enhancedmediaclient/Plugins/ProgDLSource/inc/ProgDLSourceCustomCommands.h
mmfenh/enhancedmediaclient/Plugins/ProgDLSource/src/ProgDLSource.cpp
mmfenh/profilesettingsmonitor/group/ProfileSettingsMonitor.mmp
mmmw_plat/audio_metadata_reader_api/inc/MetaDataField.hrh
mmmw_plat/audio_metadata_reader_api/tsrc/MetaDataDisplay/inc/MetaDataDisplay.h
mmmw_plat/audio_metadata_reader_api/tsrc/MetaDataDisplay/src/MetaDataDisplayBlocks.cpp
mmmw_plat/audio_metadata_reader_api/tsrc/conf/MetaDataDisplay.cfg
mmmw_plat/audio_metadata_reader_api/tsrc/group/bld.inf
mmmw_plat/audio_metadata_reader_api/tsrc/init/TestFramework.ini
mmserv/audioeffectsui/equalizer/help/data/xhtml.zip
mmserv/metadatautility/3GPExtParserLib_stub/BWINS/3GPExtParserU.DEF
mmserv/metadatautility/3GPExtParserLib_stub/EABI/3GPExtParserU.DEF
mmserv/metadatautility/3GPExtParserLib_stub/src/3GPExtParserLib_stub.cpp
mmserv/metadatautility/Group/bld.inf
mmserv/metadatautility/Src/3GPExtParser.h
mmserv/metadatautility/Src/MetaDataParser3GPExt.cpp
mmserv/metadatautility/Src/MetaDataParserWMA.cpp
mmserv/metadatautility/Src/MetaDataParserWMA.h
mmserv/voipaudioservices/VoIPIntfc/src/VoIPUtilityFactoryImpl.cpp
mmserv/voipaudioservices/VoIPServer/inc/VoIPQueueHandlerSrv.h
mmserv/voipaudioservices/VoIPServer/inc/VoIPServerThread.h
package_definition.xml
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudioplaycontroller/Data/3GPAudioPlayControllerResource.rss	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudioplaycontroller/Data/3GPAudioPlayControllerResource.rss	Thu Aug 19 10:26:11 2010 +0300
@@ -32,7 +32,9 @@
     {
     shared_buffer_max_num = 2;
     shared_buffer_max_size = 20480;
-    shared_buffer_max_size_non_seekable_source = 20480;
+   
+    shared_buffer_max_size_non_seekable_source = 8192;
+    
     sampling_rate = EAapSampleRate16000Hz;
     stereo_support = 2;
     metadata_support = EAapMetadataSupportTrue;
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudioplaycontroller/Src/3GPAudioPlayControllerPlugin.cpp	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/3gpaudioplaycontroller/Src/3GPAudioPlayControllerPlugin.cpp	Thu Aug 19 10:26:11 2010 +0300
@@ -277,7 +277,13 @@
         {
         iSharedBufferMaxNum = 3;
    	    }
-	
+   
+    if (iSourceType != KUidMmfFileSource) 
+               {
+               DP0(_L("CAACAudioPlayControllerPlugin::DoAddDataSourceL not file source,changing buffer size"));        
+              
+                iSharedBufferMaxSize = iSharedBufferMaxSizeForNonSeekableSrc;
+               }
     CMMFDataBuffer* tempBuffer = CreateSourceBufferOfSizeLC(KFirstBufferSize);
     tempBuffer->Data().Copy(iSharedBuffers[0]->Data());
 
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Bwins/AdvancedAudioControllerU.DEF	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Bwins/AdvancedAudioControllerU.DEF	Thu Aug 19 10:26:11 2010 +0300
@@ -291,4 +291,5 @@
 	?MapcSetRepeats@CAdvancedAudioPlayController@@MAEHHABVTTimeIntervalMicroSeconds@@@Z @ 290 NONAME ; int CAdvancedAudioPlayController::MapcSetRepeats(int, class TTimeIntervalMicroSeconds const &)
 	?TrailingSilenceTimerComplete@CAdvancedAudioPlayController@@UAEXXZ @ 291 NONAME ; void CAdvancedAudioPlayController::TrailingSilenceTimerComplete(void)
 	?QueueThisBuffer@CAdvancedAudioDecoder@@UAEXI@Z @ 292 NONAME ; void CAdvancedAudioDecoder::QueueThisBuffer(unsigned int)
+	?IsDecodingSufficient@CAdvancedAudioDecoder@@UAEHXZ @ 293 NONAME ; int CAdvancedAudioDecoder::IsDecodingSufficient(void)
 
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/EABI/AdvancedAudioControllerU.DEF	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/EABI/AdvancedAudioControllerU.DEF	Thu Aug 19 10:26:11 2010 +0300
@@ -468,4 +468,5 @@
 	_ZThn4_N21CAdvancedAudioUtility19SeekPositionReachedEj @ 467 NONAME
 	_ZThn4_N21CAdvancedAudioUtility28PlayWindowEndPositionReachedEv @ 468 NONAME
 	_ZThn56_N24CAdvancedAudioController26GetCustomInterfaceBuilderLEv @ 469 NONAME
+	_ZN21CAdvancedAudioDecoder20IsDecodingSufficientEv @ 470 NONAME
 
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Inc/AdvancedAudioDecoder.h	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Inc/AdvancedAudioDecoder.h	Thu Aug 19 10:26:11 2010 +0300
@@ -98,6 +98,12 @@
         * @return  void
         */
         virtual void SendEvent(const TMMFEvent& aEvent) = 0;
+        /**
+        * Callback function from CAdvancedAudioDecoder to check if source is position and time seekable
+        * @param   None
+        * @return  TBool
+        */
+        virtual TBool IsTimePosSeekable() = 0;
     };
     
 /**
@@ -331,7 +337,8 @@
 		IMPORT_C virtual void ParseL(TUint8* aSrc, TInt& aSrcUsed, TUint8* aDst, TInt& aDstLen);
 		virtual TInt SeekSync(TUint8* aBuf, TInt aBufLen);
 		virtual TInt FrameLength(const TUint8* aBuf, TInt aBufLen, TInt& aFrameLength);
-
+    public:
+		IMPORT_C virtual TBool IsDecodingSufficient();
 	private:	
         /**
         * Completes own request.
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Src/AdvancedAudioDecoder.cpp	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/AdvancedAudioController/Src/AdvancedAudioDecoder.cpp	Thu Aug 19 10:26:11 2010 +0300
@@ -593,6 +593,13 @@
                             // it will be sent for refill later by NextSharedBufferL().
                             static_cast<CMMFDataBuffer*>(iNextBuffer)->SetStatus(EBeingEmptied);
                             NextSharedBufferL();
+                            //added to send only 8kb of data to devsound for aac during progressive download,fix for ou1cimx1#447299
+                         if(IsDecodingSufficient() && !(iObserver->IsTimePosSeekable()))
+                             {
+                              
+                              moreProcessing=EFalse;
+                             }
+                            
                             // length can only be <= maxlength
 							if (dstlength == dstmaxlength)
 								{
@@ -802,5 +809,11 @@
 	return stat;	
 	}
 
+EXPORT_C TBool CAdvancedAudioDecoder::IsDecodingSufficient()
+    {
+      DP0(_L("CAdvancedAudioDecoder::IsDecodingSufficient"));
+      return EFalse;
+    }
+//added
 
 // End of file
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/DevSoundAudioOutput/Inc/DevSoundAudioOutput.h	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/DevSoundAudioOutput/Inc/DevSoundAudioOutput.h	Thu Aug 19 10:26:11 2010 +0300
@@ -392,7 +392,14 @@
         * @return -
         */
 		virtual void SendEvent(const TMMFEvent& aEvent);
-
+		    /**
+        * From MAdvancedAudioDecoderObserver
+        * Callback function from CAdvancedAudioDecoder to check if the source is time or position seekable
+        * 
+        * @param None
+        * @return TBool
+        */
+		virtual TBool IsTimePosSeekable();
     private:
 
         /**
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/DevSoundAudioOutput/Src/DevSoundAudioOutput.cpp	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/DevSoundAudioOutput/Src/DevSoundAudioOutput.cpp	Thu Aug 19 10:26:11 2010 +0300
@@ -990,7 +990,13 @@
 	{
     iObserver->SendEvent(aEvent);
 	}
-
+TBool CDevSoundAudioOutput::IsTimePosSeekable()
+    {
+     if(!iDataSourceAdapter->IsTimeSeekable()&& (!iDataSourceAdapter->IsPositonSeekable()))
+         return EFalse;
+     else 
+         return ETrue;
+    }
 // -----------------------------------------------------------------------------
 // CDevSoundAudioOutput::ConvertFromDevSoundCapsToSampleRatesL
 // Internal function to convert sampling rate from DevSound representation to
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/FileAudioOutput/Inc/FileAudioOutput.h	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/FileAudioOutput/Inc/FileAudioOutput.h	Thu Aug 19 10:26:11 2010 +0300
@@ -300,7 +300,17 @@
         * @param   aError a system-wide error code.
         * @return  -
         */
+       
         virtual void IOError(TInt aError);
+        
+        /**
+        * From MAdvancedAudioDecoderObserver
+        * Callback function from CAdvancedAudioDecoder to return if source is position or time seekable
+        * 
+        * @param None
+        * @return TBool
+        */
+        virtual TBool IsTimePosSeekable();
 
     private:
 
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/FileAudioOutput/Src/FileAudioOutput.cpp	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/FileAudioOutput/Src/FileAudioOutput.cpp	Thu Aug 19 10:26:11 2010 +0300
@@ -547,7 +547,10 @@
     {
     return EFalse;
     }
-
+TBool CFileAudioOutput::IsTimePosSeekable()
+    {
+    return EFalse;
+    }
 // ========================== OTHER EXPORTED FUNCTIONS =========================
 
 // End of file
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/aacaudioplaycontroller/Src/AACAudioPlayControllerDecoder.h	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/aacaudioplaycontroller/Src/AACAudioPlayControllerDecoder.h	Thu Aug 19 10:26:11 2010 +0300
@@ -61,7 +61,10 @@
 		TCodecProcessResult ProcessL(CMMFBuffer& aSrc, CMMFBuffer& aDst);
 		TInt CodecConfig(RArray<TInt>& aCodecConfigData);
 		TInt CodecCmd(TCodecCmd aCmd);
-        
+     
+		TBool IsDecodingSufficient();
+		
+		
     private: // Functions from base classes
 		void ResetL();
 		
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/aacaudioplaycontroller/Src/AACAudioPlayControllerHwDecoder.cpp	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/aacaudioplaycontroller/Src/AACAudioPlayControllerHwDecoder.cpp	Thu Aug 19 10:26:11 2010 +0300
@@ -383,5 +383,10 @@
 	{
 	return KErrNotSupported;
 	}
+TBool CAACAudioPlayControllerDecoder::IsDecodingSufficient()
+    {
+    RDebug::Printf("CAACAudioPlayControllerDecoder::IsDecodingSufficient");
+    return ETrue;
+    }
 
 // End of file
--- a/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/aacaudioplaycontroller/Src/AACAudioPlayControllerSwDecoder.cpp	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmfenh/advancedaudiocontroller/audiocontrollerpluginsvariant/aacaudioplaycontroller/Src/AACAudioPlayControllerSwDecoder.cpp	Thu Aug 19 10:26:11 2010 +0300
@@ -251,5 +251,8 @@
 	{
 	return KErrNotSupported;
 	}
-
+TBool CAACAudioPlayControllerDecoder::IsDecodingSufficient()
+    {
+     return CAdvancedAudioDecoder::IsDecodingSufficient();
+    }
 // End of file
--- a/mmfenh/enhancedmediaclient/Client/src/Components/ClientProgDLSource/ClientProgDLSource.cpp	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmfenh/enhancedmediaclient/Client/src/Components/ClientProgDLSource/ClientProgDLSource.cpp	Thu Aug 19 10:26:11 2010 +0300
@@ -177,6 +177,10 @@
 TInt CClientProgDLSource::MoveFile(const TDesC& aDestFileName )
     {
     TInt status(KErrNone);
+    
+    if (iServerSourceExists)
+        iCustomCommand->CustomCommandSync( iSourceHandle, ESetFileMoving, KNullDesC8, KNullDesC8 );
+
     iDestFileName.Copy(aDestFileName);
     status = iDownloadGateway->MoveFile(iDownloadId,aDestFileName);
     return status;
@@ -414,10 +418,11 @@
             {
     	    des.Copy(iDestFileName);
             }
-	    else
+	    else if (aError == KErrAlreadyExists)
             {
             iDownloadGateway->GetLocalFileName(iDownloadId,des);
             }
+	    iDestFileName.Copy(des);
         TPckgBuf<TFileName> pckg(iDestFileName);
         iCustomCommand->CustomCommandSync( iSourceHandle, ESetUpdateFileName, pckg, KNullDesC8 );
         }
--- a/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/inc/ProgDLMultimediaSource.h	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/inc/ProgDLMultimediaSource.h	Thu Aug 19 10:26:11 2010 +0300
@@ -64,7 +64,7 @@
         // From CMultimediaDataSource ends
         
         TInt GetDRMProtection( TBool& aIsProtected );
-        TInt EvaluateIntent( ContentAccess::TIntent aIntent ) const;
+        TInt EvaluateIntent( ContentAccess::TIntent aIntent );
         TInt ExecuteIntent( ContentAccess::TIntent aIntent );
         TInt SetAgentProperty( ContentAccess::TAgentProperty aProperty,
             TInt aValue);
--- a/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/inc/ProgDLSourceCustomCommands.h	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/inc/ProgDLSourceCustomCommands.h	Thu Aug 19 10:26:11 2010 +0300
@@ -28,7 +28,8 @@
         ESetDownloadState,
         EGetBitRate,
         EGetPercentageBuffered,
-        ESetUpdateFileName
+        ESetUpdateFileName,
+        ESetFileMoving
     };
 
 #endif // PROGDLSOURCECUSTOMCOMMANDS_H
--- a/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/src/ProgDLSource.cpp	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmfenh/enhancedmediaclient/Plugins/ProgDLSource/src/ProgDLSource.cpp	Thu Aug 19 10:26:11 2010 +0300
@@ -767,7 +767,7 @@
   @return An error code indicating if the function call was successful. KErrNone on success, otherwise
   another of the system-wide error codes.
 */
-TInt CProgDLMultimediaSource::EvaluateIntent(ContentAccess::TIntent aIntent) const
+TInt CProgDLMultimediaSource::EvaluateIntent(ContentAccess::TIntent aIntent)
     {
     if (!iFile)
         {
@@ -1114,8 +1114,8 @@
             {
             TInt pos = 0;
             CancelRequests();
-			// we should not delete the iFile, it causes the CAF to delete the rights if they are expired.
-
+            if (iFile)
+                iFile->Seek(ESeekStart,0);
             // Since the requests will not be deleted if it is still inside RunL() (iState is EProcessing), 
             // iReadRequestPending should not be initialized to 0 always
             iReadRequestPending = iRequests.Count();
@@ -1225,6 +1225,20 @@
             if ( err == KErrNone )
                 {
                 iFullFileName = sizePckg();
+                if (iFile)
+                {
+                    delete iFile;
+                    iFile = NULL;
+                }
+                if (iFileHandle)
+                    {
+                    TRAPD(err,iFile = CContentFile::NewL(iHandle, UniqueId(), iCAFParameters->iEnableUI));
+                    }
+                else
+                    {
+                    // Open for read-only access
+                    TRAPD(err,iFile = CContentFile::NewL(iFsSession, iFullFileName, UniqueId(), EFileShareAny, iCAFParameters->iEnableUI));
+                    }
                 }
             aMessage.Complete(KErrNone);			            
             
@@ -1395,8 +1409,17 @@
             aMessage.WriteDataToClient(perBufPckg);
             aMessage.Complete(KErrNone);
             }
-            break;   
-                
+            break;
+        case ESetFileMoving:
+            {
+            if (iFile)
+                {
+                delete iFile;
+                iFile = NULL;
+                }
+            aMessage.Complete(KErrNone);
+            }
+            break;    
         default:
             err = KErrArgument;
             break;
@@ -1475,13 +1498,7 @@
             request->SetActive();
             
             //	iSnkBytes += requestSize;
-            
-            if ((iSnkBytes + request->Buffer()->RequestSize()) >= iDownloadSize && isDownloadComplete)
-                {
-    	              request->Buffer()->SetLastBuffer(ETrue);
-                      DEBPRN1(_L("CProgDLMultimediaSource::ServiceFillBuffer() LastBuffer$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"));
-                }
-            
+            request->Buffer()->SetLastBuffer(EFalse);
             iFile->Read(request->BufferDes(), requestSize, request->iStatus);
             
             }
@@ -1633,6 +1650,13 @@
         DEBPRN4(_L("CProgDLMultimediaSource::ReadRequestStatus Buffer[%x] BufferSize[%d] RequestSize[%d]"),aRequest->Buffer(),aRequest->Buffer()->BufferSize(),aRequest->Buffer()->RequestSize());
         DEBPRN3(_L("CProgDLMultimediaSource::ReadRequestStatus Buffer[%x] LastBuffer[%d]"),aRequest->Buffer(),aRequest->Buffer()->LastBuffer());
         
+        //Moved from CProgDLMultimediaSource::ServiceFillBuffer to handle deadlock situations
+        if ((iSnkBytes + aRequest->Buffer()->RequestSize()) >= iDownloadSize && isDownloadComplete)
+            {
+	              aRequest->Buffer()->SetLastBuffer(ETrue);
+                DEBPRN1(_L("CProgDLMultimediaSource::ReadRequestStatus() LastBuffer$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"));
+            }
+
         TBool lastBuffer = aRequest->Buffer()->LastBuffer();
         
         if((aRequest->Buffer()->BufferSize() != aRequest->Buffer()->RequestSize()) && !lastBuffer)
@@ -1697,7 +1721,7 @@
 TInt CProgDLMultimediaSource::ReOpenCAF()
     {
     TInt status(KErrNone);
-    DEBPRN2(_L("CProgDLMultimediaSource::StateChanged ReOpenCAF[%d]"),iSnkBytes);     
+    DEBPRN2(_L("CProgDLMultimediaSource::ReOpenCAF ReOpenCAF[%d]"),iSnkBytes);     
     delete iFile;
     iFile = NULL;
     
@@ -1741,7 +1765,7 @@
         }												
 
     iReOpenCAF = ETrue;
-    DEBPRN3(_L("CProgDLMultimediaSource::StateChanged Exit status[%d] iFileSize[%d]"),status,iFileSize);     
+    DEBPRN3(_L("CProgDLMultimediaSource::ReOpenCAF Exit status[%d] iFileSize[%d]"),status,iFileSize);     
     return status;    
     }
 
--- a/mmfenh/profilesettingsmonitor/group/ProfileSettingsMonitor.mmp	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmfenh/profilesettingsmonitor/group/ProfileSettingsMonitor.mmp	Thu Aug 19 10:26:11 2010 +0300
@@ -42,6 +42,10 @@
 LIBRARY		centralrepository.lib
 LIBRARY         euser.lib
 
+#ifdef WINSCW
+EPOCHEAPSIZE 0x1000 0x40000
+#endif
+
 epocprocesspriority background
 
 SMPSAFE
--- a/mmmw_plat/audio_metadata_reader_api/inc/MetaDataField.hrh	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmmw_plat/audio_metadata_reader_api/inc/MetaDataField.hrh	Thu Aug 19 10:26:11 2010 +0300
@@ -44,7 +44,9 @@
     EMetaDataDuration,
     EMetaDataDate,
     EMetaDataUnsyncLyrics,
-    EMetaDataProtected        // get the Protected info, "0"=non protected, "1"=protected
+    EMetaDataProtected,   // get the Protected info, "0"=non protected, "1"=protected
+    EMetaDataSampleRate,  // Hz
+    EMetaDataBitRate      // Bps		
 	
     // More later...
     };
--- a/mmmw_plat/audio_metadata_reader_api/tsrc/MetaDataDisplay/inc/MetaDataDisplay.h	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmmw_plat/audio_metadata_reader_api/tsrc/MetaDataDisplay/inc/MetaDataDisplay.h	Thu Aug 19 10:26:11 2010 +0300
@@ -42,7 +42,7 @@
 const TInt KErrExecuted = KErrNone;
 const TInt KErrLeft = -1503;
 const TInt KBadParameter = 1004;
-const TInt KNumMetaDataField = 19;
+const TInt KNumMetaDataField = 23;
 // MACROS
 //#define ?macro ?macro_def
 #define TEST_CLASS_VERSION_MAJOR 0
@@ -304,7 +304,6 @@
     	
         HBufC*   iMetaDataField[KNumMetaDataField];
         TBuf<50> iMetaDataFieldName[KNumMetaDataField];
-        TMetaDataFieldId iMetaDataFieldID[KNumMetaDataField];
 
 		// For X-pcs Metadata
 		HBufC* iArtistXpcs;
--- a/mmmw_plat/audio_metadata_reader_api/tsrc/MetaDataDisplay/src/MetaDataDisplayBlocks.cpp	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmmw_plat/audio_metadata_reader_api/tsrc/MetaDataDisplay/src/MetaDataDisplayBlocks.cpp	Thu Aug 19 10:26:11 2010 +0300
@@ -295,7 +295,7 @@
 		iLog->Log(_L("Input file [%S]"), &FileNamePtr);
 		while( aItem.GetNextInt( wantedField ) == KErrNone )			
 			{
-			aWantedFields.Append(iMetaDataFieldID[wantedField]);					    		    
+			aWantedFields.Append( (TMetaDataFieldId)wantedField );
 			}
 		TRAP(err, iMetaData->OpenFileL( FileName, aWantedFields ));
 		aWantedFields.Close();
@@ -375,7 +375,7 @@
 		User::LeaveIfError(file.Open( fs, FileName, EFileRead));
 		while( aItem.GetNextInt( wantedField ) == KErrNone )			
 			{
-			aWantedFields.Append(iMetaDataFieldID[wantedField]);					    		    
+			aWantedFields.Append((TMetaDataFieldId)wantedField);					    		    
 			}
 	    TRAP(err, iMetaData->OpenFileL( file, aWantedFields ));
 	    fs.Close();
@@ -523,7 +523,7 @@
 		// Get aWantedFields
 		while( aItem.GetNextInt( wantedField ) == KErrNone )			
 			{
-			aWantedFields.Append(iMetaDataFieldID[wantedField]);					    		    
+			aWantedFields.Append((TMetaDataFieldId)wantedField);					    		    
 			}
 		TRAP(err, iMetaData->OpenDesL(*SoundFile, aWantedFields));
 		CleanupStack::PopAndDestroy(SoundFile);		
@@ -802,7 +802,7 @@
 
 	   while( !aItem.GetNextInt( wantedField ) )
 		   {
-		   aWantedFields.Append( iMetaDataFieldID[wantedField] );
+		   aWantedFields.Append( (TMetaDataFieldId)wantedField );
 		   }
 	   if( SoundFileDes && SoundFile )
 		   {
@@ -950,7 +950,7 @@
 	   
 	   while( !aItem.GetNextInt( wantedField ) )
 		   {
-		   aWantedFields.Append( iMetaDataFieldID[wantedField] );
+		   aWantedFields.Append( (TMetaDataFieldId)wantedField );
 		   }
 	   if( SoundFile )
 		   {
@@ -1114,7 +1114,7 @@
 	   
 	   while( !aItem.GetNextInt( wantedField ) )
 		   {
-		   aWantedFields.Append( iMetaDataFieldID[wantedField] );
+		   aWantedFields.Append( (TMetaDataFieldId)wantedField );
 		   }
 	   if( SoundFile )
 		   {
--- a/mmmw_plat/audio_metadata_reader_api/tsrc/conf/MetaDataDisplay.cfg	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmmw_plat/audio_metadata_reader_api/tsrc/conf/MetaDataDisplay.cfg	Thu Aug 19 10:26:11 2010 +0300
@@ -93,6 +93,17 @@
 [Endtest]
 
 [Test]
+title MetadataUtility.3.7 - OpenFile GodRest.WMA
+create MetaDataDisplay Utility
+Utility TestCreateUtility
+pause 1000
+Utility TestOpenFile GodRest.WMA
+pause 1000
+Utility TestDeleteUtility
+delete Utility
+[Endtest]
+
+[Test]
 title MetadataUtility.4.1 - OpenFileWithField test3gp.3gp 
 create MetaDataDisplay Utility
 Utility TestCreateUtility
@@ -158,6 +169,17 @@
 delete Utility
 [Endtest]
 
+[Test]
+title MetadataUtility.4.7 - OpenFileWithField GodRest.WMA
+create MetaDataDisplay Utility
+Utility TestCreateUtility
+pause 1000
+Utility TestOpenFileWithFieldL GodRest.WMA 1 7 10 2 5 1 3 21 22
+pause 1000
+Utility TestDeleteUtility
+delete Utility
+[Endtest]
+
 
 [Test]
 title MetadataUtility.5.1 - OpenRFile test3gp.3gp 
@@ -226,6 +248,17 @@
 [Endtest]
 
 [Test]
+title MetadataUtility.5.7 - OpenRFile GodRest.WMA 
+create MetaDataDisplay Utility
+Utility TestCreateUtility
+pause 1000
+Utility TestOpenRFile GodRest.WMA
+pause 1000
+Utility TestDeleteUtility
+delete Utility
+[Endtest]
+
+[Test]
 title MetadataUtility.6.1 - OpenRFileWithField test3gp.3gp 
 create MetaDataDisplay Utility
 Utility TestCreateUtility
@@ -292,6 +325,17 @@
 [Endtest]
 
 [Test]
+title MetadataUtility.6.7 - OpenRFileWithField GodRest.WMA
+create MetaDataDisplay Utility
+Utility TestCreateUtility
+pause 1000
+Utility TestOpenRFileWithFieldL GodRest.WMA 1 7 10 2 5 1 3 21 22
+pause 1000
+Utility TestDeleteUtility
+delete Utility
+[Endtest]
+
+[Test]
 title MetadataUtility.7.1 - OpenDesFile test3gp.3gp 
 create MetaDataDisplay Utility
 Utility TestCreateUtility
@@ -468,7 +512,18 @@
 [Endtest]
 
 [Test]
-title MetadataUtility.10 - MetaDataFields testmp4.mp4
+title MetadataUtility.9.7 - MetaDataCount GodRest.WMA
+create MetaDataDisplay Utility
+Utility TestCreateUtility
+pause 1000
+Utility TestMetaDataCountL GodRest.WMA 4
+pause 1000
+Utility TestDeleteUtility
+delete Utility
+[Endtest]
+
+[Test]
+title MetadataUtility.10.1 - MetaDataFields testmp4.mp4
 create MetaDataDisplay Utility
 Utility TestCreateUtility
 pause 1000
@@ -479,6 +534,17 @@
 [Endtest]
 
 [Test]
+title MetadataUtility.10.2 - MetaDataFields GodRest.WMA
+create MetaDataDisplay Utility
+Utility TestCreateUtility
+pause 1000
+Utility TestMetaDataFieldsL GodRest.WMA 4
+pause 1000
+Utility TestDeleteUtility
+delete Utility
+[Endtest]
+
+[Test]
 title MetadataUtility.11 - OpenDesLWith3paras
 create MetaDataDisplay Utility
 Utility TestCreateUtility
@@ -640,7 +706,7 @@
 [Endtest]
 
 [Test]
-title MetadataUtility.22-1 - TestProcessChunkData
+title MetadataUtility.22.1 - TestProcessChunkData
 create MetaDataDisplay Utility
 Utility CreateChunkDataTester
 Utility TestProcessChunkData JepJep.mp3 MimeUsed
@@ -651,7 +717,7 @@
 [Endtest]
 
 [Test]
-title MetadataUtility.22-2 - TestProcessChunkData
+title MetadataUtility.22.2 - TestProcessChunkData
 create MetaDataDisplay Utility
 Utility CreateChunkDataTester
 Utility TestProcessChunkData testmp4.mp4 MimeUsed
@@ -662,7 +728,7 @@
 [Endtest]
 
 [Test]
-title MetadataUtility.22-3 - TestProcessChunkData
+title MetadataUtility.22.3 - TestProcessChunkData
 create MetaDataDisplay Utility
 Utility CreateChunkDataTester
 Utility TestProcessChunkData testm4a.m4a MimeUsed
@@ -698,6 +764,9 @@
 EDuration				17
 EDate					18
 EUnsyncLyrics			19
+EMetaDataProtected      20
+EMetaDataSampleRate     21
+EMetaDataBitRate        22
 // More later...
 [Enddefine]
 
@@ -859,7 +928,7 @@
 //Utility TestOpenFile testmp4.mp4
 Utility GetContainerViaMetaDataUtility
 pause 1000
-		//0 stands for that you want to append 0 metadata field, you could append 0-19 fields
+        //0 stands for that you want to append 0 metadata field, you could append 0-19 fields
 Utility ContainerAppendLTDesCL 0
 pause 1000
 Utility TestDeleteUtility
@@ -922,7 +991,7 @@
 //Utility TestOpenFile testmp4.mp4
 Utility GetContainerViaMetaDataUtility
 Utility ContainerAppendLTDesCL 5 ESongTitle testmp4 EArtist Nicholas EAlbum Nic EYear 2008 EComment Nice-song
-											//more choices could be added here
+                       //more choices could be added here
 Utility TestDeleteUtility
 delete Utility
 pause 1000
@@ -935,7 +1004,7 @@
 //Utility TestOpenFile testmp4.mp4
 Utility GetContainerViaMetaDataUtility
 Utility ContainerAppendLTDesCL 6 ESongTitle testmp4 EArtist Nicholas EAlbum Nic EYear 2008 EComment Nice-song EDate 20081217
-											//more choices could be added here
+                      //more choices could be added here
 Utility TestDeleteUtility
 delete Utility
 pause 1000
@@ -947,7 +1016,7 @@
 Utility TestCreateUtility
 //Utility TestOpenFile testmp4.mp4
 Utility GetContainerViaMetaDataUtility
-		//0 stands for that you want to append 0 metadata field, you could append 0-19 fields
+        //0 stands for that you want to append 0 metadata field, you could append 0-19 fields
 Utility ContainerAppendLTDesC8L 0
 Utility TestDeleteUtility
 delete Utility
@@ -1009,7 +1078,7 @@
 //Utility TestOpenFile testmp4.mp4
 Utility GetContainerViaMetaDataUtility
 Utility ContainerAppendLTDesC8L 5 ESongTitle testmp4 EArtist Nicholas EAlbum Nic EYear 2008 EComment Nice-song
-											//more choices could be added here
+                        //more choices could be added here
 Utility TestDeleteUtility
 delete Utility
 pause 1000
@@ -1022,7 +1091,7 @@
 //Utility TestOpenFile testmp4.mp4
 Utility GetContainerViaMetaDataUtility
 Utility ContainerAppendLTDesC8L 6 ESongTitle testmp4 EArtist Nicholas EAlbum Nic EYear 2008 EComment Nice-song EDate 20081217
-											//more choices could be added here
+                //more choices could be added here
 Utility TestDeleteUtility
 delete Utility
 pause 1000
@@ -1046,7 +1115,7 @@
 Utility TestCreateUtility
 Utility TestOpenFile testmp4.mp4
 Utility GetContainerViaMetaDataUtility
-	 //When MetaData existed,should be careful about the position,make sure it doesn't get out of bound
+    //When MetaData existed,should be careful about the position,make sure it doesn't get out of bound
 Utility ContainerAt 0
 Utility TestDeleteUtility
 delete Utility
@@ -1059,7 +1128,7 @@
 Utility TestCreateUtility
 Utility TestOpenFile testmp4.mp4
 Utility GetContainerViaMetaDataUtility
-	 //When MetaData existed,should be careful about the position,make sure it doesn't get out of bound
+    //When MetaData existed,should be careful about the position,make sure it doesn't get out of bound
 Utility ContainerAppendLTDesCL 6 ESongTitle testmp4 EArtist Nicholas EAlbum Nic EYear 2008 EComment Nice-song EDate 20081217
 Utility ContainerAt 0 1 2 3 4 5 6
 Utility TestDeleteUtility
@@ -1085,7 +1154,7 @@
 Utility TestCreateUtility
 Utility TestOpenFile testmp4.mp4
 Utility GetContainerViaMetaDataUtility
-	//When MetaData existed,should be careful about the position,make sure it doesn't get out of bound
+    //When MetaData existed,should be careful about the position,make sure it doesn't get out of bound
 Utility ContainerFieldIdAt 0
 Utility TestDeleteUtility
 delete Utility
@@ -1098,7 +1167,7 @@
 Utility TestCreateUtility
 Utility TestOpenFile testmp4.mp4
 Utility GetContainerViaMetaDataUtility
-	//When MetaData existed,should be careful about the position,make sure it doesn't get out of bound
+    //When MetaData existed,should be careful about the position,make sure it doesn't get out of bound
 Utility ContainerAppendLTDesCL 6 ESongTitle testmp4 EArtist Nicholas EAlbum Nic EYear 2008 EComment Nice-song EDate 20081217
 Utility ContainerFieldIdAt 0 1 2 3 4 5 6
 Utility TestDeleteUtility
--- a/mmmw_plat/audio_metadata_reader_api/tsrc/group/bld.inf	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmmw_plat/audio_metadata_reader_api/tsrc/group/bld.inf	Thu Aug 19 10:26:11 2010 +0300
@@ -37,7 +37,20 @@
 
 PRJ_TESTEXPORTS
 
+..\init\TestFramework.ini                      \epoc32\winscw\c\testframework\TestFramework.ini
 
+..\conf\MetaDataDisplay.cfg                   \epoc32\winscw\c\testframework\MetaDataDisplay.cfg
+
+..\data\mmc\GodRest.WMA                   \epoc32\winscw\c\testing\data\GodRest.WMA
+..\data\mmc\DRM_NRTmeta.dcf                   \epoc32\winscw\c\testing\data\DRM_NRTmeta.dcf
+..\data\mmc\DownUnder_remix.aac                   \epoc32\winscw\c\testing\data\DownUnder_remix.aac
+..\data\mmc\JapJap.mp3                   \epoc32\winscw\c\testing\data\JapJap.mp3
+..\data\mmc\JepJep.mp3                   \epoc32\winscw\c\testing\data\JepJep.mp3
+..\data\mmc\JipJip.mp3                   \epoc32\winscw\c\testing\data\JipJip.mp3
+..\data\mmc\MP3_MD.mp3                   \epoc32\winscw\c\testing\data\MP3_MD.mp3
+..\data\mmc\test3gp.3gp                   \epoc32\winscw\c\testing\data\test3gp.3gp
+..\data\mmc\testm4a.m4a                   \epoc32\winscw\c\testing\data\testm4a.m4a
+..\data\mmc\testmp4.mp4                   \epoc32\winscw\c\testing\data\testmp4.mp4
 
 PRJ_MMPFILES
 
--- a/mmmw_plat/audio_metadata_reader_api/tsrc/init/TestFramework.ini	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmmw_plat/audio_metadata_reader_api/tsrc/init/TestFramework.ini	Thu Aug 19 10:26:11 2010 +0300
@@ -43,8 +43,7 @@
 
 [Engine_Defaults]
 
-TestReportMode= FullReport    # Possible values are: 'Empty', 'Summary', 'Environment',
-                                                     'TestCases' or 'FullReport'
+TestReportMode= FullReport    # Possible values are: 'Empty', 'Summary', 'Environment', 'TestCases' or 'FullReport'
 
 CreateTestReport= YES         # Possible values: YES or NO
 
Binary file mmserv/audioeffectsui/equalizer/help/data/xhtml.zip has changed
--- a/mmserv/metadatautility/3GPExtParserLib_stub/BWINS/3GPExtParserU.DEF	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmserv/metadatautility/3GPExtParserLib_stub/BWINS/3GPExtParserU.DEF	Thu Aug 19 10:26:11 2010 +0300
@@ -1,7 +1,7 @@
 EXPORTS
 	??1C3GPExtParser@@UAE@XZ @ 1 NONAME ; C3GPExtParser::~C3GPExtParser(void)
-	?GetilstBoxesL@C3GPExtParser@@QAEXABVTDesC8@@W4TMetaDataFieldId@@PAPAVHBufC16@@@Z @ 2 NONAME ; void C3GPExtParser::GetilstBoxesL(class TDesC8 const &, enum TMetaDataFieldId, class HBufC16 * *)
+	?GetilstBoxesL@C3GPExtParser@@QAEXW4TMetaDataFieldId@@PAPAVHBufC8@@@Z @ 2 NONAME ; void C3GPExtParser::GetilstBoxesL(enum TMetaDataFieldId, class HBufC8 * *)
 	?Is3GPExtMetadataL@C3GPExtParser@@QAEHXZ @ 3 NONAME ; int C3GPExtParser::Is3GPExtMetadataL(void)
 	?NewL@C3GPExtParser@@SAPAV1@AAPAJ@Z @ 4 NONAME ; class C3GPExtParser * C3GPExtParser::NewL(long * &)
-	?GetilstBoxesL@C3GPExtParser@@QAEXABVTDesC8@@W4TMetaDataFieldId@@PAPAVHBufC8@@@Z @ 5 NONAME ; void C3GPExtParser::GetilstBoxesL(class TDesC8 const &, enum TMetaDataFieldId, class HBufC8 * *)
+	?GetilstBoxesL@C3GPExtParser@@QAEXW4TMetaDataFieldId@@PAPAVHBufC16@@@Z @ 5 NONAME ; void C3GPExtParser::GetilstBoxesL(enum TMetaDataFieldId, class HBufC16 * *)
 
--- a/mmserv/metadatautility/3GPExtParserLib_stub/EABI/3GPExtParserU.DEF	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmserv/metadatautility/3GPExtParserLib_stub/EABI/3GPExtParserU.DEF	Thu Aug 19 10:26:11 2010 +0300
@@ -1,8 +1,8 @@
 EXPORTS
-	_ZN13C3GPExtParser13GetilstBoxesLERK6TDesC816TMetaDataFieldIdPP7HBufC16 @ 1 NONAME
+	_ZN13C3GPExtParser13GetilstBoxesLE16TMetaDataFieldIdPP6HBufC8 @ 1 NONAME
 	_ZN13C3GPExtParser17Is3GPExtMetadataLEv @ 2 NONAME
 	_ZN13C3GPExtParser4NewLERPl @ 3 NONAME
 	_ZTI13C3GPExtParser @ 4 NONAME ; #<TI>#
 	_ZTV13C3GPExtParser @ 5 NONAME ; #<VT>#
-	_ZN13C3GPExtParser13GetilstBoxesLERK6TDesC816TMetaDataFieldIdPP6HBufC8 @ 6 NONAME
+	_ZN13C3GPExtParser13GetilstBoxesLE16TMetaDataFieldIdPP7HBufC16 @ 6 NONAME
 
--- a/mmserv/metadatautility/3GPExtParserLib_stub/src/3GPExtParserLib_stub.cpp	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmserv/metadatautility/3GPExtParserLib_stub/src/3GPExtParserLib_stub.cpp	Thu Aug 19 10:26:11 2010 +0300
@@ -61,7 +61,7 @@
 // 3GPExtParser::GetilstBoxesL
 // -----------------------------------------------------------------------------
 //
-EXPORT_C void C3GPExtParser::GetilstBoxesL(const TDesC8 &/*aBox*/, TMetaDataFieldId /*aFieldId*/, HBufC** /*aBuf*/)
+EXPORT_C void C3GPExtParser::GetilstBoxesL(TMetaDataFieldId /*aFieldId*/, HBufC** /*aBuf*/)
 {
     User::Leave(KErrNotSupported);    
 }
@@ -69,7 +69,7 @@
 // 3GPExtParser::GetilstBoxesL for 8-bit descriptor fields 
 // -----------------------------------------------------------------------------
 //
-EXPORT_C void C3GPExtParser::GetilstBoxesL(const TDesC8 &/*aBox*/, TMetaDataFieldId /*aFieldId*/, HBufC8** /*aBuf*/)
+EXPORT_C void C3GPExtParser::GetilstBoxesL(TMetaDataFieldId /*aFieldId*/, HBufC8** /*aBuf*/)
 {
     User::Leave(KErrNotSupported);   
 }
--- a/mmserv/metadatautility/Group/bld.inf	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmserv/metadatautility/Group/bld.inf	Thu Aug 19 10:26:11 2010 +0300
@@ -37,9 +37,11 @@
 
 PRJ_MMPFILES
 
-#ifndef  __3GP_EXTENTION
+#ifdef  __3GP_EXTENTION
+#include "../3GPExtParserLib/group/bld.inf"
+#else
 #include "../3GPExtParserLib_stub/group/bld.inf"
-#endif 
+#endif
 
 MetaDataUtility.mmp
 
--- a/mmserv/metadatautility/Src/3GPExtParser.h	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmserv/metadatautility/Src/3GPExtParser.h	Thu Aug 19 10:26:11 2010 +0300
@@ -27,19 +27,6 @@
 #include "MetaDataFieldContainer.h"
 #include "MetaDataField.hrh"
 
-// CONSTANTS
-
-_LIT8 (K3GPExtMetaTitleFormat, "%cnam"); 
-_LIT8 (K3GPExtMetaArtistFormat, "%cART"); 
-_LIT8 (K3GPExtMetaComposerFormat, "%cwrt"); 
-_LIT8 (K3GPExtMetaAlbumFormat, "%calb"); 
-_LIT8 (K3GPExtMetaCommentFormat, "%ccmt"); 
-_LIT8 (K3GPExtMetaCustomGenreFormat, "%cgen");  // mapped to rating
-_LIT8 (K3GPExtMetaYearFormat, "%cday"); 
-_LIT8 (K3GPExtMetaGenre, "gnre");
-_LIT8 (K3GPExtMetaTrack, "trkn"); 
-_LIT8 (K3GPExtMetaJpeg, "covr"); 
-
 
 // CLASS DECLARATION
 
@@ -67,20 +54,18 @@
         /**
 		* Extract meta data boxes from ilst
 		* @since 3.0
-		* @param aBox wanted metadata box
         * @param aFieldId metadata field in 3GPExtParser
 		* @return void
 		*/
-		IMPORT_C void GetilstBoxesL(const TDesC8& aBox, TMetaDataFieldId aFieldId, HBufC** aBuf);
+		IMPORT_C void GetilstBoxesL(TMetaDataFieldId aFieldId, HBufC** aBuf);
 		/**
 		* Extract meta data boxes from ilst
 		* 8-bit version to support international languages in string metadata
 		* @since 3.1
-		* @param aBox wanted metadata box
         * @param aFieldId metadata field in 3GPExtParser
 		* @return void
 		*/
-		IMPORT_C void GetilstBoxesL(const TDesC8& aBox, TMetaDataFieldId aFieldId, HBufC8** aBuf);
+		IMPORT_C void GetilstBoxesL(TMetaDataFieldId aFieldId, HBufC8** aBuf);
 				
 		/** 
 		* Checks if file has 3GPExt metadata
--- a/mmserv/metadatautility/Src/MetaDataParser3GPExt.cpp	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmserv/metadatautility/Src/MetaDataParser3GPExt.cpp	Thu Aug 19 10:26:11 2010 +0300
@@ -111,55 +111,55 @@
 	
 	if ( aWantedFields.Count() == 0 )
         {
-        TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaTitleFormat, EMetaDataSongTitle, &buf8));
+        TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataSongTitle, &buf8));
         if (KErrNone == err)
             {
             ConvertAndAppendL(&buf8, EMetaDataSongTitle);
             }
 
-        TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaArtistFormat, EMetaDataArtist, &buf8));
+        TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataArtist, &buf8));
         if (KErrNone == err)
             {
             ConvertAndAppendL(&buf8, EMetaDataArtist);
             }
 		
-        TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaComposerFormat, EMetaDataComposer, &buf8));
+        TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataComposer, &buf8));
         if (KErrNone == err)
             {
             ConvertAndAppendL(&buf8, EMetaDataComposer);
             }
 
-        TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaAlbumFormat, EMetaDataAlbum, &buf8));
+        TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataAlbum, &buf8));
         if (KErrNone == err)
             {
             ConvertAndAppendL(&buf8, EMetaDataAlbum);
             }
             
-        TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaCommentFormat, EMetaDataComment, &buf8));
+        TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataComment, &buf8));
         if (KErrNone == err)
             {
             ConvertAndAppendL(&buf8, EMetaDataComment);
             }
 
-        TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaGenre, EMetaDataGenre, &buf));
+        TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataGenre, &buf));
         if (KErrNone == err)
             {
             AppendL(&buf, EMetaDataGenre);
             }
 		
-        TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaYearFormat, EMetaDataYear, &buf));
+        TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataYear, &buf));
         if (KErrNone == err)
             {
             AppendL(&buf, EMetaDataYear);
             }
 
-        TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaCustomGenreFormat, EMetaDataRating, &buf8));
+        TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataRating, &buf8));
         if (KErrNone == err)
             {
             ConvertAndAppendL(&buf8, EMetaDataGenre);
             }
 			
-		TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaTrack, EMetaDataAlbumTrack, &buf));
+		TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataAlbumTrack, &buf));
         if (KErrNone == err)
             {
             AppendL(&buf, EMetaDataAlbumTrack);
@@ -167,7 +167,7 @@
 
         TRAP(err, GetDurationL(EMetaDataDuration));
 		
-        TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaJpeg, EMetaDataJpeg, &buf8));
+        TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataJpeg, &buf8));
         if (KErrNone == err)
             {
             AppendL(&buf8, EMetaDataJpeg);
@@ -183,7 +183,7 @@
             switch ( aWantedFields[ i ] )
                 {
                 case EMetaDataSongTitle:
-                    TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaTitleFormat, EMetaDataSongTitle, &buf8));
+                    TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataSongTitle, &buf8));
                     if (KErrNone == err)
                         {
                         ConvertAndAppendL(&buf8, EMetaDataSongTitle);
@@ -191,7 +191,7 @@
                     break;
 					
                 case EMetaDataComment:
-                    TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaCommentFormat, EMetaDataComment, &buf8));
+                    TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataComment, &buf8));
                     if (KErrNone == err)
                         {
                         ConvertAndAppendL(&buf8, EMetaDataComment);
@@ -199,7 +199,7 @@
                     break;
 					
                 case EMetaDataAlbumTrack:
-                    TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaTrack, EMetaDataAlbumTrack, &buf));
+                    TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataAlbumTrack, &buf));
                     if (KErrNone == err)
                         {
                         AppendL(&buf, EMetaDataAlbumTrack);
@@ -207,7 +207,7 @@
                     break;
 					
                 case EMetaDataArtist:
-                    TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaArtistFormat, EMetaDataArtist, &buf8));
+                    TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataArtist, &buf8));
                     if (KErrNone == err)
                         {
                         ConvertAndAppendL(&buf8, EMetaDataArtist);
@@ -215,7 +215,7 @@
                     break;
 					
                 case EMetaDataComposer:
-                    TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaComposerFormat, EMetaDataComposer, &buf8));
+                    TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataComposer, &buf8));
                     if (KErrNone == err)
                         {
                         ConvertAndAppendL(&buf8, EMetaDataComposer);
@@ -223,7 +223,7 @@
                     break;
 					
                 case EMetaDataAlbum:
-                    TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaAlbumFormat, EMetaDataAlbum, &buf8));
+                    TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataAlbum, &buf8));
                     if (KErrNone == err)
                         {
                         ConvertAndAppendL(&buf8, EMetaDataAlbum);
@@ -231,7 +231,7 @@
                     break;
 					
                 case EMetaDataGenre:
-                    TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaGenre, EMetaDataGenre, &buf));
+                    TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataGenre, &buf));
                     if (KErrNone == err)
                         {
                         AppendL(&buf, EMetaDataGenre);
@@ -243,7 +243,7 @@
                     break;
 					
                 case EMetaDataYear:
-                    TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaYearFormat, EMetaDataYear, &buf));
+                    TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataYear, &buf));
                     if (KErrNone == err)
                         {
                         AppendL(&buf, EMetaDataYear);
@@ -251,7 +251,7 @@
                     break;
 					
                 case EMetaDataRating:
-                    TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaCustomGenreFormat, EMetaDataRating, &buf8));
+                    TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataRating, &buf8));
                     if (KErrNone == err)
                         {
                         ConvertAndAppendL(&buf8, EMetaDataGenre);
@@ -259,7 +259,7 @@
                     break;
 					
                 case EMetaDataJpeg:
-                    TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaJpeg, EMetaDataJpeg, &buf8));
+                    TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataJpeg, &buf8));
                     if (KErrNone == err)
                         {
                         AppendL(&buf8, EMetaDataJpeg);
--- a/mmserv/metadatautility/Src/MetaDataParserWMA.cpp	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmserv/metadatautility/Src/MetaDataParserWMA.cpp	Thu Aug 19 10:26:11 2010 +0300
@@ -11,8 +11,7 @@
 *
 * Contributors:
 *
-* Description:  This class implements an ID3v1 and v1.1 parser as specified in
-*                www.id3.org.
+* Description:  This class implements a wma parser 
 *
 */
 
@@ -42,9 +41,12 @@
  *  Preroll,            QWORD,  64
  *  Flags,              DWORD,  32 
  */
-const TInt KDurationOffset  = 64;       // duration offset from File Property object
-const TInt KPrerollOffset   = 80;       // preRoll offset from File Property object
-const TInt KFlagsOffset     = 88;       // flags offset from File Property object
+const TInt KDurationOffset  = 64;       // duration offset in File Property object
+const TInt KPrerollOffset   = 80;       // preRoll offset in File Property object
+const TInt KFlagsOffset     = 88;       // flags offset in File Property object
+const TInt KSampleRateOffset = 82;      // sample rate offset in stream properties object
+const TInt KBitRateOffset   = 86;       // bit rate offset in stream properties object
+
 
 // ASF Header Object GUIDs 
   
@@ -70,6 +72,7 @@
 #ifdef __WINDOWS_MEDIA
 _LIT(KWMProvider, "WM/Provider\0");
 #endif
+_LIT8 (KASFStreamPropertiesObject, "B7DC0791A9B711CF8EE600C00C205365");
 
 
 // ============================ MEMBER FUNCTIONS ===============================
@@ -125,10 +128,10 @@
 
 // Destructor
 CMetaDataParserWMA::~CMetaDataParserWMA()
-	{
-		delete iHeaderData;
-		delete iCharacterSet;
-		iFs.Close();
+    {
+    delete iHeaderData;
+    delete iCharacterSet;
+    iFs.Close();
 	}
 
 // -----------------------------------------------------------------------------
@@ -183,6 +186,8 @@
 	#ifdef __WINDOWS_MEDIA
 		TRAP(err, GetExtContDesEntryL(EMetaDataVendor, iProviderOffset));
 	#endif
+		TRAP(err, GetSampleRateL());
+		TRAP(err, GetBitRateL());
 		}
 	else
 		{
@@ -244,6 +249,12 @@
 				case EMetaDataVendor:
 					TRAP(err, GetExtContDesEntryL(EMetaDataVendor, iProviderOffset));
 			#endif
+				case EMetaDataSampleRate:
+					TRAP(err, GetSampleRateL());
+					break;
+				case EMetaDataBitRate:
+					TRAP(err, GetBitRateL());
+					break;
 				default:
 					break;
 				}
@@ -336,6 +347,12 @@
 			iHeaderExtensionObjectExists = ETrue;
 			iHeaderExtensionOffset = objOffset;
 			}	
+		if(!iStreamPropertiesObjectExists && objGUID == 
+			KASFStreamPropertiesObject)
+			{
+			iStreamPropertiesObjectExists = ETrue;
+			iStreamPropertiesOffset = objOffset;
+			}	
 		TBuf8<8> size = iHeaderData->Mid(objOffset + 16, 8); 
 		TInt objSize = ConvertToInt64(size); // upper 32 bits?
 		if(0 > objSize)
@@ -345,7 +362,8 @@
 		objOffset += objSize;
 		if(objOffset >= headerSize - 30 || 
 			(iContentDescriptionObjectExists && iFilePropertiesObjectExists 
-			&& iExtendedContentDescriptionObjectExists && iHeaderExtensionObjectExists) )
+			&& iExtendedContentDescriptionObjectExists && iHeaderExtensionObjectExists 
+			&& iStreamPropertiesObjectExists) )
 			{
 			loop = EFalse;
 			}
@@ -374,7 +392,7 @@
 // -----------------------------------------------------------------------------
 //
 void CMetaDataParserWMA::FormatGUID(TDes8 &aGUID)
-{
+    {
 	TBuf8<16> copyGUID(aGUID);
 	TInt i;
 	for(i = 0; i < 4; i++)
@@ -396,16 +414,16 @@
 	aGUID.Delete(0, 32);
 	for(i = 0; i <16; i++)
 		{
-			aGUID.AppendNumFixedWidthUC(copyGUID[i], EHex, 2);
+        aGUID.AppendNumFixedWidthUC(copyGUID[i], EHex, 2);
 		}
-}
+    }
 
 // -----------------------------------------------------------------------------
 // CMetaDataParserWMA::ConvertToInt64
 // -----------------------------------------------------------------------------
 //
 TInt64 CMetaDataParserWMA::ConvertToInt64(TDesC8& aDes)
-{
+    {
 	TInt64 num = 0;
 	TInt i;
 	for(i = 7 ; i >= 0; i--)
@@ -414,14 +432,14 @@
 		num |= aDes[i];
 		}
 	return num;
-}
+    }
 
 // -----------------------------------------------------------------------------
 // CMetaDataParserWMA::ConvertToInt32
 // -----------------------------------------------------------------------------
 //
 TInt CMetaDataParserWMA::ConvertToInt32(TDesC8& aDes)
-{
+    {
 	TInt num = 0;
 	for(TInt i = 3 ; i >= 0; i--)
 		{	
@@ -429,7 +447,7 @@
 		num |= aDes[i];
 		}
 	return num;
-}
+    }
 
 
 // -----------------------------------------------------------------------------
@@ -437,7 +455,7 @@
 // -----------------------------------------------------------------------------
 //
 TInt CMetaDataParserWMA::ConvertToInt16(TDesC8& aDes)
-{
+    {
 	TInt num = 0;
 	for(TInt i = 1 ; i >= 0; i--)
 		{	
@@ -445,7 +463,7 @@
 		num |= aDes[i];
 		}
 	return num;
-}
+    }
 
 // -----------------------------------------------------------------------------
 // CMetaDataParserWMA::ConvertDes8toDes16
@@ -573,15 +591,15 @@
 // -----------------------------------------------------------------------------
 //
 void CMetaDataParserWMA::GetJpegL()
-{
+    {
 	if (iPictureOffset <= 0)
-	{
-		return;
-	}
+	    {
+        return;
+        }
 	
 	TInt offset = iPictureOffset;
 	if(!iMetadatLibraryObjectJpegExists)
-		{
+	    {
 		TPtrC8 dataType = iHeaderData->Mid(offset, 2);
 		offset += 2;
 		TInt dataTypeInt = ConvertToInt16(dataType);
@@ -603,28 +621,28 @@
 	TInt picType = 0;
 	picType |= picData[0];
 	if(picType != 3)
-	{
+	    {
 		return; // only Front Album Cover supported
-	}
+        }
 	
 	TPtrC8 picLengthData = iHeaderData->Mid(offset, 4);
 	offset += 4;
 	TInt picLength = ConvertToInt32(picLengthData);
 	if(picLength <= 0)
-	{
+	    {
 		return;
-	}
+        }
 	
 	_LIT8(KNULL, "\0\0");
 	TPtrC8 data = iHeaderData->Mid(offset, picLength);
 	TInt pos = data.Find(KNULL);
 	if(pos != 0)
-	{
+	    {
 		pos++; // for unicode coding for strings. 
-	}
+        }
 	// check mime type
 	if(pos != KErrNotFound)
-	{
+	    {
 		HBufC8 *mimeType = iHeaderData->Mid(offset, pos + 2).AllocLC();
 		offset += pos + 2;
 		HBufC* name16 = HBufC::NewLC( (pos+2)/2);
@@ -633,26 +651,26 @@
 		_LIT(KJPEG, "image/jpeg\0");
 		_LIT(KJPG, "image/jpg\0");
 		if(mimeType16.Compare(KJPEG) != 0 && mimeType16.Compare(KJPG) != 0)
-		{
+		    {
 			CleanupStack::PopAndDestroy(2, mimeType);
 			return; // only JPEG & JPG supported
-		}
+		    }
 		CleanupStack::PopAndDestroy(2); // mimeType16, mimeType
-	}
+        }
 		
 	// skip the picture description
 	TPtrC8 picDesc = iHeaderData->Mid(offset, picLength);
 	pos = picDesc.Find(KNULL);
 	if(pos != 0)
-	{
+	    {
 		pos++; // for unicode coding for strings. 
-	}
+        }
 	offset += pos + 2;
 	
 	// picture data 
 	TPtrC8 pic8 = iHeaderData->Mid(offset, picLength);	
 	iContainer->AppendL( EMetaDataJpeg, pic8 );
-}
+    }
 
 
 // -----------------------------------------------------------------------------
@@ -660,7 +678,7 @@
 // -----------------------------------------------------------------------------
 //
 TBool CMetaDataParserWMA::GetExtContDesEntryL(TMetaDataFieldId aFieldId, TInt aOffset)
-{
+    {
 	TBool ret = EFalse;
 	if(iExtendedContentDescriptionCount == 0)
 		{
@@ -705,7 +723,7 @@
 		ret = ETrue;
 		}
 	return ret;
-}
+    }
 
 // -----------------------------------------------------------------------------
 // CMetaDataParserWMA::GetDurationL
@@ -757,7 +775,7 @@
 	TDes16& aUnicode )
 	{
 	TPtrC8 unicodeData;
-  TUint characterSetId = 0;
+	TUint characterSetId = 0;
 	CCnvCharacterSetConverter* charSetConv = CCnvCharacterSetConverter::NewLC();
 	TInt state = CCnvCharacterSetConverter::KStateDefault;
 
@@ -784,17 +802,17 @@
 //
 void CMetaDataParserWMA::ParseContentDescriptionObject()
 	{
-		TBuf8<2> data = iHeaderData->Mid(iContentDescriptionOffset + 24, 2);
-		iTitleLength = ConvertToInt16(data); 
-		data = iHeaderData->Mid(iContentDescriptionOffset + 26, 2);
-		iAuthorLength = ConvertToInt16(data); 
-		data = iHeaderData->Mid(iContentDescriptionOffset + 28, 2);
-		iCopyrightLength = ConvertToInt16(data); 
-		data = iHeaderData->Mid(iContentDescriptionOffset + 30, 2);
-		iDescriptionLength = ConvertToInt16(data); 
-		data = iHeaderData->Mid(iContentDescriptionOffset + 32, 2);
-		iRatingLength = ConvertToInt16(data);
-		return;
+	TBuf8<2> data = iHeaderData->Mid(iContentDescriptionOffset + 24, 2);
+	iTitleLength = ConvertToInt16(data); 
+	data = iHeaderData->Mid(iContentDescriptionOffset + 26, 2);
+	iAuthorLength = ConvertToInt16(data); 
+	data = iHeaderData->Mid(iContentDescriptionOffset + 28, 2);
+	iCopyrightLength = ConvertToInt16(data); 
+	data = iHeaderData->Mid(iContentDescriptionOffset + 30, 2);
+	iDescriptionLength = ConvertToInt16(data); 
+	data = iHeaderData->Mid(iContentDescriptionOffset + 32, 2);
+	iRatingLength = ConvertToInt16(data);
+	return;
 	}
 
 
@@ -1006,4 +1024,65 @@
 		}
 	}	
 
+// -----------------------------------------------------------------------------
+// CMetaDataParserWMA::GetSampleRateL
+// -----------------------------------------------------------------------------
+//
+void CMetaDataParserWMA::GetSampleRateL()
+    {
+#ifdef _DEBUG
+    RDebug::Print(_L("CMetaDataParserWMA::GetSampleRateL"));
+#endif    
+    if(!iStreamPropertiesObjectExists)
+        {
+        return;
+        }
+    TInt offset = iStreamPropertiesOffset + KSampleRateOffset;
+    TPtrC8 sampleRate = iHeaderData->Mid(offset, 4);
+    if(offset+4 > iHeaderData->Length())        //Header Size is too small
+        {
+        return ;
+        } 
+    
+    TInt sampleRateValue = ConvertToInt32(sampleRate); 
+    TBuf16<20> des16;   
+    des16.Num(sampleRateValue);                 // convert to string
+    
+    iContainer->AppendL( EMetaDataSampleRate, des16 );
+    
+#ifdef _DEBUG
+    RDebug::Print(_L("CMetaDataParserWMA::GetSampleRateL(), SampleRate=%S"), &des16);
+#endif      
+    }
+	
+// -----------------------------------------------------------------------------
+// CMetaDataParserWMA::GetBitRateL
+// -----------------------------------------------------------------------------
+//
+void CMetaDataParserWMA::GetBitRateL()
+    {
+#ifdef _DEBUG
+    RDebug::Print(_L("CMetaDataParserWMA::GetBitRateL"));
+#endif    
+    if(!iStreamPropertiesObjectExists)
+	    {
+        return;
+	    }
+    TInt offset = iStreamPropertiesOffset + KBitRateOffset;
+    if(offset+4 > iHeaderData->Length()) //Header Size is too small
+        {
+        return ;
+        } 
+    TPtrC8 byteRate = iHeaderData->Mid(offset, 4);      // byte rate
+
+    TInt bitRateValue = ConvertToInt32(byteRate) * 8;  // multiply by 8 to get bit rate
+    TBuf16<20> des16;   
+    des16.Num(bitRateValue);                           // convert to string
+    
+    iContainer->AppendL( EMetaDataBitRate, des16 );
+#ifdef _DEBUG
+    RDebug::Print(_L("CMetaDataParserWMA::GetBitRateL(), bitRate=%S"), &des16);
+#endif    
+    }
+
 //  End of File
--- a/mmserv/metadatautility/Src/MetaDataParserWMA.h	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmserv/metadatautility/Src/MetaDataParserWMA.h	Thu Aug 19 10:26:11 2010 +0300
@@ -11,8 +11,7 @@
 *
 * Contributors:
 *
-* Description:  This class implements an ID3v1 and v1.1 parser as specified in
-*                www.id3.org.
+* Description:  This class implements a wma parser 
 *
 */
 
@@ -119,6 +118,18 @@
         * @return void
 		*/
 		void GetDurationL();
+		
+		/**
+        * Append sample rate to the container, if found.
+        * @return void
+		*/
+		void GetSampleRateL();
+		
+		/**
+        * Append bit rate to the container, if found.
+        * @return void
+		*/
+		void GetBitRateL();
 
 		/**
         * Parses all entries in Content Description Object
@@ -240,6 +251,9 @@
 		TBool iHeaderExtensionObjectExists;
 		TBool iMetadataLibraryObjectExists;
 		TBool iMetadatLibraryObjectJpegExists;
+		TBool iStreamPropertiesObjectExists;
+		
+		TInt iStreamPropertiesOffset;
     };
 
 #endif      // CMetaDataParserWMA_H
--- a/mmserv/voipaudioservices/VoIPIntfc/src/VoIPUtilityFactoryImpl.cpp	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmserv/voipaudioservices/VoIPIntfc/src/VoIPUtilityFactoryImpl.cpp	Thu Aug 19 10:26:11 2010 +0300
@@ -71,7 +71,7 @@
     // deny access to audio resources.
     iPriorityDn.iPref = KAudioPrefVoipAudioDownlink;
     iPriorityDn.iPriority = KAudioPriorityVoipAudioDownlink;
-    iPriorityUp.iPref = KAudioPrefVoipAudioUplink;
+    iPriorityUp.iPref = KAudioPrefVoipAudioUplinkNonSignal; //for DTMF mixing
     iPriorityUp.iPriority = KAudioPriorityVoipAudioUplink;
     }
 
--- a/mmserv/voipaudioservices/VoIPServer/inc/VoIPQueueHandlerSrv.h	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmserv/voipaudioservices/VoIPServer/inc/VoIPQueueHandlerSrv.h	Thu Aug 19 10:26:11 2010 +0300
@@ -22,8 +22,6 @@
 #include <e32base.h>
 #include <e32msgqueue.h>
 #include "VoIPAudioClientServer.h"   // for TVoIPMsgBuf
-// FORWARD DECLARATIONS
-
 
 /**
  *  MQueueHandlerObserver
--- a/mmserv/voipaudioservices/VoIPServer/inc/VoIPServerThread.h	Thu Jul 15 19:13:36 2010 +0300
+++ b/mmserv/voipaudioservices/VoIPServer/inc/VoIPServerThread.h	Thu Aug 19 10:26:11 2010 +0300
@@ -16,8 +16,8 @@
  *
  */
 
-#ifndef __VOIPAUDIOSERVERTHREAD_H
-#define __VOIPAUDIOSERVERTHREAD_H
+#ifndef VOIPAUDIOSERVERTHREAD_H
+#define VOIPAUDIOSERVERTHREAD_H
 
 #include <e32msgqueue.h>
 #include <sounddevice.h>
@@ -281,6 +281,6 @@
 
     };
 
-#endif  // __VOIPAUDIOSERVERTHREAD_H
+#endif  // VOIPAUDIOSERVERTHREAD_H
 
 // End of file
--- a/package_definition.xml	Thu Jul 15 19:13:36 2010 +0300
+++ b/package_definition.xml	Thu Aug 19 10:26:11 2010 +0300
@@ -63,9 +63,6 @@
       <component id="mmmw_plat" filter="s60" name="Multimedia Middleware Platform Interfaces" class="api">
         <unit bldFile="mmmw_plat/group"/>
       </component>
-      <component id="mmmw_metadata" name="Multimedia Middleware Metadata" class="config" introduced="^2" purpose="development" target="desktop">
-        <unit mrp="mmmw_info/mmmw_metadata/mmmw_metadata.mrp"/>
-      </component>
     </collection>
   </package>
 </SystemDefinition>