Revision: 2010wk36 PDK_4.0.a
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 17 Sep 2010 08:27:08 +0300
changeset 1 e0d606d6e3b1
parent 0 58be5850fb6c
child 4 46e224560be8
Revision: 2010wk36 Kit: 201037
omxilcomp/omxilaudioemulator/pcmrenderer/group/bld.inf
omxilcomp/omxilaudioemulator/pcmrenderer/inc/omxilsymbianaudiopcmextensions.h
omxilcomp/omxilaudioemulator/pcmrenderer/mmpfiles/omxilpcmrenderer.mmp
omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrenderer.cpp
omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrenderer.h
omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrendererapb0port.cpp
omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrendererapb0port.h
omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrendererconfigmanager.cpp
omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrendererconfigmanager.h
omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrendererconst.h
omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrendererprocessingfunction.cpp
omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrendererprocessingfunction.h
omxilcomp/omxilaudioemulator/pcmrenderer/unittest/mmpfiles/tsu_omxil_pcmrenderer_01.mmp
omxilcomp/omxilaudioemulator/pcmrenderer/unittest/src/tsu_omxil_component_base.cpp
omxilcomp/omxilaudioemulator/pcmrenderer/unittest/src/tsu_omxil_component_base.h
omxilcomp/omxilaudioemulator/pcmrenderer/unittest/src/tsu_omxil_pcmrenderer_step.cpp
omxilcomp/omxilaudioemulator/pcmrenderer/unittest/src/tsu_omxil_pcmrenderer_step.h
omxilcomp/omxilgeneric/filesink/tests/unit/te_omx_filesink_audio.script
omxilcomp/omxilgeneric/filesink/tests/unit/te_omx_filesink_image.script
omxilcomp/omxilgeneric/filesink/tests/unit/te_omx_filesink_other.script
omxilcomp/omxilgeneric/filesink/tests/unit/te_omx_filesink_video.script
omxilcomp/omxilgeneric/filesink/tests/unit/te_omx_filesink_video_compatibility.script
--- a/omxilcomp/omxilaudioemulator/pcmrenderer/group/bld.inf	Thu Sep 02 20:13:57 2010 +0300
+++ b/omxilcomp/omxilaudioemulator/pcmrenderer/group/bld.inf	Fri Sep 17 08:27:08 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -20,11 +20,6 @@
 // Components
 ../mmpfiles/omxilpcmrenderer.mmp
 
-PRJ_EXPORTS
-// Romkit include files
-../inc/omxilsymbianaudiopcmextensions.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(openmax/il/extensions/omxilsymbianaudiopcmextensions.h)
-
-
 // We do not include the pcmrenderer tests here because they depend on the testframework which does not exist in NCP builds.
 // They are built via the omxilunittest bld.inf (which NCP does not include)
-//#include "..\unittest\group\bld.inf"
\ No newline at end of file
+//#include "../unittest/group/bld.inf"
\ No newline at end of file
--- a/omxilcomp/omxilaudioemulator/pcmrenderer/inc/omxilsymbianaudiopcmextensions.h	Thu Sep 02 20:13:57 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file
- @publishedPartner@prototype
-*/
-
-#ifndef OMXILSYMBIANAUDIOPCMEXTENSIONS_H
-#define OMXILSYMBIANAUDIOPCMEXTENSIONS_H
-
-
-#include <openmax/il/khronos/v1_x/OMX_Types.h>
-
-
-/**
- * The string that the Symbian's OpenMAX IL PCM Renderer component will
- * translate into a 32-bit OpenMAX IL index (@see
- * OMX_SYMBIAN_AUDIO_CONFIG_PCM_VOLUMERAMP) to support the
- * Volume Ramp feature of the MPlayCustomInterface CI
- */
-const char sOmxSymbianPcmVolumeRamp [] =
-	"OMX.Symbian.index.config.audio.pcm.volumeramp";
-
-
-/**
- * Custom index used by Symbian's OpenMAX IL PCM renderer to select the
- * structure for setting/getting a Volume Ramp configuration data item
- */
-#define OMX_SymbianIndexConfigAudioPcmVolumeRamp 0x7F000002
-
-
-/**
- * Custom OpenMAX IL structure to be used as a container for an
- * Volume Ramp configuration data item
- */
-struct OMX_SYMBIAN_AUDIO_CONFIG_PCM_VOLUMERAMP
-	{
-    OMX_U32 nSize;                 /**< Size of this structure, in Bytes */
-    OMX_VERSIONTYPE nVersion;      /**< OMX specification version information */
-    OMX_U32 nPortIndex;            /**< Port that this structure applies to */
-    OMX_U64 nRampDuration;         /**< the period, in microseconds, over which the volume level is 
-    								   to rise smoothly from nothing to the 
-    								   required volume level */
-	};
-
-/**
- * The string that the Symbian's OpenMAX IL PCM Renderer component will
- * translate into a 32-bit OpenMAX IL index (@see
- * OMX_SYMBIAN_AUDIO_CONFIG_PCM_BYTESPLAYED) to support the
- * Bytes Played feature of the MPlayCustomInterface CI
- */
-const char sOmxSymbianPcmBytesPlayed [] =
-	"OMX.Symbian.index.config.audio.pcm.bytesplayed";
-
-
-/**
- * Custom index used by Symbian's OpenMAX IL PCM renderer to select the
- * structure for getting a Bytes Played configuration data item
- */
-#define OMX_SymbianIndexConfigAudioBytesPlayed 0x7F000003
-
-
-/**
- * Custom OpenMAX IL structure to be used as a container for an
- * Bytes Played configuration data item
- */
-struct OMX_SYMBIAN_AUDIO_CONFIG_PCM_BYTESPLAYED
-	{
-    OMX_U32 nSize;                 /**< Size of this structure, in Bytes */
-    OMX_VERSIONTYPE nVersion;      /**< OMX specification version information */
-    OMX_U32 nBytesPlayed;          /**< the number of bytes played */
-	};
-
-
-#endif // OMXILSYMBIANAUDIOPCMEXTENSIONS_H
--- a/omxilcomp/omxilaudioemulator/pcmrenderer/mmpfiles/omxilpcmrenderer.mmp	Thu Sep 02 20:13:57 2010 +0300
+++ b/omxilcomp/omxilaudioemulator/pcmrenderer/mmpfiles/omxilpcmrenderer.mmp	Fri Sep 17 08:27:08 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
 // under the terms of "Eclipse Public License v1.0"
@@ -33,7 +33,6 @@
 SOURCE					omxilpcmrenderer.cpp
 SOURCE					omxilpcmrendererapb0port.cpp
 SOURCE					omxilpcmrendererprocessingfunction.cpp
-SOURCE					omxilpcmrendererconfigmanager.cpp
 
 SOURCE	mdasoundadapter.cpp
 SOURCE	mdasoundadapterbody.cpp
@@ -49,6 +48,7 @@
 LIBRARY					omxilcomponentcommon.lib
 STATICLIBRARY			omxilcomponentif.lib
 
+
 // Uncomment to activate debug tracing in this module
 // MACRO				_OMXIL_PCMRENDERER_DEBUG_TRACING_ON
 
--- a/omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrenderer.cpp	Thu Sep 02 20:13:57 2010 +0300
+++ b/omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrenderer.cpp	Fri Sep 17 08:27:08 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -21,13 +21,12 @@
  @internalComponent
 */
 #include <openmax/il/common/omxilspecversion.h>
+#include <openmax/il/common/omxilconfigmanager.h>
 #include <openmax/il/common/omxilclientclockport.h>
 #include <openmax/il/loader/omxilsymbiancomponentif.h>
 #include "log.h"
 #include "omxilpcmrenderer.h"
 #include "omxilpcmrendererapb0port.h"
-#include "omxilpcmrendererprocessingfunction.h"
-#include "omxilpcmrendererconfigmanager.h"
 #include "omxilpcmrenderer.hrh"
 
 
@@ -107,9 +106,10 @@
 					);
 							
 	// ...create PCM renderer component ports (no OPB0 port)
-	COmxILPcmRendererAPB0Port* pb0Port = ConstructAPB0PortL();
+	COmxILPcmRendererProcessingFunction* ptr = static_cast<COmxILPcmRendererProcessingFunction*>(pProcessingFunction);
+	COmxILPcmRendererAPB0Port* pb0Port = ConstructAPB0PortL(*ptr);
 	CleanupStack::PushL(pb0Port);
-	
+
 	// ..  and add them to the port manager...
 	User::LeaveIfError(AddPort(pb0Port, OMX_DirInput));
 	CleanupStack::Pop(); //pb0Port
@@ -123,8 +123,7 @@
 	CleanupClosePushL(componentRoles);
 	User::LeaveIfError(componentRoles.Append(&KSymbianOmxILPcmRendererRole()));
 
-	COmxILConfigManager* pConfigManager = COmxILPcmRendererConfigManager::NewL(
-		*static_cast<COmxILPcmRendererProcessingFunction*>(pProcessingFunction),
+	COmxILConfigManager* pConfigManager = COmxILConfigManager::NewL(
 		KSymbianOmxILPcmRendererName,
 		TOmxILVersion(iComponentVersionMajor,
 					  iComponentVersionMinor,
@@ -154,7 +153,7 @@
 	}
 
 
-COmxILPcmRendererAPB0Port* COmxILPcmRenderer::ConstructAPB0PortL() const
+COmxILPcmRendererAPB0Port* COmxILPcmRenderer::ConstructAPB0PortL(COmxILPcmRendererProcessingFunction& aProcessingFunction) const
 	{
     DEBUG_PRINTF(_L8("COmxILPcmRenderer::ConstructAPB0PortL"));
 
@@ -207,7 +206,8 @@
                                                                         supportedAudioFormats,
                                                                         paramPcmModeType,
                                                                         configAudioVolume,
-                                                                        configAudioMute);
+									configAudioMute, 
+									aProcessingFunction);
 	
 	CleanupStack::PopAndDestroy(&supportedAudioFormats);
 	return apb0Port;
--- a/omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrenderer.h	Thu Sep 02 20:13:57 2010 +0300
+++ b/omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrenderer.h	Fri Sep 17 08:27:08 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -25,6 +25,7 @@
 #define OMXILPCMRENDERER_H
 
 #include <openmax/il/common/omxilcomponent.h>
+#include "omxilpcmrendererprocessingfunction.h"
 
 // Forward declarations
 class COmxILPcmRendererAPB0Port;
@@ -52,7 +53,7 @@
 
 	void ConstructL(OMX_HANDLETYPE aComponent);
 
-	COmxILPcmRendererAPB0Port* ConstructAPB0PortL() const;
+	COmxILPcmRendererAPB0Port* ConstructAPB0PortL(COmxILPcmRendererProcessingFunction& aProcessingFunction) const;
 	COmxILClientClockPort* ConstructClientClockPortL() const;
 
 private:
--- a/omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrendererapb0port.cpp	Thu Sep 02 20:13:57 2010 +0300
+++ b/omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrendererapb0port.cpp	Fri Sep 17 08:27:08 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -23,25 +23,28 @@
 
 #include <openmax/il/khronos/v1_x/OMX_Component.h>
 #include <openmax/il/common/omxilutil.h>
+#include <openmax/il/shai/OMX_Symbian_ExtensionNames.h>
 #include "log.h"
 #include "omxilpcmrendererapb0port.h"
 #include "omxilpcmrendererconst.h"
+#include "omxilpcmrendererprocessingfunction.h"
 
 
-COmxILPcmRendererAPB0Port*
-COmxILPcmRendererAPB0Port::NewL(
+COmxILPcmRendererAPB0Port* COmxILPcmRendererAPB0Port::NewL(
 	const TOmxILCommonPortData& aCommonPortData,
 	const RArray<OMX_AUDIO_CODINGTYPE>& aSupportedAudioFormats,
 	const OMX_AUDIO_PARAM_PCMMODETYPE& aParamAudioPcm,
 	const OMX_AUDIO_CONFIG_VOLUMETYPE& aConfigAudioVolume,
-	const OMX_AUDIO_CONFIG_MUTETYPE& aConfigAudioMute)
+	const OMX_AUDIO_CONFIG_MUTETYPE& aConfigAudioMute,
+	COmxILPcmRendererProcessingFunction& aProcessingFunction)
 	{
     DEBUG_PRINTF(_L8("COmxILPcmRendererAPB0Port::NewL"));
 
 	COmxILPcmRendererAPB0Port* self = new (ELeave)COmxILPcmRendererAPB0Port(
 		aParamAudioPcm,
 		aConfigAudioVolume,
-		aConfigAudioMute);
+		aConfigAudioMute,
+		aProcessingFunction);
 	
 	CleanupStack::PushL(self);
 	self->ConstructL(aCommonPortData, aSupportedAudioFormats);
@@ -69,22 +72,40 @@
 	paramPortDefinition.format.audio.bFlagErrorConcealment = OMX_FALSE;
 	paramPortDefinition.format.audio.eEncoding = OMX_AUDIO_CodingPCM;
 	
-	// Init iParamVolumeRamp here...
-	iConfigVolumeRamp.nSize			  = sizeof(OMX_SYMBIAN_AUDIO_CONFIG_PCM_VOLUMERAMP);
+	// Init iConfigVolumeRamp here...
+	iConfigVolumeRamp.nSize			  = sizeof(OMX_SYMBIAN_AUDIO_CONFIG_VOLUMERAMPTYPE);
 	iConfigVolumeRamp.nVersion		  = TOmxILSpecVersion();
 	iConfigVolumeRamp.nPortIndex		  = paramPortDefinition.nPortIndex;
-	iConfigVolumeRamp.nRampDuration	  = 0;
+	iConfigVolumeRamp.nChannel                = 0;
+	iConfigVolumeRamp.bLinear                 = OMX_FALSE;
+	iConfigVolumeRamp.sStartVolume.nValue     = 0;
+	iConfigVolumeRamp.sStartVolume.nMin       = 0;
+	iConfigVolumeRamp.sStartVolume.nMax       = 0;
+	iConfigVolumeRamp.sEndVolume.nValue       = 0;
+	iConfigVolumeRamp.sEndVolume.nMin        = 0;
+	iConfigVolumeRamp.sEndVolume.nMax         = 0;
+	iConfigVolumeRamp.nRampDuration           = 0;
+	iConfigVolumeRamp.bRampTerminate          = OMX_FALSE;
+	iConfigVolumeRamp.sCurrentVolume.nValue   = 0;
+	iConfigVolumeRamp.sCurrentVolume.nMin    = 0;
+	iConfigVolumeRamp.sCurrentVolume.nMax     = 0;
+	iConfigVolumeRamp.nRampCurrentTime        = 0;
+	iConfigVolumeRamp.nRampMinDuration        = 0;
+	iConfigVolumeRamp.nRampMaxDuration        = 0;
+	iConfigVolumeRamp.nVolumeStep             = 0;
 	}
 
 
 COmxILPcmRendererAPB0Port::COmxILPcmRendererAPB0Port(
 	const OMX_AUDIO_PARAM_PCMMODETYPE& aParamAudioPcm,
 	const OMX_AUDIO_CONFIG_VOLUMETYPE& aConfigAudioVolume,
-	const OMX_AUDIO_CONFIG_MUTETYPE& aConfigAudioMute)
+	const OMX_AUDIO_CONFIG_MUTETYPE& aConfigAudioMute,
+	COmxILPcmRendererProcessingFunction& aProcessingFunction)
 	:
 	iParamAudioPcm(aParamAudioPcm),
 	iConfigAudioVolume(aConfigAudioVolume),
-	iConfigAudioMute(aConfigAudioMute)
+	iConfigAudioMute(aConfigAudioMute),
+	iProcessingFunction(aProcessingFunction)
 	{
     DEBUG_PRINTF(_L8("COmxILPcmRendererAPB0Port::COmxILPcmRendererAPB0Port"));
 	}
@@ -200,25 +221,35 @@
 	TInt err = aIndexArray.InsertInOrder(OMX_IndexConfigAudioVolume);
 
 	// Note that index duplication is OK.
-	if (KErrNone == err || KErrAlreadyExists == err)
+	if (KErrNone != err && KErrAlreadyExists != err)
 		{
-		err = aIndexArray.InsertInOrder(OMX_IndexConfigAudioMute);
+	    return OMX_ErrorInsufficientResources;
+		}
+	
+	err = aIndexArray.InsertInOrder(OMX_IndexConfigAudioMute);
 
-		if (KErrNone == err || KErrAlreadyExists == err)
-			{
-			err = aIndexArray.InsertInOrder(
-				OMX_SymbianIndexConfigAudioPcmVolumeRamp);
-			}
-
-		}
-
+	if (KErrNone != err && KErrAlreadyExists != err)
+	    {
+	    return OMX_ErrorInsufficientResources;
+	    }
+	
+	err = aIndexArray.InsertInOrder(
+	        OMX_SYMBIANINDEXCONFIGAUDIOPCMVOLUMERAMP);
+                
 	if (KErrNone != err && KErrAlreadyExists != err)
 		{
 		return OMX_ErrorInsufficientResources;
 		}
 
+    err = aIndexArray.InsertInOrder(
+            OMX_SYMBIANINDEXCONFIGAUDIODATAAMOUNT);
+                
+    if (KErrNone != err && KErrAlreadyExists != err)
+        {
+        return OMX_ErrorInsufficientResources;
+        }
+	
 	return OMX_ErrorNone;
-
 	}
 
 
@@ -372,27 +403,64 @@
 	OMX_ERRORTYPE omxRetValue = OMX_ErrorNone;
 	switch(aConfigIndex)
 		{
-	case OMX_SymbianIndexConfigAudioPcmVolumeRamp:
+	case OMX_SYMBIANINDEXCONFIGAUDIOPCMVOLUMERAMP:
 		{
 		if (OMX_ErrorNone !=
 			(omxRetValue =
 			 TOmxILUtil::CheckOmxStructSizeAndVersion(
 				 apComponentConfigStructure,
-				 sizeof(OMX_SYMBIAN_AUDIO_CONFIG_PCM_VOLUMERAMP))))
+				 sizeof(OMX_SYMBIAN_AUDIO_CONFIG_VOLUMERAMPTYPE))))
 			{
 			return omxRetValue;
 			}
 
-		OMX_SYMBIAN_AUDIO_CONFIG_PCM_VOLUMERAMP*
+		OMX_SYMBIAN_AUDIO_CONFIG_VOLUMERAMPTYPE*
 			pPcmVolumeRamp
 			= static_cast<
-			OMX_SYMBIAN_AUDIO_CONFIG_PCM_VOLUMERAMP*>(
+			OMX_SYMBIAN_AUDIO_CONFIG_VOLUMERAMPTYPE*>(
 				apComponentConfigStructure);
 
 		*pPcmVolumeRamp = iConfigVolumeRamp;
 		}
 		break;
-				
+
+	case OMX_SYMBIANINDEXCONFIGAUDIODATAAMOUNT:
+		{
+		if (OMX_ErrorNone !=
+		        (omxRetValue =
+		                TOmxILUtil::CheckOmxStructSizeAndVersion(
+		                        apComponentConfigStructure,
+		                        sizeof(OMX_SYMBIAN_AUDIO_CONFIG_PROCESSEDDATAAMOUNTTYPE))))
+		    {
+			return omxRetValue;
+			}
+		
+		OMX_SYMBIAN_AUDIO_CONFIG_PROCESSEDDATAAMOUNTTYPE*
+			pPcmDataAmount
+			= static_cast<
+			OMX_SYMBIAN_AUDIO_CONFIG_PROCESSEDDATAAMOUNTTYPE*>(
+				apComponentConfigStructure);
+
+		TInt bytePlayed = iProcessingFunction.GetBytesPlayed();
+
+        // Convert into OMX_TICKS
+		// #define OMX_TICKS_PER_SECOND 1000000
+		
+#ifndef OMX_SKIP64BIT
+		OMX_TICKS ticks = static_cast<OMX_TICKS>(bytePlayed) * 8 * OMX_TICKS_PER_SECOND / 
+		        static_cast<OMX_TICKS>(iParamAudioPcm.nBitPerSample) / static_cast<OMX_TICKS>(iParamAudioPcm.nSamplingRate);
+		pPcmDataAmount->nProcessedDataAmount = ticks;
+#else
+		TInt64 ticks = static_cast<TInt64>(bytePlayed) * 8 * OMX_TICKS_PER_SECOND/
+		        static_cast<TInt64>(iParamAudioPcm.nBitPerSample) / static_cast<TInt64>(iParamAudioPcm.nSamplingRate);
+
+		pPcmDataAmount->nProcessedDataAmount.nLowPart = ticks & 0xffffffff;
+		pPcmDataAmount->nProcessedDataAmount.nHighPart = ticks >> 32;
+#endif		
+		
+		}
+		break;
+		
 	case OMX_IndexConfigAudioVolume:
 		{
 		if (OMX_ErrorNone !=
@@ -455,21 +523,21 @@
 	OMX_ERRORTYPE omxRetValue = OMX_ErrorNone;
 	switch(aConfigIndex)
 		{
-	case OMX_SymbianIndexConfigAudioPcmVolumeRamp:
+	case OMX_SYMBIANINDEXCONFIGAUDIOPCMVOLUMERAMP:
 		{
 		if (OMX_ErrorNone !=
 			(omxRetValue =
 			 TOmxILUtil::CheckOmxStructSizeAndVersion(
 				 const_cast<OMX_PTR>(apComponentConfigStructure),
-				 sizeof(OMX_SYMBIAN_AUDIO_CONFIG_PCM_VOLUMERAMP))))
+				 sizeof(OMX_SYMBIAN_AUDIO_CONFIG_VOLUMERAMPTYPE))))
 			{
 			return omxRetValue;
 			}
 
-		const OMX_SYMBIAN_AUDIO_CONFIG_PCM_VOLUMERAMP*
+		const OMX_SYMBIAN_AUDIO_CONFIG_VOLUMERAMPTYPE*
 			pPcmVolumeRamp
 			= static_cast<
-			const OMX_SYMBIAN_AUDIO_CONFIG_PCM_VOLUMERAMP*>(
+			const OMX_SYMBIAN_AUDIO_CONFIG_VOLUMERAMPTYPE*>(
 				apComponentConfigStructure);
 
 		if (iConfigVolumeRamp.nRampDuration != pPcmVolumeRamp->nRampDuration)
@@ -564,16 +632,23 @@
 			reinterpret_cast<TUint8*>(aParameterName)));
 
 	TPtrC8 parameterNamePtr(
-		reinterpret_cast<const TUint8*>(sOmxSymbianPcmVolumeRamp));
+		reinterpret_cast<const TUint8*>(OMX_SYMBIAN_INDEX_CONFIG_AUDIO_VOLUMERAMP_NAME));
 
 	if (requestedParameterNamePtr == parameterNamePtr)
 		{
-		*apIndexType =
-			static_cast<OMX_INDEXTYPE>(
-					OMX_SymbianIndexConfigAudioPcmVolumeRamp);
+		*apIndexType = static_cast<OMX_INDEXTYPE>(OMX_SYMBIANINDEXCONFIGAUDIOPCMVOLUMERAMP);
 			
 		return OMX_ErrorNone;
 		}
+	
+	parameterNamePtr.Set(reinterpret_cast<const TUint8*>(OMX_SYMBIAN_INDEX_CONFIG_AUDIO_DATAAMOUNT_NAME));
+
+	if (requestedParameterNamePtr == parameterNamePtr)
+	        {
+		*apIndexType = static_cast<OMX_INDEXTYPE>(OMX_SYMBIANINDEXCONFIGAUDIODATAAMOUNT);
+		
+		return OMX_ErrorNone;
+		}
 
 	*apIndexType = OMX_IndexMax;
 	return OMX_ErrorUnsupportedIndex;
--- a/omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrendererapb0port.h	Thu Sep 02 20:13:57 2010 +0300
+++ b/omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrendererapb0port.h	Fri Sep 17 08:27:08 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -25,7 +25,9 @@
 #define OMXILPCMRENDERERAPB0PORT_H
 
 #include <openmax/il/common/omxilaudioport.h>
-#include <openmax/il/extensions/omxilsymbianaudiopcmextensions.h>
+#include <openmax/il/shai/OMX_Symbian_AudioExt.h>
+
+class COmxILPcmRendererProcessingFunction;
 
 class COmxILPcmRendererAPB0Port : public COmxILAudioPort
 	{
@@ -37,7 +39,8 @@
 		const RArray<OMX_AUDIO_CODINGTYPE>& aSupportedAudioFormats,
 		const OMX_AUDIO_PARAM_PCMMODETYPE& aParamAudioPcm,
 		const OMX_AUDIO_CONFIG_VOLUMETYPE& aConfigAudioVolume,
-		const OMX_AUDIO_CONFIG_MUTETYPE& aConfigAudioMute);
+		const OMX_AUDIO_CONFIG_MUTETYPE& aConfigAudioMute,
+		COmxILPcmRendererProcessingFunction& aProcessingFunction);
 
 
 	~COmxILPcmRendererAPB0Port();
@@ -68,7 +71,8 @@
 	COmxILPcmRendererAPB0Port(
 		const OMX_AUDIO_PARAM_PCMMODETYPE& aParamAudioPcm,
 		const OMX_AUDIO_CONFIG_VOLUMETYPE& aConfigAudioVolume,
-		const OMX_AUDIO_CONFIG_MUTETYPE& aConfigAudioMute);
+		const OMX_AUDIO_CONFIG_MUTETYPE& aConfigAudioMute,
+		COmxILPcmRendererProcessingFunction& aProcessingFunction);
 
 	void ConstructL(const TOmxILCommonPortData& aCommonPortData, const RArray<OMX_AUDIO_CODINGTYPE>& aSupportedAudioFormats);
 
@@ -82,11 +86,11 @@
 protected:
 
 	OMX_AUDIO_PARAM_PCMMODETYPE iParamAudioPcm;
-	OMX_SYMBIAN_AUDIO_CONFIG_PCM_VOLUMERAMP iConfigVolumeRamp;
+	OMX_SYMBIAN_AUDIO_CONFIG_VOLUMERAMPTYPE iConfigVolumeRamp;
 	OMX_AUDIO_CONFIG_VOLUMETYPE iConfigAudioVolume;
 	OMX_AUDIO_CONFIG_MUTETYPE iConfigAudioMute;
 	RBuf8 iMimeTypeBuf;
-
+	COmxILPcmRendererProcessingFunction& iProcessingFunction;
 	};
 
 #endif // OMXILPCMRENDERERAPB0PORT_H
--- a/omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrendererconfigmanager.cpp	Thu Sep 02 20:13:57 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,179 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file
- @internalComponent
-*/
-
-#include <openmax/il/common/omxilutil.h>
-#include <openmax/il/extensions/omxilsymbianaudiopcmextensions.h>
-#include "log.h"
-#include "omxilpcmrendererconfigmanager.h"
-#include "omxilpcmrendererprocessingfunction.h"
-
-
-
-COmxILPcmRendererConfigManager*
-COmxILPcmRendererConfigManager::NewL(
-	COmxILPcmRendererProcessingFunction& aProcessingFunction,
-	const TDesC8& aComponentName,
-	const OMX_VERSIONTYPE& aComponentVersion,
-	const RPointerArray<TDesC8>& aComponentRoleList)
-	{
-    DEBUG_PRINTF(_L8("COmxILPcmRendererConfigManager::NewL"));
-	ASSERT(aComponentName.Length() && aComponentRoleList.Count());
-
-	COmxILPcmRendererConfigManager* self = new (ELeave)COmxILPcmRendererConfigManager(aProcessingFunction);
-	CleanupStack::PushL(self);
-	self->ConstructL(aComponentName,
-					 aComponentVersion,
-					 aComponentRoleList);
-	CleanupStack::Pop(self);
-	return self;
-
-	}
-
-void
-COmxILPcmRendererConfigManager::ConstructL(const TDesC8& aComponentName,
-								const OMX_VERSIONTYPE& aComponentVersion,
-								const RPointerArray<TDesC8>& aComponentRoleList)
-	{
-    DEBUG_PRINTF(_L8("COmxILPcmRendererConfigManager::ConstructL"));
-
-	COmxILConfigManager::ConstructL(aComponentName, aComponentVersion, aComponentRoleList);
-	
-	ManagedConfigIndexes().InsertInOrderL(OMX_SymbianIndexConfigAudioBytesPlayed);
-	}
-
-COmxILPcmRendererConfigManager::COmxILPcmRendererConfigManager(COmxILPcmRendererProcessingFunction& aProcessingFunction)
-	:iProcessingFunction(aProcessingFunction)
-	{
-    DEBUG_PRINTF(_L8("COmxILPcmRendererConfigManager::COmxILPcmRendererConfigManager"));
-
-	}
-
-COmxILPcmRendererConfigManager::~COmxILPcmRendererConfigManager()
-	{
-    DEBUG_PRINTF(_L8("COmxILPcmRendererConfigManager::~COmxILPcmRendererConfigManager"));
-
-	}
-
-OMX_ERRORTYPE
-COmxILPcmRendererConfigManager::GetConfig(OMX_INDEXTYPE aConfigIndex,
-							   TAny* apComponentConfigStructure) const
-	{
-    DEBUG_PRINTF(_L8("COmxILPcmRendererConfigManager::GetConfig"));
-
-	TInt index = FindConfigIndex(aConfigIndex);
-	if (KErrNotFound == index)
-		{
-		return OMX_ErrorUnsupportedIndex;
-		}
-
-	OMX_ERRORTYPE omxRetValue = OMX_ErrorNone;
-	switch(aConfigIndex)
-		{
-	case OMX_SymbianIndexConfigAudioBytesPlayed:
-		{
-		if (OMX_ErrorNone !=
-			(omxRetValue =
-			 TOmxILUtil::CheckOmxStructSizeAndVersion(
-				 apComponentConfigStructure,
-				 sizeof(OMX_SYMBIAN_AUDIO_CONFIG_PCM_BYTESPLAYED))))
-			{
-			return omxRetValue;
-			}
-
-		OMX_SYMBIAN_AUDIO_CONFIG_PCM_BYTESPLAYED*
-			pPcmBytesPlayed
-			= static_cast<
-			OMX_SYMBIAN_AUDIO_CONFIG_PCM_BYTESPLAYED*>(
-				apComponentConfigStructure);
-			
-		pPcmBytesPlayed->nBytesPlayed = iProcessingFunction.GetBytesPlayed();
-		}
-		break;
-		
-	default:
-		{
-		omxRetValue = COmxILConfigManager::GetConfig(aConfigIndex, apComponentConfigStructure);
-		}
-		};
-
-	return omxRetValue;
-	}
-
-OMX_ERRORTYPE
-COmxILPcmRendererConfigManager::SetConfig(OMX_INDEXTYPE aConfigIndex,
-							   const TAny* apComponentConfigStructure)
-
-	{
-    DEBUG_PRINTF(_L8("COmxILPcmRendererConfigManager::SetConfig"));
-
-	TInt index = FindConfigIndex(aConfigIndex);
-	if (KErrNotFound == index)
-		{
-		return OMX_ErrorUnsupportedIndex;
-		}
-
-	OMX_ERRORTYPE omxRetValue = OMX_ErrorNone;
-	switch(aConfigIndex)
-		{
-	case OMX_SymbianIndexConfigAudioBytesPlayed:
-		{
-		omxRetValue = OMX_ErrorUnsupportedSetting;
-		}
-		break;
-				
-	default:
-		{
-		omxRetValue = COmxILConfigManager::SetConfig(aConfigIndex, apComponentConfigStructure);
-		}
-		};
-
-	return omxRetValue;
-
-	}
-
-OMX_ERRORTYPE
-COmxILPcmRendererConfigManager::GetExtensionIndex(
-	OMX_STRING aParameterName,
-	OMX_INDEXTYPE* apIndexType) const
-	{
-    DEBUG_PRINTF(_L8("COmxILPcmRendererConfigManager::GetExtensionIndex"));
-
-	TPtrC8 requestedParameterNamePtr(
-		const_cast<const TUint8*>(
-			reinterpret_cast<TUint8*>(aParameterName)));
-
-	TPtrC8 parameterNamePtr(
-		reinterpret_cast<const TUint8*>(sOmxSymbianPcmBytesPlayed));
-
-	if (requestedParameterNamePtr == parameterNamePtr)
-		{
-		*apIndexType =
-			static_cast<OMX_INDEXTYPE>(
-					OMX_SymbianIndexConfigAudioBytesPlayed);
-			
-		return OMX_ErrorNone;
-		}
-
-	*apIndexType = OMX_IndexMax;
-	return OMX_ErrorUnsupportedIndex;
-	}
--- a/omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrendererconfigmanager.h	Thu Sep 02 20:13:57 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-/**
- @file
- @internalComponent
-*/
-
-#ifndef OMXILPCMRENDERERCONFIGMANAGER_H
-#define OMXILPCMRENDERERCONFIGMANAGER_H
-
-#include <openmax/il/common/omxilconfigmanager.h>
-
-// class forwarding
-class COmxILPcmRendererProcessingFunction;
-
-/**
-   This class is a placeholder for those PCM Renderer parameters and configs that
-   apply to the component as a whole and not to a specific port in the
-   component.
- */
-NONSHARABLE_CLASS(COmxILPcmRendererConfigManager) : public COmxILConfigManager
-	{
-
-public:
-
-	static COmxILPcmRendererConfigManager* NewL(
-		COmxILPcmRendererProcessingFunction& aProcessingFunction,
-		const TDesC8& aComponentName,
-		const OMX_VERSIONTYPE& aComponentVersion,
-		const RPointerArray<TDesC8>& aComponentRoleList);
-
-	~COmxILPcmRendererConfigManager();
-
-	OMX_ERRORTYPE GetConfig(
-		OMX_INDEXTYPE aConfigIndex,
-		TAny* apComponentConfigStructure) const;
-
-	OMX_ERRORTYPE SetConfig(
-		OMX_INDEXTYPE aConfigIndex,
-		const TAny* apComponentConfigStructure);
-
-	OMX_ERRORTYPE GetExtensionIndex(
-		OMX_STRING aParameterName,
-		OMX_INDEXTYPE* apIndexType) const;
-
-protected:
-
-	COmxILPcmRendererConfigManager(COmxILPcmRendererProcessingFunction& aProcessingFunction);
-
-	void ConstructL(const TDesC8& aComponentName,
-					const OMX_VERSIONTYPE& aComponentVersion,
-					const RPointerArray<TDesC8>& aComponentRoleList);
-
-private:
-	COmxILPcmRendererProcessingFunction& iProcessingFunction;
-	};
-
-#endif // OMXILPCMRENDERERCONFIGMANAGER_H
--- a/omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrendererconst.h	Thu Sep 02 20:13:57 2010 +0300
+++ b/omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrendererconst.h	Fri Sep 17 08:27:08 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -52,4 +52,16 @@
 
 const RMdaDevSound::TMdaSoundEncoding KDefaultEncoding = RMdaDevSound::EMdaSoundEncoding16BitPCM;
 
+/**
+ * Custom index used by Symbian's OpenMAX IL PCM renderer to select the
+ * structure for setting/getting a Volume Ramp configuration data item
+ */
+#define OMX_SYMBIANINDEXCONFIGAUDIOPCMVOLUMERAMP 0x7F000002
+
+/**
+ * Custom index used by Symbian's OpenMAX IL PCM renderer to select the
+ * structure for getting a Data Amount configuration data item
+ */
+#define OMX_SYMBIANINDEXCONFIGAUDIODATAAMOUNT 0x7F000003
+
 #endif /*OMXILPCMRENDERERCONST_H_*/
--- a/omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrendererprocessingfunction.cpp	Thu Sep 02 20:13:57 2010 +0300
+++ b/omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrendererprocessingfunction.cpp	Fri Sep 17 08:27:08 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -28,7 +28,7 @@
 #include "log.h"
 #include <openmax/il/common/omxilcallbacknotificationif.h>
 #include <openmax/il/common/omxilclockcomponentcmdsif.h>
-#include <openmax/il/extensions/omxilsymbianaudiopcmextensions.h>
+#include <openmax/il/shai/OMX_Symbian_AudioExt.h>
 #include "omxilpcmrendererprocessingfunction.h"
 
 const TInt COmxILPcmRendererProcessingFunction::CPFHelper::KMaxMsgQueueEntries;
@@ -312,12 +312,12 @@
     OMX_ERRORTYPE err = OMX_ErrorNone;
     switch(aConfigIndex)
 	{
-	case OMX_SymbianIndexConfigAudioPcmVolumeRamp:
+	case OMX_SYMBIANINDEXCONFIGAUDIOPCMVOLUMERAMP:
 		{
-		const OMX_SYMBIAN_AUDIO_CONFIG_PCM_VOLUMERAMP*
+		const OMX_SYMBIAN_AUDIO_CONFIG_VOLUMERAMPTYPE*
 			pPcmVolumeRamp
 			= static_cast<
-			const OMX_SYMBIAN_AUDIO_CONFIG_PCM_VOLUMERAMP*>(
+			const OMX_SYMBIAN_AUDIO_CONFIG_VOLUMERAMPTYPE*>(
 					apComponentConfigStructure);
 
 		if (iPFHelper->SetVolumeRamp(pPcmVolumeRamp->nRampDuration) != KErrNone)
@@ -741,13 +741,12 @@
 
 	iParent.iBuffersToEmpty.Remove(0);
 
-	CMMFDataBuffer* mmfSrcBuffer = static_cast<CMMFDataBuffer*>(iCurrentBuffer->pInputPortPrivate);
-	mmfSrcBuffer->Data().SetLength(iCurrentBuffer->nFilledLen);
-
+	TPtr8 ptrData(iCurrentBuffer->pBuffer, iCurrentBuffer->nFilledLen, iCurrentBuffer->nFilledLen);
+	
 	// Attenuate the amplitude of the samples if volume ramping has been changed
 	if (iRampAudioSample)
 		{
-		iRampAudioSample = RampAudio(mmfSrcBuffer);
+		iRampAudioSample = RampAudio(ptrData);
 		}
 
 	// First, check whether the buffer length is sufficient not to cause underflows in the device driver
@@ -757,7 +756,7 @@
 	TBool appendBuffer = (!isFilledLengthSufficient || iCachedPlayBuffer.Length() > 0) ? ETrue : EFalse;
 	if (!appendBuffer)
 		{
-		SendBufferToSoundDevice(mmfSrcBuffer->Data());
+        SendBufferToSoundDevice(ptrData);
 		}
 	else
 		{
@@ -774,7 +773,7 @@
 				}
 			}
 		
-		iCachedPlayBuffer.Append(mmfSrcBuffer->Data());
+		iCachedPlayBuffer.Append(ptrData);
 				
 		// If we have sufficient length aggregated, play the cached buffer
 		// Also if this is the last buffer, we have to play it now, there's nothing left to cache
@@ -1348,16 +1347,16 @@
 	iSkip = ETrue;
 	}
 
-TBool COmxILPcmRendererProcessingFunction::CAudioDevice::RampAudio(CMMFDataBuffer* aBuffer)
+TBool COmxILPcmRendererProcessingFunction::CAudioDevice::RampAudio(TDes8& aBuffer)
 	{
 	TInt i=0;
-	TInt length = aBuffer->Data().Length()>>1;
+	TInt length = aBuffer.Length()>>1;
 	if (length == 0)
 		{
 		return EFalse;
 		}
 		
-	TInt16* sample = REINTERPRET_CAST(TInt16*,&aBuffer->Data()[0]);
+	TInt16* sample = REINTERPRET_CAST(TInt16*,&aBuffer[0]);
 	TInt64 theResult(0);
 	while ((i < length) && (iRampIncr < iRampSamples))
 		{
@@ -1585,7 +1584,7 @@
 		TProcMessage message;
 		message.iType = ECloseDeviceOnError;
 		TInt error = iMsgQueue.Send(message);
-		if (KErrNone != error)
+		if (KErrNone == error)
 			{
 			// only wait if the message was sent into the queue...
 			iCallerSemaphore.Wait();
--- a/omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrendererprocessingfunction.h	Thu Sep 02 20:13:57 2010 +0300
+++ b/omxilcomp/omxilaudioemulator/pcmrenderer/src/omxilpcmrendererprocessingfunction.h	Fri Sep 17 08:27:08 2010 +0300
@@ -24,7 +24,6 @@
 #ifndef OMXILPCMRENDERERPROCESSINGFUNCTION_H
 #define OMXILPCMRENDERERPROCESSINGFUNCTION_H
 
-#include <mmf/server/mmfdatabuffer.h>
 #include "omxilpcmrendererconst.h"
 #include <openmax/il/common/omxilprocessingfunction.h>
 #include <e32msgqueue.h> 
@@ -106,7 +105,7 @@
 		OMX_BUFFERHEADERTYPE* GetCurrentBuffer();
 		TInt GetBytesPlayed();
 		void ConfigAudioRamper(TInt64 aRampTime);
-		TBool RampAudio(CMMFDataBuffer* aBuffer);
+		TBool RampAudio(TDes8& aBuffer);
 		TBool ConstructAndStartUpdateTimer();
 		void ProcessNextBuffer();
 		void PlayData();
--- a/omxilcomp/omxilaudioemulator/pcmrenderer/unittest/mmpfiles/tsu_omxil_pcmrenderer_01.mmp	Thu Sep 02 20:13:57 2010 +0300
+++ b/omxilcomp/omxilaudioemulator/pcmrenderer/unittest/mmpfiles/tsu_omxil_pcmrenderer_01.mmp	Fri Sep 17 08:27:08 2010 +0300
@@ -37,7 +37,6 @@
 LIBRARY		        ecom.lib
 LIBRARY		        testframeworkclient.lib
 LIBRARY             omxilcomponentcommon.lib
-LIBRARY			    mmfserverbaseclasses.lib
 STATICLIBRARY 	    omxilcomponentif.lib
 
 NOSTRICTDEF
--- a/omxilcomp/omxilaudioemulator/pcmrenderer/unittest/src/tsu_omxil_component_base.cpp	Thu Sep 02 20:13:57 2010 +0300
+++ b/omxilcomp/omxilaudioemulator/pcmrenderer/unittest/src/tsu_omxil_component_base.cpp	Fri Sep 17 08:27:08 2010 +0300
@@ -18,9 +18,6 @@
  @internalComponent
 */
 
-#include <mmf/server/mmfbuffer.h>
-#include <mmf/server/mmfdatabuffer.h>
-
 #include <ecom/ecom.h>
 #include <openmax/il/khronos/v1_x/OMX_Component.h>
 #include <openmax/il/loader/omxilcomponentif.h>
@@ -106,18 +103,17 @@
 
 
 void
-CAacTestFile::ReadNextBuffer(CMMFBuffer& aDataBuffer)
+CAacTestFile::ReadNextBuffer(TDes8& aDataBuffer)
     {
     DEBUG_PRINTF(_L8("CAacTestFile::ReadNextBuffer"));
 
-	CMMFDataBuffer* pDataBuffer = static_cast<CMMFDataBuffer*>(&aDataBuffer);
     while (ETrue)
 		{
 		// check if finished
 		if (iFinished)
 			{
 			DEBUG_PRINTF(_L8("CAacTestFile::ReadNextBuffer : File finished"));
-			pDataBuffer->Data().Zero();
+			aDataBuffer.Zero();
 			return;
 			}
 
@@ -125,19 +121,18 @@
 		if (iSourceFileReadPos < srcLength)
 			{
 			TInt size = srcLength;
-			if (size > pDataBuffer->Data().MaxLength())
+			if (size > aDataBuffer.MaxLength())
 				{
-				size = pDataBuffer->Data().MaxLength();
+				size = aDataBuffer.MaxLength();
 				}
-			Mem::Copy((TAny*)pDataBuffer->Data().Ptr(), (TAny*)iSourceFile->Mid(iSourceFileReadPos).Ptr(), size);
-			pDataBuffer->Data().SetLength(size);
+			Mem::Copy((TAny*)aDataBuffer.Ptr(), (TAny*)iSourceFile->Mid(iSourceFileReadPos).Ptr(), size);
+			aDataBuffer.SetLength(size);
 			iSourceFileReadPos += size;
 			DEBUG_PRINTF2(_L8("CAacTestFile::ReadNextBuffer : data read = [%d] bytes"), iSourceFileReadPos);
-			DEBUG_PRINTF2(_L8("CAacTestFile::ReadNextBuffer : pDataBuffer->BufferSize = [%u] bytes"), pDataBuffer->BufferSize());
+			DEBUG_PRINTF2(_L8("CAacTestFile::ReadNextBuffer : aDataBuffer Size = [%u] bytes"), aDataBuffer.Length());
 			if (iSourceFileReadPos >= srcLength)
 				{
 				DEBUG_PRINTF(_L8("CAacTestFile::ReadNextBuffer : end of data"));
-				pDataBuffer->SetLastBuffer(ETrue);
 				iFinished = ETrue;
 				}
 			return;
@@ -226,24 +221,22 @@
 	}
 
 TInt
-CAacOutputTestFile::WriteDataToFile(const CMMFBuffer& aDataBuffer)
+CAacOutputTestFile::WriteDataToFile(const TDesC8& aDataBuffer)
 	{
     DEBUG_PRINTF(_L8("CAacOutputTestFile::WriteDataToFile"));
 
-	const CMMFDataBuffer& dataBuffer = static_cast<const CMMFDataBuffer&>(aDataBuffer);
-	const TDesC8& data = dataBuffer.Data();
 
 	TInt err = KErrNone;
-	err = iOutputFile.Write(data);
+	err = iOutputFile.Write(aDataBuffer);
 	if(err != KErrNone)
 		{
 		return err;
 		}
 	// keep record of amount of data and the number of buffers written out
-	iWrittenDataTotal += data.Size();
+	iWrittenDataTotal += aDataBuffer.Size();
 	iBuffersWrittenCount++;
 
-    DEBUG_PRINTF2(_L8("CAacOutputTestFile::WriteDataToFile : data.Size()[%d]"), data.Size());
+    DEBUG_PRINTF2(_L8("CAacOutputTestFile::WriteDataToFile : aDataBuffer.Size()[%d]"), aDataBuffer.Size());
     DEBUG_PRINTF2(_L8("CAacOutputTestFile::WriteDataToFile : iWrittenDataTotal[%d]"), iWrittenDataTotal);
 	DEBUG_PRINTF2(_L8("CAacOutputTestFile::WriteDataToFile : iBuffersWrittenCount[%d]"), iBuffersWrittenCount);
 
--- a/omxilcomp/omxilaudioemulator/pcmrenderer/unittest/src/tsu_omxil_component_base.h	Thu Sep 02 20:13:57 2010 +0300
+++ b/omxilcomp/omxilaudioemulator/pcmrenderer/unittest/src/tsu_omxil_component_base.h	Fri Sep 17 08:27:08 2010 +0300
@@ -32,7 +32,6 @@
 class COmxILComponentIf;
 struct OMX_COMPONENTTYPE;
 class RAsyncTestStepOmxILComponentBase;
-class CMMFBuffer;
 
 
 class CAacTestFile : public CBase
@@ -45,7 +44,7 @@
 	~CAacTestFile();
 
 	TInt ReadTestFileInBuffer(const TDesC& aFileName);
-    void ReadNextBuffer(CMMFBuffer& aDataBuffer);
+    void ReadNextBuffer(TDes8& aDataBuffer);
     void ResetPos();
     TInt GetPos();
 
@@ -74,7 +73,7 @@
 	~CAacOutputTestFile();
 
 	TInt SetUpOutputFile(const TDesC& aFileName);
-	TInt WriteDataToFile(const CMMFBuffer& aDataBuffer);
+	TInt WriteDataToFile(const TDesC8& aDataBuffer);
 	TInt AddWavHeader();
 	void CloseOutputFile();
 
--- a/omxilcomp/omxilaudioemulator/pcmrenderer/unittest/src/tsu_omxil_pcmrenderer_step.cpp	Thu Sep 02 20:13:57 2010 +0300
+++ b/omxilcomp/omxilaudioemulator/pcmrenderer/unittest/src/tsu_omxil_pcmrenderer_step.cpp	Fri Sep 17 08:27:08 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
 // under the terms of "Eclipse Public License v1.0"
@@ -20,14 +20,13 @@
 
 #include <e32base.h>
 #include <e32cmn.h>
-#include <mmf/server/mmfbuffer.h>
-#include <mmf/server/mmfdatabuffer.h>
 
 #include <openmax/il/khronos/v1_x/OMX_Component.h>
 #include <openmax/il/khronos/v1_x/OMX_Types.h>
 
 #include <openmax/il/loader/omxilcomponentif.h>
-#include <openmax/il/extensions/omxilsymbianaudiopcmextensions.h>
+#include <openmax/il/shai/OMX_Symbian_AudioExt.h>
+#include <openmax/il/shai/OMX_Symbian_ExtensionNames.h>
 
 #include "log.h"
 #include "omxilpcmrenderer.hrh"
@@ -1227,21 +1226,20 @@
 	//
 	// Allocate buffer on input port
 	//
-	TRAPD(err, ipInputBuffer = CMMFDescriptorBuffer::NewL(portParamsInputPort.nBufferSize));
+	TRAPD(err, ipInputBuffer = HBufC8::NewL(portParamsInputPort.nBufferSize));
 	if(err != KErrNone)
 		{
 		return StopTest(KErrGeneral, EFail);
 		}
 
-	TDes8& inputBufferDes = ipInputBuffer->Data();
 
 	if (OMX_ErrorNone != ipCompHandle->UseBuffer(
 			ipCompHandle,
 			&ipBufferHeaderInput,
 			0,					// input port
-			ipInputBuffer,		// pAppPrivate
+			0,		// pAppPrivate
 			portParamsInputPort.nBufferSize,
-			const_cast<TUint8*>(inputBufferDes.Ptr())))
+			const_cast<TUint8*>(ipInputBuffer->Des().Ptr())))
 		{
 		return StopTest(KErrGeneral, EFail);
 		}
@@ -1254,9 +1252,9 @@
 	
 	for (TInt n = 0; n < bufferCount; n++)
 		{
-		CMMFDescriptorBuffer* bufPtr;
+		HBufC8* bufPtr;
 		
-		TRAPD(err, bufPtr = CMMFDescriptorBuffer::NewL(portParamsInputPort1.nBufferSize));
+		TRAPD(err, bufPtr = HBufC8::NewL(portParamsInputPort1.nBufferSize));
 		
 		if(err != KErrNone)
 			{
@@ -1269,16 +1267,15 @@
 			return StopTest(KErrGeneral, EFail);
 			}
 		
-		TDes8& inputBufferDes = bufPtr->Data();
 		OMX_BUFFERHEADERTYPE* clockBufPtr;
 		
 		if (OMX_ErrorNone != ipCompHandle->UseBuffer(
 				ipCompHandle,
 				&clockBufPtr,
 				1,					// Clock input port
-				ipInputBuffer,		// pAppPrivate
+				0,		// pAppPrivate
 				portParamsInputPort.nBufferSize,
-				const_cast<TUint8*>(inputBufferDes.Ptr())))
+				const_cast<TUint8*>(bufPtr->Des().Ptr())))
 			{
 			return StopTest(KErrGeneral, EFail);
 			}
@@ -2107,9 +2104,10 @@
 					{
 					INFO_PRINTF1(_L("DoEventHandlerL: OMX_StateExecuting [EStateTransitionToIdleComplete]"));
 					iTestState = EStateTransitionToExecutingComplete;
-					CMMFDataBuffer& dataBuffer = *(static_cast<CMMFDataBuffer*>(ipBufferHeaderInput->pInputPortPrivate));
-					ipTestFile->ReadNextBuffer(dataBuffer);
-					ipBufferHeaderInput->nFilledLen = dataBuffer.BufferSize();
+					
+					TPtr8 ptrData(ipBufferHeaderInput->pBuffer, ipBufferHeaderInput->nAllocLen, ipBufferHeaderInput->nAllocLen);
+					ipTestFile->ReadNextBuffer(ptrData);
+					ipBufferHeaderInput->nFilledLen = ptrData.Length();
 
 					// Send a buffer to the input port
 					INFO_PRINTF1(_L("DoEventHandlerL: OMX_StateExecuting [Send a buffer to the input port]"));
@@ -3036,11 +3034,11 @@
 					INFO_PRINTF1(_L("DoEventHandlerL: OMX_StateExecuting [EStateTransitionToIdleComplete]"));
 					iTestState = EStateTransitionToExecutingComplete;
 					
-					CMMFDataBuffer& dataBuffer = *(static_cast<CMMFDataBuffer*>(ipBufferHeaderInput->pInputPortPrivate));
-					ipTestFile->ReadNextBuffer(dataBuffer);
+					TPtr8 ptrData(ipBufferHeaderInput->pBuffer, ipBufferHeaderInput->nAllocLen, ipBufferHeaderInput->nAllocLen);
+					ipTestFile->ReadNextBuffer(ptrData);
 					
 					// Send a buffer to the input port
-					ipBufferHeaderInput->nFilledLen = dataBuffer.BufferSize();
+					ipBufferHeaderInput->nFilledLen = ptrData.Length();
 					
 					if (OMX_ErrorNone != ipCompHandle->EmptyThisBuffer(
 							ipCompHandle, ipBufferHeaderInput))
@@ -3087,13 +3085,13 @@
     DEBUG_PRINTF(_L8("RAsyncTestStepOmxILPcmRenderer0008::DoEmptyBufferDoneL"));
 	INFO_PRINTF1(_L("DoEmptyBufferDoneL : Callback received "));
 	
-	CMMFDataBuffer& dataBuffer = *(static_cast<CMMFDataBuffer*>(ipBufferHeaderInput->pInputPortPrivate));
-	ipTestFile->ReadNextBuffer(dataBuffer);
+	TPtr8 ptrData(ipBufferHeaderInput->pBuffer, ipBufferHeaderInput->nAllocLen, ipBufferHeaderInput->nAllocLen);
+	ipTestFile->ReadNextBuffer(ptrData);
 	
-	if (dataBuffer.BufferSize() > 0)
+	if (ptrData.Length() > 0)
 		{
 		// Send a buffer to the input port
-		ipBufferHeaderInput->nFilledLen = dataBuffer.BufferSize();
+		ipBufferHeaderInput->nFilledLen = ptrData.Length();
 		
 		if (OMX_ErrorNone != ipCompHandle->EmptyThisBuffer(
 				ipCompHandle, ipBufferHeaderInput))
@@ -3258,11 +3256,11 @@
 					INFO_PRINTF1(_L("DoEventHandlerL: OMX_StateExecuting [EStateTransitionToIdleComplete]"));
 					iTestState = EStateTransitionToExecutingComplete;
 					
-					CMMFDataBuffer& dataBuffer = *(static_cast<CMMFDataBuffer*>(ipBufferHeaderInput->pInputPortPrivate));
-					ipTestFile->ReadNextBuffer(dataBuffer);
+					TPtr8 ptrData(ipBufferHeaderInput->pBuffer, ipBufferHeaderInput->nAllocLen, ipBufferHeaderInput->nAllocLen);
+					ipTestFile->ReadNextBuffer(ptrData);
 					
 					// Send a buffer to the input port
-					ipBufferHeaderInput->nFilledLen = dataBuffer.BufferSize();
+					ipBufferHeaderInput->nFilledLen = ptrData.Length();
 					
 					if (OMX_ErrorNone != ipCompHandle->EmptyThisBuffer(
 							ipCompHandle, ipBufferHeaderInput))
@@ -3369,13 +3367,13 @@
 			}
 		}
 
-	CMMFDataBuffer& dataBuffer = *(static_cast<CMMFDataBuffer*>(ipBufferHeaderInput->pInputPortPrivate));
-	ipTestFile->ReadNextBuffer(dataBuffer);
+	TPtr8 ptrData(ipBufferHeaderInput->pBuffer, ipBufferHeaderInput->nAllocLen, ipBufferHeaderInput->nAllocLen);
+	ipTestFile->ReadNextBuffer(ptrData);
 	
-	if (dataBuffer.BufferSize() > 0)
+	if (ptrData.Length() > 0)
 		{
 		// Send a buffer to the input port
-		ipBufferHeaderInput->nFilledLen = dataBuffer.BufferSize();
+		ipBufferHeaderInput->nFilledLen = ptrData.Length();
 		
 		if (OMX_ErrorNone != ipCompHandle->EmptyThisBuffer(
 				ipCompHandle, ipBufferHeaderInput))
@@ -3557,11 +3555,11 @@
 					INFO_PRINTF1(_L("DoEventHandlerL: OMX_StateExecuting [EStateTransitionToIdleComplete]"));
 					iTestState = EStateTransitionToExecutingComplete;
 					
-					CMMFDataBuffer& dataBuffer = *(static_cast<CMMFDataBuffer*>(ipBufferHeaderInput->pInputPortPrivate));
-					ipTestFile->ReadNextBuffer(dataBuffer);
+					TPtr8 ptrData(ipBufferHeaderInput->pBuffer, ipBufferHeaderInput->nAllocLen, ipBufferHeaderInput->nAllocLen);
+					ipTestFile->ReadNextBuffer(ptrData);
 					
 					// Send a buffer to the input port
-					ipBufferHeaderInput->nFilledLen = dataBuffer.BufferSize();
+					ipBufferHeaderInput->nFilledLen = ptrData.Length();
 					
 					if (OMX_ErrorNone != ipCompHandle->EmptyThisBuffer(
 							ipCompHandle, ipBufferHeaderInput))
@@ -3648,13 +3646,13 @@
 		}
 	else
 		{
-		CMMFDataBuffer& dataBuffer = *(static_cast<CMMFDataBuffer*>(ipBufferHeaderInput->pInputPortPrivate));
-		ipTestFile->ReadNextBuffer(dataBuffer);
+        TPtr8 ptrData(ipBufferHeaderInput->pBuffer, ipBufferHeaderInput->nAllocLen, ipBufferHeaderInput->nAllocLen);
+		ipTestFile->ReadNextBuffer(ptrData);
 		
-		if (dataBuffer.BufferSize() > 0)
+		if (ptrData.Length() > 0)
 			{
 			// Send a buffer to the input port
-			ipBufferHeaderInput->nFilledLen = dataBuffer.BufferSize();
+			ipBufferHeaderInput->nFilledLen = ptrData.Length();
 			
 			if (OMX_ErrorNone != ipCompHandle->EmptyThisBuffer(
 					ipCompHandle, ipBufferHeaderInput))
@@ -3810,7 +3808,7 @@
 	INFO_PRINTF1(_L("UNIT TEST OMX IL PCM RENDERER : 2.- Repeat these two steps until the whole file has beeen empited "));
 	INFO_PRINTF1(_L("UNIT TEST OMX IL PCM RENDERER : 2a. - Call EmptyThisBuffer on PCM Renderer "));
 	INFO_PRINTF1(_L("UNIT TEST OMX IL PCM RENDERER : 2b. - EmptyBufferDone callback received "));
-	INFO_PRINTF1(_L("UNIT TEST OMX IL PCM RENDERER : 2c. - Get Bytes Played parameter and compare with the bytes readed from file "));
+	INFO_PRINTF1(_L("UNIT TEST OMX IL PCM RENDERER : 2c. - Get Data Amount parameter and compare with the bytes readed from file "));
 	INFO_PRINTF1(_L("UNIT TEST OMX IL PCM RENDERER : 3.- Executing->Idle(BufferFlushing) "));
 	INFO_PRINTF1(_L("UNIT TEST OMX IL PCM RENDERER : 4.- Idle->Loaded(Depopulation) "));
 
@@ -3835,32 +3833,69 @@
     DEBUG_PRINTF(_L8("RAsyncTestStepOmxILPcmRenderer0030::DoEmptyBufferDoneL"));
 	INFO_PRINTF1(_L("DoEmptyBufferDoneL : Callback received "));
 	
+	OMX_INDEXTYPE audioSpecificConfigIndex = OMX_IndexMax;
+	if (OMX_ErrorNone != ipCompHandle->GetExtensionIndex(
+							     ipCompHandle,
+							     OMX_SYMBIAN_INDEX_CONFIG_AUDIO_DATAAMOUNT_NAME,
+							     &audioSpecificConfigIndex))
+	  {
+	    return StopTest(KErrGeneral, EFail);
+	  }
+
 	// Check that GetConfig is returning the correct amount of bytes played
-	OMX_SYMBIAN_AUDIO_CONFIG_PCM_BYTESPLAYED bytesPlayedStruct;
-	bytesPlayedStruct.nSize = sizeof(OMX_SYMBIAN_AUDIO_CONFIG_PCM_BYTESPLAYED);
+	OMX_SYMBIAN_AUDIO_CONFIG_PROCESSEDDATAAMOUNTTYPE bytesPlayedStruct;
+	bytesPlayedStruct.nSize = sizeof(OMX_SYMBIAN_AUDIO_CONFIG_PROCESSEDDATAAMOUNTTYPE);
 	bytesPlayedStruct.nVersion = TOmxILSpecVersion();
+	bytesPlayedStruct.nPortIndex = 0;
+
 	if (OMX_ErrorNone != ipCompHandle->GetConfig(ipCompHandle, 
-												 static_cast<OMX_INDEXTYPE>(OMX_SymbianIndexConfigAudioBytesPlayed), 
-												 &bytesPlayedStruct))
+	        audioSpecificConfigIndex, 
+	        &bytesPlayedStruct))
 		{
 		StopTest(KErrGeneral, EFail);
 		}
+
+	OMX_AUDIO_PARAM_PCMMODETYPE pcmModeType;
+	pcmModeType.nSize = sizeof(OMX_AUDIO_PARAM_PCMMODETYPE);
+	pcmModeType.nVersion = TOmxILSpecVersion();
+	pcmModeType.nPortIndex = 0;
+
+	if (OMX_ErrorNone != ipCompHandle->GetParameter(ipCompHandle, 
+	        static_cast<OMX_INDEXTYPE>(OMX_IndexParamAudioPcm), 
+	        &pcmModeType))
+	    {
+	    StopTest(KErrGeneral, EFail);
+	    }
+	   
 	//check the number of bytes played by the device corresponds
 	//to the number of bytes readed from file
 	//allow an extra margin of one buffer.
 	TUint maxAllowedBytesPlayed =ipTestFile->GetPos();
-	if (bytesPlayedStruct.nBytesPlayed > maxAllowedBytesPlayed)
+
+	// Convert into OMX_TICKS
+	
+#ifndef OMX_SKIP64BIT	
+	OMX_TICKS ticks = static_cast<OMX_TICKS>(maxAllowedBytesPlayed) * 8 * OMX_TICKS_PER_SECOND / 
+	        static_cast<OMX_TICKS>(pcmModeType.nBitPerSample) / static_cast<OMX_TICKS>(pcmModeType.nSamplingRate);
+#else
+	TInt64 ticks = static_cast<TInt64>(maxAllowedBytesPlayed) * 8 * OMX_TICKS_PER_SECOND/
+	        static_cast<TInt64>(pcmModeType.nBitPerSample) / static_cast<TInt64>(pcmModeType.nSamplingRate);
+#endif
+        
+	if (bytesPlayedStruct.nProcessedDataAmount > ticks)
 		{
 		StopTest(KErrGeneral, EFail);
 		}
 	
-	CMMFDataBuffer& dataBuffer = *(static_cast<CMMFDataBuffer*>(ipBufferHeaderInput->pInputPortPrivate));
-	ipTestFile->ReadNextBuffer(dataBuffer);
+	INFO_PRINTF2(_L("DoEmptyBufferDoneL : bytesPlayedStruct.nProcessedDataAmount=%d "), bytesPlayedStruct.nProcessedDataAmount);
 	
-	if (dataBuffer.BufferSize() > 0)
+	TPtr8 ptrData(ipBufferHeaderInput->pBuffer, ipBufferHeaderInput->nAllocLen, ipBufferHeaderInput->nAllocLen);
+	ipTestFile->ReadNextBuffer(ptrData);
+	
+	if (ptrData.Length() > 0)
 		{
 		// Send a buffer to the input port
-		ipBufferHeaderInput->nFilledLen = dataBuffer.BufferSize();
+		ipBufferHeaderInput->nFilledLen = ptrData.Length();
 		
 		if (OMX_ErrorNone != ipCompHandle->EmptyThisBuffer(
 				ipCompHandle, ipBufferHeaderInput))
@@ -3931,33 +3966,43 @@
 	iNumOfEmptiedBuffers++;
 	if (iNumOfEmptiedBuffers == 5)
 		{
-		OMX_SYMBIAN_AUDIO_CONFIG_PCM_VOLUMERAMP volumeRampStruct;
-		volumeRampStruct.nSize = sizeof(OMX_SYMBIAN_AUDIO_CONFIG_PCM_VOLUMERAMP);
+		OMX_INDEXTYPE audioSpecificConfigIndex = OMX_IndexMax;
+		if (OMX_ErrorNone != ipCompHandle->GetExtensionIndex(
+								     ipCompHandle,
+								     OMX_SYMBIAN_INDEX_CONFIG_AUDIO_VOLUMERAMP_NAME,
+								     &audioSpecificConfigIndex))
+			{
+			  return StopTest(KErrGeneral, EFail);
+			}
+
+		OMX_SYMBIAN_AUDIO_CONFIG_VOLUMERAMPTYPE volumeRampStruct;
+		volumeRampStruct.nSize = sizeof(OMX_SYMBIAN_AUDIO_CONFIG_VOLUMERAMPTYPE);
 		volumeRampStruct.nVersion = TOmxILSpecVersion();
 		volumeRampStruct.nPortIndex = 0;
+
 		if (OMX_ErrorNone != ipCompHandle->GetConfig(ipCompHandle, 
-													 static_cast<OMX_INDEXTYPE>(OMX_SymbianIndexConfigAudioPcmVolumeRamp), 
+                                                     audioSpecificConfigIndex, 
 													 &volumeRampStruct))
 			{
 			StopTest(KErrGeneral, EFail);
 			}
 		volumeRampStruct.nRampDuration = 2000000;	// 2 second
 		if (OMX_ErrorNone != ipCompHandle->SetConfig(ipCompHandle, 
-													 static_cast<OMX_INDEXTYPE>(OMX_SymbianIndexConfigAudioPcmVolumeRamp), 
-													 &volumeRampStruct))
+							     audioSpecificConfigIndex, 
+							     &volumeRampStruct))
 			{
 			StopTest(KErrGeneral, EFail);
 			}
 		INFO_PRINTF1(_L("Volume ramp set"));
 		}
 
-	CMMFDataBuffer& dataBuffer = *(static_cast<CMMFDataBuffer*>(ipBufferHeaderInput->pInputPortPrivate));
-	ipTestFile->ReadNextBuffer(dataBuffer);
+	TPtr8 ptrData(ipBufferHeaderInput->pBuffer, ipBufferHeaderInput->nAllocLen, ipBufferHeaderInput->nAllocLen);
+	ipTestFile->ReadNextBuffer(ptrData);
 	
-	if (dataBuffer.BufferSize() > 0)
+	if (ptrData.Length() > 0)
 		{
 		// Send a buffer to the input port
-		ipBufferHeaderInput->nFilledLen = dataBuffer.BufferSize();
+		ipBufferHeaderInput->nFilledLen = ptrData.Length();
 		
 		if (OMX_ErrorNone != ipCompHandle->EmptyThisBuffer(
 				ipCompHandle, ipBufferHeaderInput))
--- a/omxilcomp/omxilaudioemulator/pcmrenderer/unittest/src/tsu_omxil_pcmrenderer_step.h	Thu Sep 02 20:13:57 2010 +0300
+++ b/omxilcomp/omxilaudioemulator/pcmrenderer/unittest/src/tsu_omxil_pcmrenderer_step.h	Fri Sep 17 08:27:08 2010 +0300
@@ -25,8 +25,6 @@
 #include "tsu_omxil_component_base.h"
 
 
-// Forward declarations
-class CMMFDescriptorBuffer;
 
 //
 // RAsyncTestStepOmxILPcmRenderer0020
@@ -277,10 +275,9 @@
 
 
 protected:
-
-	CMMFDescriptorBuffer* ipInputBuffer;
-	CMMFDescriptorBuffer* ipOutputBuffer;
-	RArray<CMMFDescriptorBuffer*> iClockPortBufferPtrArray;
+	HBufC8* ipInputBuffer;
+	HBufC8* ipOutputBuffer;
+	RArray<HBufC8*> iClockPortBufferPtrArray;
 	};
 
 //
--- a/omxilcomp/omxilgeneric/filesink/tests/unit/te_omx_filesink_audio.script	Thu Sep 02 20:13:57 2010 +0300
+++ b/omxilcomp/omxilgeneric/filesink/tests/unit/te_omx_filesink_audio.script	Fri Sep 17 08:27:08 2010 +0300
@@ -18,7 +18,7 @@
 
 LOAD_SUITE te_xmlomxclient
 
-START_TESTCASE MM-AUDIO-OMX-FILESOURCE-001-HP
+START_TESTCASE MM-AUDIO-OMX-FILESINK-001-HP
 	START_TEST_BLOCK 30 te_xmlomxclient c:\omxil\tef\te_omx_filesink.ini
 		CREATE_OBJECT OmxXmlTestWrapper InstanceName
 		COMMAND	InstanceName New c:\omxil\tef\te_omx_filesink_audio.xml
@@ -29,6 +29,6 @@
 		COMMAND InstanceName RunTest ChangeInvalidEncodeType_filesink
 		COMMAND InstanceName RunTest BasicOperation_nofilename_filesink
 	END_TEST_BLOCK
-END_TESTCASE MM-AUDIO-OMX-FILESOURCE-001-HP
+END_TESTCASE MM-AUDIO-OMX-FILESINK-001-HP
 
 
--- a/omxilcomp/omxilgeneric/filesink/tests/unit/te_omx_filesink_image.script	Thu Sep 02 20:13:57 2010 +0300
+++ b/omxilcomp/omxilgeneric/filesink/tests/unit/te_omx_filesink_image.script	Fri Sep 17 08:27:08 2010 +0300
@@ -15,10 +15,11 @@
 //
 
 
+delay 5000
 
 LOAD_SUITE te_xmlomxclient
 
-START_TESTCASE MM-IMAGE-OMX-FILESOURCE-001-HP
+START_TESTCASE MM-IMAGE-OMX-FILESINK-001-HP
 	START_TEST_BLOCK 30 te_xmlomxclient c:\omxil\tef\te_omx_filesink.ini
 		CREATE_OBJECT OmxXmlTestWrapper InstanceName
 		COMMAND	InstanceName New c:\omxil\tef\te_omx_filesink_image.xml
@@ -27,6 +28,6 @@
 		COMMAND InstanceName RunTest GetFilenameOverFlow_filesink
 		COMMAND InstanceName RunTest BasicOperation_nofilename_filesink
 	END_TEST_BLOCK
-END_TESTCASE MM-IMAGE-OMX-FILESOURCE-001-HP
+END_TESTCASE MM-IMAGE-OMX-FILESINK-001-HP
 
 
--- a/omxilcomp/omxilgeneric/filesink/tests/unit/te_omx_filesink_other.script	Thu Sep 02 20:13:57 2010 +0300
+++ b/omxilcomp/omxilgeneric/filesink/tests/unit/te_omx_filesink_other.script	Fri Sep 17 08:27:08 2010 +0300
@@ -18,7 +18,7 @@
 
 LOAD_SUITE te_xmlomxclient
 
-START_TESTCASE MM-OTHER-OMX-FILESOURCE-001-HP
+START_TESTCASE MM-OTHER-OMX-FILESINK-001-HP
 	START_TEST_BLOCK 30 te_xmlomxclient c:\omxil\tef\te_omx_filesink.ini
 		CREATE_OBJECT OmxXmlTestWrapper InstanceName
 		COMMAND	InstanceName New c:\omxil\tef\te_omx_filesink_other.xml
@@ -27,6 +27,6 @@
 		COMMAND InstanceName RunTest GetFilenameOverFlow_filesink
 		COMMAND InstanceName RunTest BasicOperation_nofilename_filesink
 	END_TEST_BLOCK
-END_TESTCASE MM-OTHER-OMX-FILESOURCE-001-HP
+END_TESTCASE MM-OTHER-OMX-FILESINK-001-HP
 
 
--- a/omxilcomp/omxilgeneric/filesink/tests/unit/te_omx_filesink_video.script	Thu Sep 02 20:13:57 2010 +0300
+++ b/omxilcomp/omxilgeneric/filesink/tests/unit/te_omx_filesink_video.script	Fri Sep 17 08:27:08 2010 +0300
@@ -18,7 +18,7 @@
 
 LOAD_SUITE te_xmlomxclient
 
-START_TESTCASE MM-VIDEO-OMX-FILESOURCE-001-HP
+START_TESTCASE MM-VIDEO-OMX-FILESINK-001-HP
 	START_TEST_BLOCK 30 te_xmlomxclient c:\omxil\tef\te_omx_filesink.ini
 		CREATE_OBJECT OmxXmlTestWrapper InstanceName
 		COMMAND	InstanceName New c:\omxil\tef\te_omx_filesink_video.xml
@@ -29,6 +29,6 @@
 		COMMAND InstanceName RunTest ChangeInvalidEncodeType_filesink
 		COMMAND InstanceName RunTest BasicOperation_nofilename_filesink
 	END_TEST_BLOCK
-END_TESTCASE MM-VIDEO-OMX-FILESOURCE-001-HP
+END_TESTCASE MM-VIDEO-OMX-FILESINK-001-HP
 
 
--- a/omxilcomp/omxilgeneric/filesink/tests/unit/te_omx_filesink_video_compatibility.script	Thu Sep 02 20:13:57 2010 +0300
+++ b/omxilcomp/omxilgeneric/filesink/tests/unit/te_omx_filesink_video_compatibility.script	Fri Sep 17 08:27:08 2010 +0300
@@ -18,12 +18,12 @@
 
 LOAD_SUITE te_xmlomxclient
 
-START_TESTCASE MM-VIDEO-OMX-FILESOURCE-001-HP
+START_TESTCASE MM-VIDEO-OMX-FILESINK_COMPATIBILITY-001-HP
 	START_TEST_BLOCK 30 te_xmlomxclient c:\omxil\tef\te_omx_filesink.ini
 		CREATE_OBJECT OmxXmlTestWrapper InstanceName
 		COMMAND	InstanceName New c:\omxil\tef\te_omx_filesink_video_compatibility.xml
 		COMMAND InstanceName RunTest Read3GPFormat
 	END_TEST_BLOCK
-END_TESTCASE MM-VIDEO-OMX-FILESOURCE-001-HP
+END_TESTCASE MM-VIDEO-OMX-FILESINK_COMPATIBILITY-001-HP