Revision: 201021
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 27 May 2010 14:24:04 +0300
changeset 21 1c0a769d0cc5
parent 18 72dc595b34a8
child 24 2672ba96448e
Revision: 201021 Kit: 2010121
devsoundextensions/drmaudioplayer/DRMPlayServer/inc/DRMCustomCommandAsyncAO.h
imagingandcamerafws/camerafw/Include/distribution.policy
imagingandcamerafws/imagingfws/inc/icl/distribution.policy
mdfdevvideoextensions/nga_mdf_postprocessor/group/nga_mdf_postprocessor.pkg
mdfdevvideoextensions/nga_mdf_postprocessor/inc/NGAPostProcHwDevice.h
mdfdevvideoextensions/nga_mdf_postprocessor/src/NGAPostProcHwDevice.cpp
mm_pub/audio_effects_presets_api/tsrc/EffectPresetsTest/src/EffectPresetTestCore.cpp
mm_pub/drm_audio_player_api/tsrc/DRMAudioPlay/src/DRMAudioPlay_core.cpp
mm_pub/drm_audio_player_api/tsrc/DRMAudioPlay/src/SimpleSoundPlayer.cpp
mm_pub/drm_audio_player_api/tsrc/data/mmc/drm/test3gp.dcf
mm_pub/drm_audio_player_api/tsrc/data/mmc/drm/testmp3.dcf
mmlibs/mmfw/tsrc/mmfunittest/Recogniser/Data/common/distribution.policy
mmlibs/mmfw/tsrc/mmfunittest/Recogniser/Data/distribution.policy
--- a/devsoundextensions/drmaudioplayer/DRMPlayServer/inc/DRMCustomCommandAsyncAO.h	Fri May 14 17:22:44 2010 +0300
+++ b/devsoundextensions/drmaudioplayer/DRMPlayServer/inc/DRMCustomCommandAsyncAO.h	Thu May 27 14:24:04 2010 +0300
@@ -23,7 +23,7 @@
 
 #include <e32base.h>
 #include "DRMPlaySession.h"
-// #include <MdaAudioSamplePlayer.h>
+// #include <mdaaudiosampleplayer.h>
 
 class CDRMPlayServerSession;
 
--- a/imagingandcamerafws/camerafw/Include/distribution.policy	Fri May 14 17:22:44 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-Category E
-OSD:	Optional Replaceable	Multimedia Camera API
--- a/imagingandcamerafws/imagingfws/inc/icl/distribution.policy	Fri May 14 17:22:44 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-Category D
-OSD:	Common Symbian	Image Conversion Library framework
--- a/mdfdevvideoextensions/nga_mdf_postprocessor/group/nga_mdf_postprocessor.pkg	Fri May 14 17:22:44 2010 +0300
+++ b/mdfdevvideoextensions/nga_mdf_postprocessor/group/nga_mdf_postprocessor.pkg	Thu May 27 14:24:04 2010 +0300
@@ -20,7 +20,7 @@
 &EN
 
 ; Header
-#{"NGA MDF PostProcessor"},(0x0251318C), 1, 0, 0, TYPE=PU
+#{"NGA MDF PostProcessor"},(0x0251318C), 1, 0, 0, TYPE=SA,RU
 
 ; Localised Vendor name
 %{"Nokia"}
--- a/mdfdevvideoextensions/nga_mdf_postprocessor/inc/NGAPostProcHwDevice.h	Fri May 14 17:22:44 2010 +0300
+++ b/mdfdevvideoextensions/nga_mdf_postprocessor/inc/NGAPostProcHwDevice.h	Thu May 27 14:24:04 2010 +0300
@@ -1069,7 +1069,10 @@
     TInt 								    	iVideoFrameBufSize;	
     TBool 										iResourceLost;
     TBool 										iRedrawDone;
-    
+	// Flag to indicate that the redraw surface has been created, and
+	// can be used in a subsequent call ro Redraw()
+	TBool										iRedrawSurfaceInUse;
+
     //-- members for buffer management --
     MMmfVideoBufferManagementObserver*  		iVBMObserver;
     TBufferOptions                      		iVBMBufferOptions;
--- a/mdfdevvideoextensions/nga_mdf_postprocessor/src/NGAPostProcHwDevice.cpp	Fri May 14 17:22:44 2010 +0300
+++ b/mdfdevvideoextensions/nga_mdf_postprocessor/src/NGAPostProcHwDevice.cpp	Thu May 27 14:24:04 2010 +0300
@@ -99,6 +99,7 @@
             iVideoFrameBufSize(0),
             iResourceLost(EFalse),
             iRedrawDone(EFalse),
+			iRedrawSurfaceInUse(EFalse),
             iVBMObserver(NULL),
             count(0),
             iSurfaceMask(surfaceHints::EAllowAllExternals),
@@ -407,7 +408,10 @@
 	    }
 		if(!iFirstPictureUpdated)
 		{
-			iTimeToPost = EPostIt;
+            if(iTimeToPost == EDelayIt)
+            {
+                iTimeToPost = EPostIt;
+            }
 		}
 		switch(iTimeToPost)
 		{
@@ -441,7 +445,10 @@
 				if(!iFirstPictureUpdated)
 				{
 					iFirstPictureUpdated = ETrue;
-					PublishSurfaceCreated();
+                    if(!iSurfaceCreatedEventPublished)
+                    {
+                        PublishSurfaceCreated();
+                    }
 				}
 			}
 			break;
@@ -848,12 +855,12 @@
 { 
 	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:Redraw ++"), this);
 	TInt err = KErrNone;
-	if(iResourceLost && !iRedrawDone)
+	if(iRedrawSurfaceInUse && !iRedrawDone)
 	{
         err = AddHints();
         if (err != KErrNone)
         {
-            PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvroResourcesLost -- failed to AddHints %d"), 
+            PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:Redraw -- failed to AddHints %d"), 
                          this, err);
             iProxy->MdvppFatalError(this, err);	
             return;   
@@ -862,7 +869,7 @@
 		err = RegisterSurface(iSurfaceId);
 		if (err != KErrNone)
 		{
-		   PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvroResourcesLost -- failed to Register Surface %d"), 
+		   PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:Redraw -- failed to Register Surface %d"), 
 		   				this, err);
 		   	iSurfaceHandler->DestroySurface(iSurfaceId);
 	   		iSurfaceId = TSurfaceId::CreateNullId();
@@ -926,7 +933,10 @@
 		PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:SetPosition FAILED: Unexpected state"), this);
         return;
     }
-    
+    if (iPPState == EPaused)
+    {	
+        iFirstPictureUpdated = EFalse;
+    }
     iCurrentPlaybackPosition = aPlaybackPosition;  
     
     ReleaseInputQ();
@@ -1416,7 +1426,7 @@
 	if(!aSurfaceId.IsNull())
 	{
 		PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvssSurfaceRemovedL(): UnregisterSurface ID = 0x%x"), this, aSurfaceId );
-		iWsSession.UnregisterSurface(0, iSurfaceId);
+		iWsSession.UnregisterSurface(0, aSurfaceId);
 		iSurfaceHandler->DestroySurface(aSurfaceId);
 	}
 		
@@ -1460,7 +1470,12 @@
 		ReleaseInputQ();
 		iSessionManager->CancelUpdate();
 		ReleaseProcessQ();
-		iVideoSurfaceObserver->MmvsoRemoveSurface();
+		if(iVideoSurfaceObserver && iSurfaceCreatedEventPublished)
+		{
+			PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvroResourcesLost - Telling client to remove surface"), this);
+			iVideoSurfaceObserver->MmvsoRemoveSurface();
+			iSurfaceCreatedEventPublished = EFalse;
+		}
 	}
 	else if(iResourceLost && iRedrawDone)
 	{
@@ -1506,7 +1521,7 @@
 
 void CNGAPostProcHwDevice::MmvshcRedrawBufferToSurface(TPtrC8& aRedrawBuffer)
 {
-    PP_DEBUG(_L("CNGAPostProcHwDevice::MmvshcRedrawBufferToSurface ++"), this);
+    PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvshcRedrawBufferToSurface ++"), this);
 	
 	TSize 			surfaceSize; 
     TUint8*         lPtr;
@@ -1550,6 +1565,7 @@
 	   				this, err);
 	   	iSurfaceHandler->DestroySurface(iSurfaceId);
 	   	iSurfaceId = TSurfaceId::CreateNullId();
+		iChunk.Close();
 		iProxy->MdvppFatalError(this, err);	   				
 	    return;
 	}
@@ -1561,6 +1577,7 @@
     	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvshcRedrawBufferToSurface offset query failed %d"), this, err);
     	iSurfaceHandler->DestroySurface(iSurfaceId);
 	   	iSurfaceId = TSurfaceId::CreateNullId();
+		iChunk.Close();
     	iProxy->MdvppFatalError(this, err);
     	return;
     }
@@ -1568,7 +1585,9 @@
     
 	lPtr = reinterpret_cast<TUint8*>(iChunk.Base() + offset);
 	memcpy((TAny *)lPtr, (TAny *)aRedrawBuffer.Ptr(), aRedrawBuffer.Size());
-	
+
+	iRedrawSurfaceInUse = ETrue;
+
     PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvshcRedrawBufferToSurface error = %d --"), this, err);
 }
 
@@ -1578,14 +1597,27 @@
     
     if(!iSurfaceId.IsNull())
     {
-    	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:SetupExternalSurface Cleaning ReDraw Surface"), this);
-		iVideoSurfaceObserver->MmvsoRemoveSurface();
+		if (iVideoSurfaceObserver && iSurfaceCreatedEventPublished)
+		{
+			PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:SetupExternalSurface - Telling client to remove old surface"), this);
+			iVideoSurfaceObserver->MmvsoRemoveSurface();
+			iSurfaceCreatedEventPublished = EFalse;
+		}
+		else
+		{
+			// We never told the client about the surface, so we must destroy it ourselves
+			PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:SetupExternalSurface - Destroying old surface"), this);
+   			iWsSession.UnregisterSurface(0, iSurfaceId);
+			iSurfaceHandler->DestroySurface(iSurfaceId);
+		}
+
+		iChunk.Close();
 	}
     
     iSurfaceId            = aSurfaceID;
     iUsingExternalSurface = ETrue;
-    
-    
+    iRedrawSurfaceInUse = EFalse;
+
     // Create the surface handler if it doesn't exist.
     if (!iSurfaceHandler)
     {
@@ -1776,7 +1808,10 @@
 				if(!iFirstPictureUpdated)
 				{
 					iFirstPictureUpdated = ETrue;
-					PublishSurfaceCreated();
+                    if(!iSurfaceCreatedEventPublished)
+                    {
+                        PublishSurfaceCreated();
+                    }
 				}	
 			}	// end of postit
 			break;
--- a/mm_pub/audio_effects_presets_api/tsrc/EffectPresetsTest/src/EffectPresetTestCore.cpp	Fri May 14 17:22:44 2010 +0300
+++ b/mm_pub/audio_effects_presets_api/tsrc/EffectPresetsTest/src/EffectPresetTestCore.cpp	Thu May 27 14:24:04 2010 +0300
@@ -353,7 +353,7 @@
 TUint32 CTestAudioEqualizerUtility::NumberOfPreDefinePresets(TTestResult & aResult)
 	{
 		TInt err=KErrNone;
-		TUint32 aPredefinedPreset;
+		TUint32 aPredefinedPreset = 0;
 
 		TRAP(err, aPredefinedPreset=iAudioEqualizerUtility->NumberOfPreDefinedPresets());
 		aResult.iResult = err;
--- a/mm_pub/drm_audio_player_api/tsrc/DRMAudioPlay/src/DRMAudioPlay_core.cpp	Fri May 14 17:22:44 2010 +0300
+++ b/mm_pub/drm_audio_player_api/tsrc/DRMAudioPlay/src/DRMAudioPlay_core.cpp	Thu May 27 14:24:04 2010 +0300
@@ -21,7 +21,7 @@
 #include <caf.h>
 #include <caf/supplier.h>
 #include <caf/importfile.h>
-#include <oma2agent.h>
+#include <Oma2Agent.h>
 #include <BAUTILS.H>
 
 using namespace ContentAccess;
--- a/mm_pub/drm_audio_player_api/tsrc/DRMAudioPlay/src/SimpleSoundPlayer.cpp	Fri May 14 17:22:44 2010 +0300
+++ b/mm_pub/drm_audio_player_api/tsrc/DRMAudioPlay/src/SimpleSoundPlayer.cpp	Thu May 27 14:24:04 2010 +0300
@@ -249,7 +249,7 @@
 				if (iMetaInfoTest)
 				    {	//No error yet
 					TInt currMetaDataIndex = 0;
-					CMMFMetaDataEntry* currMetaData;
+					CMMFMetaDataEntry* currMetaData = NULL;
 					for ( currMetaDataIndex=0 ; currMetaDataIndex < NumMetaDatas ; currMetaDataIndex++)
 					    {
 					    currMetaData = iMdaPlayer->GetMetaDataEntryL(currMetaDataIndex);
@@ -783,9 +783,10 @@
 			return ETrue;
 			//break;
 		case KPlayerActionStopPlayUrl:
-			CUrlParameters *p = static_cast<CUrlParameters *>(aParams);
-			OpenUrlL(p->GetUrl() , p->GetIapId() , p->GetMimeType() );
-			break;
+		   CUrlParameters *p;
+			 p = static_cast<CUrlParameters *>(aParams);
+			 OpenUrlL(p->GetUrl() , p->GetIapId() , p->GetMimeType() );
+			 break;
 		case KPlayerActionStopPlayFileHandler:
 			Stop();
 		//	OpenFileHandlerL((static_cast<CFileNameParameters*>(aParams) )->GetFileName() , ETrue);
--- a/mmlibs/mmfw/tsrc/mmfunittest/Recogniser/Data/common/distribution.policy	Fri May 14 17:22:44 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-Category T
-OSD:	Reference/Test	Multimedia Test
--- a/mmlibs/mmfw/tsrc/mmfunittest/Recogniser/Data/distribution.policy	Fri May 14 17:22:44 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-Category T
-OSD:	Reference/Test	Multimedia Test