Revision: 201027
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 06 Jul 2010 16:02:18 +0300
changeset 34 31d6e1ae5283
parent 33 0267baa9dea9
child 36 6320e299b97a
child 38 4269ca484c7b
Revision: 201027 Kit: 2010127
audio/ARM_CMMF_codecs/FrameTable/Data/Create_FrameTable_STUB_SIS.bat
audio/ARM_CMMF_codecs/FrameTable/Data/FrameTable_Stub.SIS
audio/ARM_CMMF_codecs/FrameTable/Data/FrameTable_Stub.pkg
audio/ARM_CMMF_codecs/FrameTable/Group/FrameTable.mmp
audio/ARM_CMMF_codecs/FrameTable/Group/bld.inf
audio/ARM_CMMF_codecs/FrameTable/Inc/DebugMacros.h
audio/ARM_CMMF_codecs/FrameTable/Src/FrameTable.cpp
audio/ARM_CMMF_codecs/FrameTable/bwins/FrameTableu.def
audio/ARM_CMMF_codecs/FrameTable/eabi/FrameTableu.def
audio/ARM_CMMF_codecs/FrameTable/rom/FrameTable.iby
audio/ARM_CMMF_codecs/group/bld.inf
audio/group/bld.inf
build.config.xml
eaacplusutil_stub/bwins/eaacplusutil_stubu.def
eaacplusutil_stub/eabi/eaacplusutil_stubu.def
eaacplusutil_stub/group/bld.inf
eaacplusutil_stub/group/eaacplusutil_stub.mmp
eaacplusutil_stub/inc/mcc_eaacputil_aaccodec.h
eaacplusutil_stub/src/eaacplusutil_stub.cpp
frametable_stub/group/bld.inf
frametable_stub/group/frametable_stub.mmp
frametable_stub/src/frametable_stub.cpp
group/bld.inf
imagingandcamerafws/imagingfws/GifScaler/group/bld.inf
imagingandcamerafws/imagingfws/GifScaler/group/bld_include.inf
imagingandcamerafws/imagingfws/ImageTransform/group/bld.inf
imagingandcamerafws/imagingfws/ImageTransform/group/bld_include.inf
imagingandcamerafws/imagingfws/group/BLD.INF
imagingandcamerafws/imagingfws/inc/ImageConversion.h
imagingandcamerafws/imagingfws/inc/icl/ICL_PropertyUIDS.h
imagingandcamerafws/imagingfws/inc/icl/ICL_PropertyUIDS.hrh
imagingandcamerafws/imagingfws/src/ImageResolverAPI.cpp
imagingandcamerafws/imaginginttest/group/Bld.inf
imagingandcamerafws/imagingunittest/group/BLD.INF
layers.sysdef.xml
mdfdevvideoextensions/nga_mdf_postprocessor/inc/NGAPostProcHwDevice.h
mdfdevvideoextensions/nga_mdf_postprocessor/inc/surface_hints.h
mdfdevvideoextensions/nga_mdf_postprocessor/src/NGAPostProcHwDevice.cpp
mf_developer_build.config.xml
mm_pub/drm_audio_player_api/tsrc/data/mmc/drm/test3gp.dcf
mm_pub/drm_audio_player_api/tsrc/data/mmc/drm/testmp3.dcf
mmdevicefw/mdfunittest/group/BLD.INF
mmtestenv/mmtestagent/group/bld.inf
mmtestenv/mmtestfw/gceavailable/group/bld.inf
mmtestenv/mmtestfw/group/BLD.INF
mmtestenv/mmtesttools/Group/bld.inf
package_definition.xml
video/ARM_MDF_Decoders/Utilities/BufferProcessor/BWINS/BufferProcessor.def
video/ARM_MDF_Decoders/Utilities/BufferProcessor/EABI/BufferProcessor.def
video/ARM_MDF_Decoders/Utilities/BufferProcessor/group/BufferProcessor.mmp
video/ARM_MDF_Decoders/Utilities/BufferProcessor/group/bld.inf
video/ARM_MDF_Decoders/Utilities/BufferProcessor/inc/BaseEngine.h
video/ARM_MDF_Decoders/Utilities/BufferProcessor/inc/BaseEngineImplementation.h
video/ARM_MDF_Decoders/Utilities/BufferProcessor/inc/BaseProcessEngine.h
video/ARM_MDF_Decoders/Utilities/BufferProcessor/inc/RDebug.h
video/ARM_MDF_Decoders/Utilities/BufferProcessor/inc/codec.h
video/ARM_MDF_Decoders/Utilities/BufferProcessor/src/BaseEngineImplementation.cpp
video/ARM_MDF_Decoders/Utilities/BufferProcessor/src/BaseProcessEngine.cpp
video/ARM_MDF_Decoders/Utilities/StateMachine/BWINS/StateMachine.def
video/ARM_MDF_Decoders/Utilities/StateMachine/EABI/StateMachine.def
video/ARM_MDF_Decoders/Utilities/StateMachine/group/StateMachine.mmp
video/ARM_MDF_Decoders/Utilities/StateMachine/group/bld.inf
video/ARM_MDF_Decoders/Utilities/StateMachine/inc/Statemachine.h
video/ARM_MDF_Decoders/Utilities/StateMachine/src/Statemachine.cpp
video/ARM_MDF_Decoders/Utilities/group/bld.inf
video/group/bld.inf
--- a/audio/ARM_CMMF_codecs/FrameTable/Data/Create_FrameTable_STUB_SIS.bat	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-@echo off
-
-rem
-
-rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-
-rem All rights reserved.
-
-rem This component and the accompanying materials are made available
-
-rem under the terms of "Eclipse Public License v1.0"
-
-rem which accompanies this distribution, and is available
-
-rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-
-rem
-
-rem Initial Contributors:
-
-rem Nokia Corporation - initial contribution.
-
-rem
-
-rem Contributors:
-
-rem
-
-rem Description: STUB to test FrameTable.
-
-rem
-
-@echo on
-
-
-
-makesis -s FrameTable_Stub.pkg FrameTable_Stub.sis
-
Binary file audio/ARM_CMMF_codecs/FrameTable/Data/FrameTable_Stub.SIS has changed
--- a/audio/ARM_CMMF_codecs/FrameTable/Data/FrameTable_Stub.pkg	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-;
-
-; Copyright (c) 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: STUB to test FrameTable Implementation.
-
-;
-
-;Language
-
-&en
-
-
-
-;Header
-
-# {"Frame Table"}, (0x10207BC0), 1, 0, 0, TYPE=SA, RU
-
-
-
-;Dependency header
-
-
-
-;Localised Vendor name
-
-%{"Nokia"}
-
-
-
-;Unique Vendor name
-
-:"Nokia"
-
-
-
-;Optional logofile
-
-
-
-;Files to install
-
-
-
--- a/audio/ARM_CMMF_codecs/FrameTable/Group/FrameTable.mmp	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-
-* Copyright (c) 2007 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:  Project file for .
-
-*
-
-*/
-
-
-
-
-
-#include <platform_paths.hrh>
-
-
-
-TARGET          FrameTable.dll
-
-TARGETTYPE      DLL
-
-UID             0x1000008D 0x10207B9C
-
-
-
-CAPABILITY      CAP_GENERAL_DLL
-
-VENDORID        VID_DEFAULT
-
-
-
-SOURCEPATH      ../Src
-
-SOURCE          FrameTable.cpp
-
-
-
-USERINCLUDE     ../Inc
-
-
-
-OS_LAYER_SYSTEMINCLUDE
-
-SYSTEMINCLUDE   /epoc32/include/mmf/common
-
-SYSTEMINCLUDE   /epoc32/include/mmf/server
-
-
-
-LIBRARY         euser.lib
-
--- a/audio/ARM_CMMF_codecs/FrameTable/Group/bld.inf	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
-
-* Copyright (c) 2007 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:   Build file for building the frame table library
-
-*
-
-*/
-
-
-
-
-
-#include <platform_paths.hrh>
-
-
-
-PRJ_PLATFORMS
-
-DEFAULT
-
-WINSCW ARMV5 ARM9E
-
-
-
-PRJ_EXPORTS
-
-../Data/FrameTable_Stub.SIS   /epoc32/data/z/system/install/FrameTable_Stub.SIS
-
-../rom/FrameTable.iby         CORE_OS_LAYER_IBY_EXPORT_PATH(FrameTable.iby)
-
-
-
-PRJ_MMPFILES
-
-FrameTable.mmp
-
-
-
-PRJ_TESTMMPFILES
-
-
-
-PRJ_TESTEXPORTS
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-
-//                                END OF FILE                                 //
-
-////////////////////////////////////////////////////////////////////////////////
-
--- a/audio/ARM_CMMF_codecs/FrameTable/Inc/DebugMacros.h	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-
-* Copyright (c) 2007 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:  Debug Macros used by AdvancedAudioController
-
-*
-
-*/
-
-
-
-#ifndef __DEBUGMACROS_H__
-
-#define __DEBUGMACROS_H__
-
-
-
-// MACROS
-
-#ifdef _DEBUG
-
-#define DP0(string)                                 RDebug::Print(string)
-
-#define DP1(string,arg1)                            RDebug::Print(string,arg1)
-
-#define DP2(string,arg1,arg2)                       RDebug::Print(string,arg1,arg2)
-
-#define DP3(string,arg1,arg2,arg3)                  RDebug::Print(string,arg1,arg2,arg3)
-
-#define DP4(string,arg1,arg2,arg3,arg4)             RDebug::Print(string,arg1,arg2,arg3,arg4)
-
-#define DP5(string,arg1,arg2,arg3,arg4,arg5)        RDebug::Print(string,arg1,arg2,arg3,arg4,arg5)
-
-#define DP6(string,arg1,arg2,arg3,arg4,arg5,arg6)   RDebug::Print(string,arg1,arg2,arg3,arg4,arg5,arg6)
-
-#else
-
-#define DP0(string)                            
-
-#define DP1(string,arg1)                       
-
-#define DP2(string,arg1,arg2)                  
-
-#define DP3(string,arg1,arg2,arg3)             
-
-#define DP4(string,arg1,arg2,arg3,arg4)             
-
-#define DP5(string,arg1,arg2,arg3,arg4,arg5)
-
-#define DP6(string,arg1,arg2,arg3,arg4,arg5,arg6)
-
-#endif
-
-
-
-#endif //__DEBUGMACROS_H__
-
--- a/audio/ARM_CMMF_codecs/FrameTable/Src/FrameTable.cpp	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1404 +0,0 @@
-/*
-
-* Copyright (c) 2007 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:  Class definition for the frame table functions.
-
- *
-
-*/
-
-
-
-
-
-//  INCLUDES
-
-#include "FrameTable.h"
-
-#include "DebugMacros.h"
-
-#include <e32debug.h>
-
-
-
-// CONSTANTS
-
-const TInt KBuffersToKeep = 3;
-
-const TInt KLowResPeriodMs = 1000; // approximate interval for entries stored in low res table is 1 sec
-
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-
-// -----------------------------------------------------------------------------
-
-// CFrameTable::CFrameTable
-
-// C++ default constructor can NOT contain any code, that
-
-// might leave.
-
-// -----------------------------------------------------------------------------
-
-//
-
-CFrameTable::CFrameTable()
-
-    {
-
-    }
-
-
-
-// -----------------------------------------------------------------------------
-
-// CFrameTable::ConstructL
-
-// Symbian 2nd phase constructor can leave.
-
-// -----------------------------------------------------------------------------
-
-//
-
-void CFrameTable::ConstructL()
-
-    {
-
-    DP0(_L("CFrameTable::ConstructL"));
-
-    SetSourceReference(0,0);
-
-    }
-
-
-
-// -----------------------------------------------------------------------------
-
-// CFrameTable::NewL
-
-// Two-phased constructor.
-
-// -----------------------------------------------------------------------------
-
-//
-
-EXPORT_C CFrameTable* CFrameTable::NewL()
-
-    {
-
-    DP0(_L("CFrameTable::NewL"));
-
-
-
-    CFrameTable* self = new(ELeave) CFrameTable;
-
-    CleanupStack::PushL(self);
-
-    self->ConstructL();
-
-    CleanupStack::Pop(self);
-
-    return self;
-
-    }
-
-
-
-// -----------------------------------------------------------------------------
-
-// CFrameTable::~CFrameTable
-
-// -----------------------------------------------------------------------------
-
-//
-
-EXPORT_C CFrameTable::~CFrameTable()
-
-    {
-
-    DP0(_L("CFrameTable::~CFrameTable"));
-
-    iFrameTable.Close();
-
-    iLowResFrameTable.Close();
-
-    }
-
-
-
-// -----------------------------------------------------------------------------
-
-// CFrameTable::InitFrameTable
-
-// -----------------------------------------------------------------------------
-
-//
-
-EXPORT_C TInt CFrameTable::InitFrameTable(TInt aSampleRate, TInt aSamplesPerFrame)
-
-    { // this is only intended to be used at the very beginning of play since it clears the table
-
-    DP2(_L("CFrameTable::InitFrameTable aSampleRate[%d], aSamplesPerFrame[%d]"), aSampleRate, aSamplesPerFrame);
-
-    TInt status = KErrNone;
-
-    ResetTable();
-
-    iSampleRate = aSampleRate;
-
-    iSamplesPerFrame = aSamplesPerFrame;
-
-
-
-    if ((iSampleRate> 0) && (iSamplesPerFrame> 0))
-
-        {
-
-        iMsecPerFrame = (iSamplesPerFrame*1000)/iSampleRate;
-
-        iFramesPerLowResInterval = ((iSampleRate*KLowResPeriodMs/1000) / iSamplesPerFrame);
-
-        iLowResIntervalMs = (iSamplesPerFrame*1000*iFramesPerLowResInterval)/iSampleRate;
-
-        }
-
-    else
-
-        {
-
-        status = KErrArgument;
-
-        }
-
-
-
-    return status;
-
-    }
-
-
-
-//  0   1   2   3   4
-
-// -----------------------------------------------------------------------------
-
-// CFrameTable::SubmitTableEntry
-
-// -----------------------------------------------------------------------------
-
-//
-
-// The table will always have contiguous frames in it.
-
-EXPORT_C TInt CFrameTable::SubmitTableEntry(TUint aPos)
-
-    {
-
-    DP2(_L("CFrameTable::SubmitTableEntry aPos[%u], event pos[%u]"), aPos, iPosEventMs);
-
-    TInt status = KErrNone;
-
-    TBufRefPosEntry lastEntry;
-
-    lastEntry.iPos = 0;
-
-    TBufRefPosEntry bufRefPos;
-
-    TUint frameNum;
-
-
-
-    TUint pos = aPos+iOffset; // pos = absolute position (not including any header)
-
-
-
-    if (aPos> 0)
-
-        {
-
-        iCurrentFrameCount++; // not a total frame count, but count from last reference set
-
-        DP1(_L("CFrameTable::SubmitTableEntry iCurrentFrameCount[%u]"), iCurrentFrameCount);
-
-        }
-
-
-
-    TUint numEntries = iFrameTable.Count(); // this table will stay short - seeking backward resets it
-
-
-
-    if (numEntries == 0)
-
-        { // table gets reset if seeking in source
-
-        bufRefPos.iPos = pos;
-
-        bufRefPos.iFrameNum = iFrameNum; // first frame num is 0 so calculations for time 0 would point to frame 0
-
-        status = iFrameTable.Append(bufRefPos);
-
-        ASSERT(status == KErrNone);
-
-        numEntries = 1;
-
-        DP2(_L("CFrameTable::SubmitTableEntry init pos[%u] framenum[%u]"), pos, iFrameNum);
-
-        }
-
-    else
-
-        {
-
-        lastEntry = iFrameTable[numEntries-1];
-
-
-
-        if (pos> lastEntry.iPos)
-
-            {
-
-            frameNum = lastEntry.iFrameNum + 1;
-
-            bufRefPos.iPos = pos;
-
-            bufRefPos.iFrameNum = frameNum;
-
-
-
-            DP3 (_L ("CFrameTable::SubmitTableEntry, new entry iPos[%u], iFrameNum[%u], cnt[%u]"), bufRefPos.iPos, bufRefPos.iFrameNum, numEntries+1);
-
-
-
-            status = iFrameTable.Append(bufRefPos);
-
-            ASSERT(status == KErrNone);
-
-            if (iOkToShrink)
-
-                {
-
-                DP0(_L("CFrameTable::SubmitTableEntry removing an entry "));
-
-                iFrameTable.Remove(0);
-
-                }
-
-            }
-
-        else
-
-            {
-
-            status = KErrArgument;
-
-            }
-
-        }
-
-
-
-    if (status == KErrNone)
-
-        {
-
-        SubmitLowResTableEntry(bufRefPos); // do this before events are detected below
-
-
-
-        // total average bitrate - not instantaneous bitrate - used for duration calculation
-
-        if (pos> iLastBytePos)
-
-            { // don't recalculate if we rewind
-
-            iLastBytePos = pos; // pos is absolute position - relative to the start of actual data content (not file start - no metadata) as set by the user. User maintains metadata offsets.
-
-            TUint totalTimeMs = bufRefPos.iFrameNum*iMsecPerFrame; // total time in the table
-
-                DP1(_L("CFrameTable::SubmitTableEntry totalTimeMs[%u]"), totalTimeMs);
-
-            if (totalTimeMs> 0)
-
-                {
-
-                // cast calculation to TIn64 or it could lose precision
-
-                TUint64 p = pos;
-
-                p = p*8*1000;
-
-                TUint64 t = totalTimeMs;
-
-                iAvgBitrate = p/t;
-
-                }
-
-            }
-
-        }
-
-
-
-    // need to convert current position to time
-
-    TInt currentTimeMs = iCurrentFrameCount*iMsecPerFrame + iTimeRefMs; // current time position being played
-
-    DP3(_L("CFrameTable::SubmitTableEntry current calculated time ms[%u] iCurrentFrameCount[%u] timeref[%u]"), currentTimeMs, iCurrentFrameCount, iTimeRefMs);
-
-    if (iPosEventMs> 0)
-
-        { // used for seeking
-
-        if (currentTimeMs >= iPosEventMs)
-
-            {
-
-            iPosEventMs = 0;
-
-            DP0(_L("CFrameTable::SubmitTableEntry handle event pos reached"));
-
-            iEventPos = pos;
-
-            iObserver->HandleFrameTableEvent(EPosReached);
-
-            }
-
-        }
-
-
-
-    if (iPlayWindowEndPosEventMs> 0)
-
-        {
-
-        if (currentTimeMs >= iPlayWindowEndPosEventMs)
-
-            {
-
-            iPlayWindowEndPosEventMs = 0;
-
-            DP0(_L("CFrameTable::SubmitTableEntry handle event play window end pos reached"));
-
-            iObserver->HandleFrameTableEvent(EPlayWindowEndPosReached);
-
-            }
-
-        }
-
-
-
-    if (iIntervalEvent> 0)
-
-        {
-
-        if (iIntervalRef == 0)
-
-            {
-
-            iIntervalRef = currentTimeMs;
-
-            }
-
-
-
-        if ((currentTimeMs - iIntervalRef) >= iIntervalEvent)
-
-            {
-
-            iIntervalRef = currentTimeMs;
-
-            iObserver->HandleFrameTableEvent(EDecodeInterval);
-
-            }
-
-        }
-
-
-
-    DP1 (_L ("CFrameTable::SubmitTableEntry, avgBitRate[%u]"), iAvgBitrate);
-
-    return status;
-
-    }
-
-
-
-TInt CFrameTable::SubmitLowResTableEntry(TBufRefPosEntry& aEntry)
-
-    {
-
-    TInt status = KErrNone;
-
-    TBufRefPosEntry lastEntry;
-
-
-
-    TUint numEntries = iLowResFrameTable.Count();
-
-    if (numEntries == 0)
-
-        {
-
-        status = iLowResFrameTable.Append(aEntry);
-
-        ASSERT(status == KErrNone);
-
-        return status;
-
-        }
-
-
-
-    lastEntry = iLowResFrameTable[numEntries-1];
-
-
-
-    ASSERT(aEntry.iFrameNum <= lastEntry.iFrameNum + iFramesPerLowResInterval);
-
-    // note that 0 position table entries can be submitted to the table before it is initialized.
-
-    // If this happens, iFramesPerLowResInterval would still be 0 and the same entry might be appended again
-
-    // so we have a check to make sure that doesn't happen.
-
-    if ((aEntry.iFrameNum == lastEntry.iFrameNum + iFramesPerLowResInterval) && 
-
-        (iFramesPerLowResInterval != 0))
-
-        {
-
-        DP3 (_L ("CFrameTable::SubmitLowResTableEntry, new entry aEntry.iFrameNum[%u], lastEntry.iFrameNum[%u], iFramesPerLowResInterval[%u]"), aEntry.iFrameNum, lastEntry.iFrameNum, iFramesPerLowResInterval);
-
-        DP3 (_L ("CFrameTable::SubmitLowResTableEntry, new entry iPos[%u], iFrameNum[%u], cnt[%u]"), aEntry.iPos, aEntry.iFrameNum, numEntries+1);
-
-
-
-        status = iLowResFrameTable.Append(aEntry);
-
-        ASSERT(status == KErrNone);
-
-        }
-
-    else
-
-        {
-
-        status = KErrArgument;
-
-        }
-
-
-
-    return status;
-
-    }
-
-
-
-// -----------------------------------------------------------------------------
-
-// CFrameTable::FindFramePosFromTime
-
-// -----------------------------------------------------------------------------
-
-//
-
-/*
-
- Looks in the table for the frame position associated with the given time.
-
- It will return the position and also the time for that frame.
-
- If not found, an error will be returned, and the time and position will be
-
- the closest available in the table.
-
- */
-
-EXPORT_C TInt CFrameTable::FindFramePosFromTime(TUint& aTimeMs, TUint& aPos)
-
-    {
-
-    DP2(_L("CFrameTable::FindFramePosFromTime time[%u], pos[%u]"), aTimeMs, aPos);
-
-    TInt stat = KErrNone;
-
-    // TUint in msec can represent 1193 hours
-
-    TInt tableIndex;
-
-
-
-    // special case for time = 0
-
-    if (aTimeMs == 0)
-
-        {
-
-        aPos = 0;
-
-        DP0(_L("CFrameTable::FindFramePosFromTime time=0 pos=0"));
-
-        return KErrNone;
-
-        }
-
-
-
-    TUint countlr = iLowResFrameTable.Count();
-
-    if ((countlr == 0) || (iMsecPerFrame == 0))
-
-        {
-
-        DP2(_L("CFrameTable::FindFramePosFromTime not ready countlr[%u] iMsecPerFrame[%u]"), countlr, iMsecPerFrame);
-
-        return KErrNotReady;
-
-        }
-
-    TUint frame = aTimeMs/iMsecPerFrame; // calc frame number
-
-    DP1(_L("CFrameTable::FindFramePosFromTime looking for frame[%u]"), frame);
-
-
-
-    // check hi-res table first
-
-    TUint count = iFrameTable.Count();
-
-    if (count == 0)
-
-        {
-
-        stat = KErrNotFound; // use low-res table
-
-        }
-
-    else
-
-        {
-
-        TUint frame0 = iFrameTable[0].iFrameNum; // first frame available (table can shrink)
-
-        DP1(_L("CFrameTable::FindFramePosFromTime frame0[%u]"), frame0);
-
-        if (frame >= frame0) // frame might be in table
-
-
-
-            {
-
-            tableIndex = frame - frame0; // calc index into table
-
-            DP1(_L("CFrameTable::FindFramePosFromTime tableIndex[%u]"), tableIndex);
-
-            if (tableIndex >= count)
-
-                {
-
-                stat = KErrNotFound; // use low-res table
-
-                DP0(_L("CFrameTable::FindFramePosFromTime not found in hi-res"));
-
-                }
-
-            else
-
-                {
-
-                aPos = iFrameTable[tableIndex].iPos;
-
-                iFrameNum = iFrameTable[tableIndex].iFrameNum; // iFrameNum provides frame num after hi-res table is reset
-
-                aTimeMs = iFrameNum * iMsecPerFrame;
-
-                DP4(_L("CFrameTable::FindFramePosFromTime aTimeMs[%u] iFrameNum[%u] iSamplesPerFrame[%u] iSampleRate[%u]"),
-
-                        aTimeMs,iFrameNum,iSamplesPerFrame,iSampleRate);
-
-                }
-
-            }
-
-        else
-
-            {
-
-            stat = KErrNotFound; // use low-res table
-
-            }
-
-        }
-
-    if (stat == KErrNotFound)
-
-        { // check low-res table
-
-        DP0(_L("CFrameTable::FindFramePosFromTime looking in low-res table"));
-
-        if (iFramesPerLowResInterval> 0)
-
-    		{  // first frame is always 0 in low res table - don't need to subtract frame[0]
-
-            tableIndex = frame/iFramesPerLowResInterval; // calc index into table
-
-            DP3(_L("CFrameTable::FindFramePosFromTime tableIndex[%d] frame[%u] iFramesPerLowResInterval[%u]"),
-
-                    tableIndex,frame,iFramesPerLowResInterval);
-
-            if (tableIndex < countlr)
-
-                {
-
-                aPos = iLowResFrameTable[tableIndex].iPos;
-
-                iFrameNum = iLowResFrameTable[tableIndex].iFrameNum; // iFrameNum provides frame num after hi-res table is reset
-
-                aTimeMs = iFrameNum * iMsecPerFrame;
-
-                stat = KErrNone;
-
-                }
-
-            }
-
-        }
-
-
-
-    if (stat == KErrNotFound)
-
-        { // use last in low-res table
-
-        aPos = iLowResFrameTable[countlr-1].iPos;
-
-        iFrameNum = iLowResFrameTable[countlr-1].iFrameNum; // iFrameNum provides frame num after hi-res table is reset
-
-        aTimeMs = iFrameNum * iMsecPerFrame;
-
-        }
-
-    DP4(_L("CFrameTable::FindFramePosFromTime time[%u], pos[%u], stat[%d] iFrameNum sync[%u]"), aTimeMs, aPos, stat, iFrameNum);
-
-    return stat;
-
-    }
-
-
-
-EXPORT_C TInt CFrameTable::FindFrameTimeFromPos(TUint& aTimeMs, TUint& aPos)
-
-    {
-
-    DP1(_L("CFrameTable::FindFrameTimeFromPos pos[%u]"), aPos);
-
-    TInt stat = KErrNotFound;
-
-    //	TBufRefPosEntry temp; // used for array search
-
-    //	temp.iFrameNum = 0;
-
-    //	temp.iPos = aPos;
-
-
-
-    //	stat = iFrameTable.SpecificFindInUnsignedKeyOrder(temp, EArrayFindMode_First);
-
-    TUint count = iFrameTable.Count();
-
-    for (TUint i=0; i<count; i++)
-
-        {
-
-        if (iFrameTable[i].iPos >= aPos)
-
-            {
-
-            stat = i;
-
-            DP4(_L("CFrameTable::FindFrameTimeFromPos hi-res first[%u] last[%u] count[%u] stat[%d]"),
-
-                    iFrameTable[0].iPos, iFrameTable[count-1].iPos, count, stat);
-
-            break;
-
-            }
-
-        }
-
-#ifdef _DEBUG 
-
-    if(count == 0)
-
-        {
-
-        DP0(_L("CFrameTable::FindFrameTimeFromPos hi-res Frame Table: Empty"));
-
-        }
-
-#endif
-
-
-
-    if (stat == KErrNotFound)
-
-        {
-
-        //		stat = iLowResFrameTable.SpecificFindInUnsignedKeyOrder(temp, EArrayFindMode_First);
-
-        count = iLowResFrameTable.Count();
-
-        for (TUint i=0; i<count; i++)
-
-            {
-
-            if (iLowResFrameTable[i].iPos >= aPos)
-
-                {
-
-                stat = i;
-
-                DP4(_L("CFrameTable::FindFrameTimeFromPos lo-res first[%u] last[%u] count[%u] stat[%d]"),
-
-                        iLowResFrameTable[0].iPos, iLowResFrameTable[count-1].iPos, count, stat);
-
-                break;
-
-                }
-
-            }
-
-#ifdef _DEBUG 
-
-        if(count == 0)
-
-            {
-
-            DP0(_L("CFrameTable::FindFrameTimeFromPos lo-res Frame Table: Empty"));
-
-            }
-
-#endif		
-
-
-
-        if (stat != KErrNotFound)
-
-            {
-
-            aPos = iLowResFrameTable[stat].iPos;
-
-            aTimeMs = iLowResFrameTable[stat].iFrameNum * iMsecPerFrame;
-
-            iFrameNum = iLowResFrameTable[stat].iFrameNum; // iFrameNum provides frame num after hi-res table is reset
-
-            DP3(_L("CFrameTable::FindFrameTimeFromPos lo-res iFrameNum[%u] indx[%d] iFrameNum sync[%u]"), iLowResFrameTable[stat].iFrameNum, stat, iFrameNum);
-
-            }
-
-        }
-
-    else
-
-        {
-
-        aPos = iFrameTable[stat].iPos;
-
-        aTimeMs = iFrameTable[stat].iFrameNum * iMsecPerFrame;
-
-        iFrameNum = iFrameTable[stat].iFrameNum; // iFrameNum provides frame num after hi-res table is reset
-
-        DP3(_L("CFrameTable::FindFrameTimeFromPos hi-res iFrameNum[%u] indx[%d] iFrameNum sync[%u]"), iFrameTable[stat].iFrameNum, stat, iFrameNum);
-
-        }
-
-
-
-    DP3(_L("CFrameTable::FindFrameTimeFromPos time[%u] pos[%u] indxstat[%d]"), aTimeMs, aPos, stat);
-
-    if (stat> 0)
-
-        {
-
-        stat = KErrNone;
-
-        }
-
-    return stat;
-
-    }
-
-
-
-// -----------------------------------------------------------------------------
-
-// CFrameTable::LastFramePos
-
-// -----------------------------------------------------------------------------
-
-//
-
-EXPORT_C TInt CFrameTable::LastFramePos(TUint& aPos)
-
-    {
-
-    TInt stat = KErrNotFound;
-
-    TInt stat1 = KErrNotFound;
-
-    TInt stat2 = KErrNotFound;
-
-    TUint count;
-
-    TInt pos1 = 0;
-
-    TInt pos2 = 0;
-
-
-
-    count = iFrameTable.Count();
-
-    DP1(_L("CFrameTable::LastFramePos count[%u]"), count);
-
-    if (count> 0)
-
-        {
-
-        pos1 = iFrameTable[count-1].iPos;
-
-        stat1 = KErrNone;
-
-        DP1(_L("CFrameTable::LastFramePos last pos in hi-res[%d]"), pos1);
-
-        }
-
-
-
-    count = iLowResFrameTable.Count();
-
-    DP1(_L("CFrameTable::LastFramePos lr count[%u]"), count);
-
-    if (count> 0)
-
-        {
-
-        pos2 = iLowResFrameTable[count-1].iPos;
-
-        stat2 = KErrNone;
-
-        DP1(_L("CFrameTable::LastFramePos last pos in low-res[%d]"), pos2);
-
-        }
-
-
-
-    if ((stat1 == KErrNone) && (stat2 == KErrNone))
-
-        {
-
-        aPos = Max(pos1, pos2);
-
-        stat = KErrNone;
-
-        }
-
-    else if (stat1 == KErrNone)
-
-        {
-
-        aPos = pos1;
-
-        stat = KErrNone;
-
-        }
-
-    else if (stat2 == KErrNone)
-
-        {
-
-        aPos = pos2;
-
-        stat = KErrNone;
-
-        }
-
-    DP1(_L("CFrameTable::LastFramePos aPos[%d]"), aPos);
-
-
-
-    return stat;
-
-    }
-
-
-
-// -----------------------------------------------------------------------------
-
-// CFrameTable::LastFrameTime
-
-// -----------------------------------------------------------------------------
-
-//
-
-EXPORT_C TInt CFrameTable::LastFrameTime(TUint& aTimeMs)
-
-    {
-
-    DP0(_L("CFrameTable::LastFrameTime"));
-
-    TInt stat = KErrNotFound;
-
-    TInt stat1 = KErrNotFound;
-
-    TInt stat2 = KErrNotFound;
-
-    TUint count;
-
-    TUint frameNum = 0;
-
-    TInt frameNum1 = 0;
-
-    TInt frameNum2 = 0;
-
-
-
-    count = iFrameTable.Count();
-
-    if (count> 0)
-
-        {
-
-        frameNum1 = iFrameTable[count-1].iFrameNum;
-
-        stat1 = KErrNone;
-
-        }
-
-
-
-    count = iLowResFrameTable.Count();
-
-    if (count> 0)
-
-        {
-
-        frameNum2 = iLowResFrameTable[count-1].iFrameNum;
-
-        stat2 = KErrNone;
-
-        }
-
-
-
-    if ((stat1 == KErrNone) && (stat2 == KErrNone))
-
-        {
-
-        frameNum = Max(frameNum1, frameNum2);
-
-        stat = KErrNone;
-
-        }
-
-    else if (stat1 == KErrNone)
-
-        {
-
-        frameNum = frameNum1;
-
-        stat = KErrNone;
-
-        }
-
-    else if (stat2 == KErrNone)
-
-        {
-
-        frameNum = frameNum2;
-
-        stat = KErrNone;
-
-        }
-
-
-
-    aTimeMs = frameNum * iMsecPerFrame;
-
-    DP2(_L("CFrameTable::LastFrameTime time[%u] frame[%u]"),aTimeMs,frameNum);
-
-
-
-    return stat;
-
-    }
-
-
-
-// -----------------------------------------------------------------------------
-
-// CFrameTable::ResetTable
-
-// -----------------------------------------------------------------------------
-
-//	
-
-EXPORT_C void CFrameTable::ResetTable()
-
-    {
-
-    DP0(_L("CFrameTable::ResetTable"));
-
-
-
-    iFrameTable.Reset();
-
-    iBufCnt = 0;
-
-    iOkToShrink = EFalse;
-
-    }
-
-
-
-// -----------------------------------------------------------------------------
-
-// CFrameTable::ShrinkTable
-
-// -----------------------------------------------------------------------------
-
-//	
-
-EXPORT_C void CFrameTable::ShrinkTable()
-
-    { // gets called from controller decoder when switching to next buffer
-
-    DP0(_L("CFrameTable::ShrinkTable"));
-
-    if (iBufCnt < KBuffersToKeep)
-
-        {
-
-        iBufCnt++;
-
-        }
-
-    else
-
-        {
-
-        iOkToShrink = ETrue;
-
-        DP0(_L("CFrameTable::ShrinkTable ok to shrink"));
-
-        }
-
-    }
-
-
-
-EXPORT_C TInt CFrameTable::SetSourceReference(TUint aTimeMs, TUint aPos)
-
-    { // if position is unknown it should always be set to 0 as the reference offset and time will be used instead
-
-    // This is used to set the offset which is added to future frame positions submitted
-
-    // This frame table can get reset when seeking and needs to know where it is in the source
-
-    DP2(_L("CFrameTable::SetOffset, aTimeMs[%u], aPos[%u]"), aTimeMs, aPos);
-
-    TInt stat = KErrNone;
-
-    iTimeRefMs = aTimeMs;
-
-    iCurrentFrameCount = 0;
-
-    iIntervalRef = 0;
-
-    iOffset = aPos;
-
-    if (aTimeMs == 0)
-
-        {
-
-        iFrameNum = 0;
-
-        }
-
-    if (iFrameTable.Count() == 0)
-
-        { // this is to make sure the table has at least one entry in case playback looks for a position in the buffers after seeking
-
-        SubmitTableEntry(0);
-
-        //		iCurrentFrameCount--; // since this is not a decoded frame
-
-        }
-
-    return stat;
-
-    }
-
-
-
-// -----------------------------------------------------------------------------
-
-// CFrameTable::RegisterForEvent
-
-// -----------------------------------------------------------------------------
-
-//
-
-EXPORT_C TInt CFrameTable::RegisterForEvent(TFrameTableEvent aEvent,
-
-        MFrameTableEventObserver* aObserver,
-
-        TUint aParam)
-
-    {
-
-    DP2(_L("CFrameTable::RegisterForEvent event[%d] param[%u]"), aEvent, aParam);
-
-
-
-    TInt status = KErrNone;
-
-    iObserver = aObserver;
-
-
-
-    switch (aEvent)
-
-        {
-
-        case EPosReached:
-
-        iPosEventMs = aParam;
-
-        break;
-
-
-
-        case EPlayWindowEndPosReached:
-
-        iPlayWindowEndPosEventMs = aParam;
-
-        break;
-
-
-
-        case EDecodeInterval:
-
-
-
-        if (aParam> 0) // msec
-
-
-
-            {
-
-            iIntervalRef = 0;
-
-            iIntervalEvent = aParam;
-
-            }
-
-        else
-
-        return KErrArgument;
-
-
-
-        break;
-
-
-
-        default:
-
-        status = KErrUnknown;
-
-        break;
-
-        }
-
-
-
-    return status;
-
-    }
-
-
-
-// -----------------------------------------------------------------------------
-
-// CFrameTable::UnRegisterForEvent
-
-// -----------------------------------------------------------------------------
-
-//
-
-EXPORT_C TInt CFrameTable::UnRegisterForEvent(TFrameTableEvent aEvent, MFrameTableEventObserver* /*aObserver*/)
-
-    {
-
-    DP1(_L("CFrameTable::UnRegisterForEvent event[%d]"), aEvent);
-
-
-
-    TInt status = KErrNone;
-
-
-
-    switch (aEvent)
-
-        {
-
-        case EPosReached:
-
-        iPosEventMs = 0;
-
-        break;
-
-
-
-        case EPlayWindowEndPosReached:
-
-        iPlayWindowEndPosEventMs = 0;
-
-        break;
-
-
-
-        case EDecodeInterval:
-
-        iIntervalEvent = 0;
-
-        break;
-
-
-
-        default:
-
-        status = KErrUnknown;
-
-        break;
-
-        }
-
-
-
-    return status;
-
-    }
-
-
-
-// -----------------------------------------------------------------------------
-
-// CFrameTable::Bitrate
-
-// -----------------------------------------------------------------------------
-
-//	
-
-EXPORT_C TInt CFrameTable::Bitrate()
-
-    {
-
-    return iAvgBitrate;
-
-    }
-
-
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-
-
-// -----------------------------------------------------------------------------
-
-// CFrameTable::CalcFrameFromTimeMs
-
-// -----------------------------------------------------------------------------
-
-//
-
-TUint CFrameTable::CalcFrameFromTimeMs(TUint aTimeMs)
-
-    { // TUint in msec can represent 1193 hours
-
-    TUint frame = 0;
-
-
-
-    if (iMsecPerFrame > 0)
-
-        {
-
-        frame = aTimeMs/iMsecPerFrame;
-
-        }
-
-
-
-    return frame;
-
-    }
-
-
-
-EXPORT_C TInt CFrameTable::IsSeeking(TBool& aIsSeeking)
-
-    {
-
-    aIsSeeking = (iPosEventMs> 0);
-
-    return KErrNone;
-
-    }
-
-
-
-EXPORT_C TInt CFrameTable::GetLastPosEvent(TUint& aPos)
-
-    {
-
-    aPos = iEventPos;
-
-    return KErrNone;
-
-    }
-
-
-
-// End of File
-
-
-
--- a/audio/ARM_CMMF_codecs/FrameTable/bwins/FrameTableu.def	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-EXPORTS
-	??1CFrameTable@@UAE@XZ @ 1 NONAME ; CFrameTable::~CFrameTable(void)
-	?Bitrate@CFrameTable@@QAEHXZ @ 2 NONAME ; int CFrameTable::Bitrate(void)
-	?FindFramePosFromTime@CFrameTable@@QAEHAAI0@Z @ 3 NONAME ; int CFrameTable::FindFramePosFromTime(unsigned int &, unsigned int &)
-	?FindFrameTimeFromPos@CFrameTable@@QAEHAAI0@Z @ 4 NONAME ; int CFrameTable::FindFrameTimeFromPos(unsigned int &, unsigned int &)
-	?GetLastPosEvent@CFrameTable@@QAEHAAI@Z @ 5 NONAME ; int CFrameTable::GetLastPosEvent(unsigned int &)
-	?InitFrameTable@CFrameTable@@QAEHHH@Z @ 6 NONAME ; int CFrameTable::InitFrameTable(int, int)
-	?IsSeeking@CFrameTable@@QAEHAAH@Z @ 7 NONAME ; int CFrameTable::IsSeeking(int &)
-	?LastFramePos@CFrameTable@@QAEHAAI@Z @ 8 NONAME ; int CFrameTable::LastFramePos(unsigned int &)
-	?LastFrameTime@CFrameTable@@QAEHAAI@Z @ 9 NONAME ; int CFrameTable::LastFrameTime(unsigned int &)
-	?NewL@CFrameTable@@SAPAV1@XZ @ 10 NONAME ; class CFrameTable * CFrameTable::NewL(void)
-	?RegisterForEvent@CFrameTable@@QAEHW4TFrameTableEvent@1@PAVMFrameTableEventObserver@@I@Z @ 11 NONAME ; int CFrameTable::RegisterForEvent(enum CFrameTable::TFrameTableEvent, class MFrameTableEventObserver *, unsigned int)
-	?ResetTable@CFrameTable@@QAEXXZ @ 12 NONAME ; void CFrameTable::ResetTable(void)
-	?SetSourceReference@CFrameTable@@QAEHII@Z @ 13 NONAME ; int CFrameTable::SetSourceReference(unsigned int, unsigned int)
-	?ShrinkTable@CFrameTable@@QAEXXZ @ 14 NONAME ; void CFrameTable::ShrinkTable(void)
-	?SubmitTableEntry@CFrameTable@@QAEHI@Z @ 15 NONAME ; int CFrameTable::SubmitTableEntry(unsigned int)
-	?UnRegisterForEvent@CFrameTable@@QAEHW4TFrameTableEvent@1@PAVMFrameTableEventObserver@@@Z @ 16 NONAME ; int CFrameTable::UnRegisterForEvent(enum CFrameTable::TFrameTableEvent, class MFrameTableEventObserver *)
-
--- a/audio/ARM_CMMF_codecs/FrameTable/eabi/FrameTableu.def	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-EXPORTS
-	_ZN11CFrameTable10ResetTableEv @ 1 NONAME
-	_ZN11CFrameTable11ShrinkTableEv @ 2 NONAME
-	_ZN11CFrameTable12LastFramePosERj @ 3 NONAME
-	_ZN11CFrameTable13LastFrameTimeERj @ 4 NONAME
-	_ZN11CFrameTable14InitFrameTableEii @ 5 NONAME
-	_ZN11CFrameTable15GetLastPosEventERj @ 6 NONAME
-	_ZN11CFrameTable16RegisterForEventENS_16TFrameTableEventEP24MFrameTableEventObserverj @ 7 NONAME
-	_ZN11CFrameTable16SubmitTableEntryEj @ 8 NONAME
-	_ZN11CFrameTable18SetSourceReferenceEjj @ 9 NONAME
-	_ZN11CFrameTable18UnRegisterForEventENS_16TFrameTableEventEP24MFrameTableEventObserver @ 10 NONAME
-	_ZN11CFrameTable20FindFramePosFromTimeERjS0_ @ 11 NONAME
-	_ZN11CFrameTable20FindFrameTimeFromPosERjS0_ @ 12 NONAME
-	_ZN11CFrameTable4NewLEv @ 13 NONAME
-	_ZN11CFrameTable7BitrateEv @ 14 NONAME
-	_ZN11CFrameTable9IsSeekingERi @ 15 NONAME
-	_ZN11CFrameTableD0Ev @ 16 NONAME
-	_ZN11CFrameTableD1Ev @ 17 NONAME
-	_ZN11CFrameTableD2Ev @ 18 NONAME
-	_ZTI11CFrameTable @ 19 NONAME ; #<TI>#
-	_ZTV11CFrameTable @ 20 NONAME ; #<VT>#
-
--- a/audio/ARM_CMMF_codecs/FrameTable/rom/FrameTable.iby	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
-
-* Copyright (c) 2007 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:  IBY file for FrameTable
-
-*
-
-*/
-
-
-
-#ifndef FRAMETABLE_IBY
-
-#define FRAMETABLE_IBY
-
-
-
-
-
-
-
-file=ABI_DIR\BUILD_DIR\FrameTable.dll				SHARED_LIB_DIR\FrameTable.dll
-
-
-
-// FrameTable STUB
-
-data=ZSYSTEM\install\FrameTable_Stub.SIS    System\Install\FrameTable_Stub.SIS
-
-
-
-#endif
-
-
-
--- a/audio/ARM_CMMF_codecs/group/bld.inf	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-
-* Copyright (c) 2006 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: Project specification for Audio Plugin projects 
-
-*
-
-*/
-
-
-
-
-
-PRJ_PLATFORMS
-
-DEFAULT
-
-
-
-PRJ_EXPORTS
-
-
-
-PRJ_MMPFILES
-
-#include "../FrameTable/Group/bld.inf"
-
-
-
--- a/audio/group/bld.inf	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-
-* Copyright (c) 2006 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: Project Specification for Audio Plugin projects.  
-
-*
-
-*/
-
-
-
-
-
-PRJ_PLATFORMS
-
-DEFAULT
-
-
-
-PRJ_EXPORTS
-
-
-
-PRJ_MMPFILES
-
-#include "../ARM_CMMF_codecs/group/bld.inf"
-
-
-
-//  End of File  
-
-
-
--- a/build.config.xml	Wed Jun 23 19:56:04 2010 +0300
+++ b/build.config.xml	Tue Jul 06 16:02:18 2010 +0300
@@ -1,190 +1,163 @@
 <?xml version="1.0"?>
-<!DOCTYPE SystemDefinition [
- <!ELEMENT SystemDefinition (systemModel?, build?)>
- <!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (logicalset* | module*)*>
- <!ATTLIST layer
-  name CDATA #REQUIRED
-  levels CDATA #IMPLIED
-  span CDATA #IMPLIED>
- <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalset 
-  name CDATA #REQUIRED
-  levels CDATA #IMPLIED  
-  span CDATA #IMPLIED
-  level CDATA #IMPLIED>
- <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalsubset name CDATA #REQUIRED>
- <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
- <!ATTLIST module
-  name CDATA #REQUIRED
-  level CDATA #IMPLIED>
- <!ELEMENT component (unit* | package* | prebuilt*)*>
- <!ATTLIST component name CDATA #REQUIRED>
- <!ELEMENT unit EMPTY>
- <!ATTLIST unit
-  unitID ID #REQUIRED
-  name CDATA #REQUIRED
-  mrp CDATA #REQUIRED
-  filter CDATA #IMPLIED
-  bldFile CDATA #REQUIRED
-  priority CDATA #IMPLIED
-  contract CDATA #IMPLIED>
- <!ELEMENT package EMPTY>
- <!ATTLIST package
-  name CDATA #REQUIRED
-  mrp CDATA #REQUIRED
-  filter CDATA #IMPLIED
-  contract CDATA #IMPLIED>
- <!ELEMENT prebuilt EMPTY>
- <!ATTLIST prebuilt
-  name CDATA #REQUIRED
-  version CDATA #REQUIRED
-  late (Y|N) #IMPLIED
-  filter CDATA #IMPLIED
-  contract CDATA #IMPLIED>
- <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
- <!ELEMENT unitList (unitRef+)>
- <!ATTLIST unitList
-  name ID #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT unitRef EMPTY>
- <!ATTLIST unitRef unit IDREF #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
-  name ID #REQUIRED
-  abldTarget CDATA #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
-  name ID #REQUIRED
-  abldOption CDATA #REQUIRED
-  description CDATA #REQUIRED
-  enable (Y | N | y | n) #REQUIRED>
- <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
- <!ATTLIST configuration
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  filter CDATA #REQUIRED>
- <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
- <!ELEMENT unitListRef EMPTY>
- <!ATTLIST unitListRef unitList IDREF #REQUIRED>
- <!ELEMENT layerRef EMPTY>
- <!ATTLIST layerRef layerName CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
-  command CDATA #REQUIRED
-  targetList IDREFS #IMPLIED
-  unitParallel (Y | N | y | n) #REQUIRED
-  targetParallel (Y | N | y | n) #IMPLIED>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
-  name CDATA #REQUIRED
-  cwd CDATA #REQUIRED
-  command CDATA #REQUIRED>
- <!ENTITY layer_real_source_path "/sf/os/mm" >
-]>
-<SystemDefinition name="multimedia" schema="1.4.0">
-  <systemModel>
-		<layer name="os_layer">
+<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_4_0.dtd" [
+  <!ENTITY layer_real_source_path "sf/os/mm" >
+]> 
+
+<SystemDefinition name="os_mm_pkg" schema="1.4.0">
+	<systemModel>
+  <!-- Common file for prebuild layers-->
+  	<layer name="os_layer">
+			<module name="mm">
+				<unit unitID="mm" mrp="" bldFile="&layer_real_source_path;/group" name="mm" />
+			</module>
+			<module name="">
+				<unit unitID="AudioEqualizerUtility" mrp="" bldFile="&layer_real_source_path;/devsoundextensions/effectspresets/AudioEqualizerUtility/group" filter="!dfs_build" name="AudioEqualizerUtility" />
+				<unit unitID="EnvironmentalReverbUtility" mrp="" bldFile="&layer_real_source_path;/devsoundextensions/effectspresets/EnvironmentalReverbUtility/group" filter="!dfs_build" name="EnvironmentalReverbUtility" />
+			</module>				
 			<module name="multimedia_icl">
-				<unit name="imagingfws" unitID="sos.imagingfws" bldFile="sf\os\mm\imagingandcamerafws\imagingfws\group" mrp="sf\os\mm\imagingandcamerafws\imagingfws\group\multimedia_icl.mrp"/>				
+				<unit name="imagingfws" unitID="sos.imagingfws" mrp="" bldFile="&layer_real_source_path;/imagingandcamerafws/imagingfws/group" />				
 			</module>
 			<module name="multimedia_camera">				
-				<unit name="camerafw" unitID="sos.camerafw" bldFile="sf\os\mm\imagingandcamerafws\camerafw\group" mrp="sf\os\mm\imagingandcamerafws\camerafw\group\multimedia_ecam_framework.mrp"/>
+				<unit name="camerafw" unitID="sos.camerafw" mrp="" bldFile="&layer_real_source_path;/imagingandcamerafws/camerafw/group" />
 			</module>			
 			<module name="multimedia_imgplugins">
-				<unit name="imgplugins" unitID="sos.imgplugins" bldFile="sf\os\mm\mmplugins\imagingplugins\group" mrp="sf\os\mm\mmplugins\imagingplugins\group\multimedia_icl_plugin.mrp"/>
+				<unit name="imgplugins" unitID="sos.imgplugins" mrp="" bldFile="&layer_real_source_path;/mmplugins/imagingplugins/group" />
 			</module>
 			<module name="multimedia_mmlibs">
-				<unit name="mmutilitylib" unitID="sos.mmutilitylib" bldFile="sf\os\mm\mmlibs\mmutilitylib\group" mrp="sf\os\mm\mmlibs\mmutilitylib\group\multimedia_common.mrp"/>
-				<unit name="mmfw" unitID="sos.mmfw" bldFile="sf\os\mm\mmlibs\mmfw\group" mrp="sf\os\mm\mmlibs\mmfw\group\multimedia_mmf.mrp"/>
+				<unit name="mmutilitylib" unitID="sos.mmutilitylib" mrp="" bldFile="&layer_real_source_path;/mmlibs/mmutilitylib/group" />
+				<unit name="mmfw" unitID="sos.mmfw" mrp="" bldFile="&layer_real_source_path;/mmlibs/mmfw/group"/>
 			</module>			
 			<module name="multimedia_mmdevicefw">
-				<unit name="speechrecogsupport" unitID="sos.speechrecogsupport" bldFile="sf\os\mm\mmdevicefw\speechrecogsupport\group" mrp="sf\os\mm\mmdevicefw\speechrecogsupport\group\multimedia_mmf_ASR.mrp"/>				
+				<unit name="speechrecogsupport" unitID="sos.speechrecogsupport" mrp="" bldFile="&layer_real_source_path;/mmdevicefw/speechrecogsupport/group" />				
 			</module>			
 			<module name="multimedia_devsound">
-				<unit name="a3facf" unitID="sos.a3facf" bldFile="sf\os\mm\devsound\a3facf\group" mrp="sf\os\mm\devsound\a3facf\group\multimedia_a3f_acf.mrp"/>
-				<unit name="a3fdevsound" unitID="sos.a3fdevsound" bldFile="sf\os\mm\devsound\a3fdevsound\group" mrp="sf\os\mm\devsound\a3fdevsound\group\multimedia_a3f_devsound.mrp"/>
-				<unit name="a3fsrvstart" unitID="sos.a3fsrvstart" bldFile="sf\os\mm\devsound\a3fsrvstart\group" mrp="sf\os\mm\devsound\a3fsrvstart\group\multimedia_a3f_serverstart.mrp"/>
-				<unit name="a3ftrace" unitID="sos.a3ftrace" bldFile="sf\os\mm\devsound\a3ftrace\group" mrp="sf\os\mm\devsound\a3ftrace\group\multimedia_a3f_traces.mrp"/>
-				<unit name="hwdevapi" unitID="sos.hwdevapi" bldFile="sf\os\mm\devsound\hwdevapi\group" mrp="sf\os\mm\devsound\hwdevapi\group\multimedia_mdf_devsound_hwdev.mrp"/>	
-				<unit name="devsoundapi" unitID="sos.devsoundapi" bldFile="sf\os\mm\devsound\devsoundapi\group" mrp="sf\os\mm\devsound\devsoundapi\group\multimedia_mdf_devsound_api.mrp"/>	
-				<unit name="devsoundpluginsupport" unitID="sos.devsoundpluginsupport" bldFile="sf\os\mm\devsound\devsoundpluginsupport\group" mrp="sf\os\mm\devsound\devsoundpluginsupport\group\multimedia_mdf_devsound_pluginsupport.mrp"/>
+				<unit name="a3facf" unitID="sos.a3facf" mrp="" bldFile="&layer_real_source_path;/devsound/a3facf/group"/>
+				<unit name="a3fdevsound" unitID="sos.a3fdevsound" mrp="" bldFile="&layer_real_source_path;/devsound/a3fdevsound/group"/>
+				<unit name="a3fsrvstart" unitID="sos.a3fsrvstart" mrp="" bldFile="&layer_real_source_path;/devsound/a3fsrvstart/group"/> 
+				<unit name="a3ftrace" unitID="sos.a3ftrace" mrp="" bldFile="&layer_real_source_path;/devsound/a3ftrace/group"/>
+				<unit name="hwdevapi" unitID="sos.hwdevapi" mrp="" bldFile="&layer_real_source_path;/devsound/hwdevapi/group"/>	
+				<unit name="devsoundapi" unitID="sos.devsoundapi" mrp="" bldFile="&layer_real_source_path;/devsound/devsoundapi/group"/>	
+				<unit name="devsoundpluginsupport" unitID="sos.devsoundpluginsupport" mrp="" bldFile="&layer_real_source_path;/devsound/devsoundpluginsupport/group"/>
 			</module>
 			<module name="multimedia_mmhais">
-				<unit name="videohai" unitID="sos.videohai" bldFile="sf\os\mm\mmhais\videohai\group" mrp="sf\os\mm\mmhais\videohai\group\multimedia_videohai.mrp"/>
+				<unit name="videohai" unitID="sos.videohai" mrp="" bldFile="&layer_real_source_path;/mmhais/videohai/group"/>
 			</module>
 			<module name="multimedia_mmplugins">
-				<unit name="lib3gp" unitID="sos.lib3gp" bldFile="sf\os\mm\mmplugins\lib3gp\group" mrp="sf\os\mm\mmplugins\lib3gp\group\multimedia_3gplibrary.mrp"/>
+				<unit name="lib3gp" unitID="sos.lib3gp" mrp="" bldFile="&layer_real_source_path;/mmplugins/lib3gp/group" />
+				<unit name="mmfplugin" unitID="sos.mmplugin" mrp="" bldFile="&layer_real_source_path;/mmplugins/mmfwplugins/group"/>
 			</module>
 			<module name="multimedia_mmswadaptation">
-				<unit name="videorenderer" unitID="sos.videorenderer" bldFile="sf\os\mm\mmswadaptation\videorenderer\group" mrp="sf\os\mm\mmswadaptation\videorenderer\group\multimedia_videorenderer.mrp"/>
+				<unit name="videorenderer" unitID="sos.videorenderer" mrp="" bldFile="&layer_real_source_path;/mmswadaptation/videorenderer/group"/>
 			</module>
 			<module name="multimedia_testframework">
-				<unit name="mmtestfw" unitID="sos.mmtestfw" bldFile="sf\os\mm\mmtestenv\mmtestfw\group" mrp="sf\os\mm\mmtestenv\mmtestfw\group\multimedia_testframework_source.mrp" filter="mm_common"/>
+				<unit name="mmtestfw" unitID="sos.mmtestfw" mrp="" bldFile="&layer_real_source_path;/mmtestenv/mmtestfw/group" filter="mm_common"/>
 			</module>
 			<module name="mm_testagent">
-				<unit name="mmtestagent" unitID="sos.mmtestagent" bldFile="sf\os\mm\mmtestenv\mmtestagent\group" mrp="sf\os\mm\mmtestenv\mmtestagent\group\multimediatestagent_source.mrp" filter="image"/>
+				<unit name="mmtestagent" unitID="sos.mmtestagent" mrp="" bldFile="&layer_real_source_path;/mmtestenv/mmtestagent/group" filter="image"/>
 			</module>
 			<module name="multimedia_testtools">
-				<unit name="mmtesttools" unitID="sos.mmtesttools" bldFile="sf\os\mm\mmtestenv\mmtesttools\group" mrp="sf\os\mm\mmtestenv\mmtesttools\group\multimedia_testtools_source.mrp" filter="mmmw"/>
-			</module>	
-		</layer>
-		<layer name="api_test_layer">
-			<module name="multimedia_test_component">
-				<unit name="a3fchartest" unitID="sos.a3fchartest" bldFile="sf\os\mm\devsound\a3fcharacterisationtest\group" mrp="" filter="audio"/>
-				<unit name="speechrecogsupporttest" unitID="sos.speechrecogsupporttest" bldFile="sf\os\mm\mmdevicefw\speechrecogsupport\tsrc\ASR\group" mrp="" filter="audio"/>
-				<unit name="mmfintgdevsound" unitID="sos.mmfintgdevsound" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmfintegrationtest\devsound\group" mrp="" filter="audio"/>
-				<unit name="acod" unitID="sos.acod" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmfunittest\ACOD\group" mrp="" filter="audio"/>
-				<unit name="DevSoundTestCIPlugins" unitID="sos.DevSoundTestCIPlugins" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmfunittest\DevSoundTest\CIPlugins\group" mrp="" filter="audio"/>
-				<unit name="DevSoundTest" unitID="sos.DevSoundTest" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmfunittest\DevSoundTest\group" mrp="" filter="audio"/>
-				<unit name="SbcCodec" unitID="sos.SbcCodec" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmfunittest\SbcCodec\group" mrp="" filter="audio"/>
-				<unit name="mmtestfwunittest" unitID="sos.mmtestfwunittest" bldFile="sf\os\mm\mmtestenv\mmtestfwunittest\group" mrp="" filter="audio"/>
-				<unit name="SDevSound" unitID="sos.SDevSound" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmfintegrationtest\SDevSound\group" mrp="" filter="audio"/>				
-				<unit name="mmfcharacterisationvalidationaudioplay" unitID="sos.mmfcharacterisationvalidationaudioplay" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmfcharacterisationvalidation\clientutils\audio\play\group" mrp="" filter="mmmw"/>
-				<unit name="mmfcharacterisationvalidationaudiorecord" unitID="sos.mmfcharacterisationvalidationaudiorecord" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmfcharacterisationvalidation\clientutils\audio\record\group" mrp="" filter="mmmw"/>
-				<unit name="mmfintegrationtestCtlfrm" unitID="sos.mmfintegrationtestCtlfrm" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmfintegrationtest\Ctlfrm\group" mrp="" filter="mmmw"/>
-				<unit name="mmfintegrationtestSecureDrm" unitID="sos.mmfintegrationtestSecureDrm" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmfintegrationtest\SecureDRM\group" mrp="" filter="mmmw"/>
-				<unit name="mmfintegrationtestAclnt" unitID="sos.mmfintegrationtestAclnt" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmfintegrationtest\ACLNT\group" mrp="" filter="mmmw"/>
-				<unit name="mmfunittestsActrl" unitID="sos.mmfunittestsActrl" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmfunittest\Actrl\group" mrp="" filter="mmmw"/>	
-				<unit name="mmfunittestaclnt" unitID="sos.mmfunittestaclnt" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmfunittest\aclnt\group" mrp="" filter="mmmw"/>
-				<unit name="mmfunittestsAFMT" unitID="sos.mmfunittestsAFMT" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmfunittest\AFMT\group" mrp="" filter="mmmw"/>	
-				<unit name="mmfunittestsBasecl" unitID="sos.mmfunittestsBasecl" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmfunittest\basecl\group" mrp="" filter="mmmw"/>
-				<unit name="mmfunittestsctlfrm" unitID="sos.mmfunittestsctlfrm" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmfunittest\ctlfrm\group" mrp="" filter="mmmw"/>
-				<unit name="mmfunittestsGEF" unitID="sos.mmfunittestsGEF" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmfunittest\GEF\group" mrp="" filter="mmmw"/>
-				<unit name="mmfunittestsMidiClnt" unitID="sos.mmfunittestsMidiClnt" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmfunittest\MidiClnt\group" mrp="" filter="mmmw"/>
-				<unit name="mmfunittestsMidiTestCntrl" unitID="sos.mmfunittestsMidiTestCntrl" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmfunittest\MidiClnt\MidiTestCntrl\group" mrp="" filter="mmmw"/>
-				<unit name="mmfunittestsRecogniser" unitID="sos.mmfunittestsRecogniser" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmfunittest\Recogniser\group" mrp="" filter="mmmw"/>
-				<unit name="mmfunittestsSRSSNK" unitID="sos.mmfunittestsSRSSNK" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmfunittest\srssnk\group" mrp="" filter="mmmw"/>				
-				<unit name="mdfunittestcodecapi" unitID="sos.mdfunittestcodecapi" bldFile="sf\os\mm\mmdevicefw\mdfunittest\codecapi\video\group" mrp="" filter="video"/>
-				<unit name="mdfunittestcodecapiPU" unitID="sos.mdfunittestcodecapiPU" bldFile="sf\os\mm\mmdevicefw\mdfunittest\codecapi\PU\video\group" mrp="" filter="video"/>				
-				<unit name="lib3gpunittest" unitID="sos.lib3gpunittest" bldFile="sf\os\mm\mmplugins\lib3gpunittest\group" mrp="" filter="video"/>				
-				<unit name="cameraunittest" unitID="sos.cameraunittest" bldFile="sf\os\mm\imagingandcamerafws\cameraunittest\group" mrp="" filter="video"/>				
-				<unit name="VideoUnitTest" unitID="sos.VideoUnitTest" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmfunittest\group\VideoGroup" mrp="" filter="video"/>
-				<unit name="xvidcore" unitID="sos.xvidcore" bldFile="sf\xvidhwdevice\group" mrp="" filter="video"/>
-				<unit name="xvidpu" unitID="sos.xvidpu" bldFile="sf\xvidpu\group" mrp="" filter="video"/>			
-				<!--unit name="dvbhreceiverhai" unitID="sos.dvbhreceiverhai" bldFile="sf\os\mm\mmhais\dvbhreceiverhai\hai\dvbh\group" mrp="" filter="video"/-->
-				<!--unit name="dvbhunittest" unitID="sos.dvbhunittest" bldFile="sf\os\mm\mmhais\dvbhunittest\hai\dvbh\group" mrp="" filter="video"/-->				
-				<unit name="mmtplugin" unitID="sos.mmplugin" bldFile="sf\os\mm\mmplugins\mmfwplugins\group" mrp="" filter="video"/>
-				<!--unit name="mvsintegrationtest" unitID="sos.mvsintegrationtest" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmvalidationsuite\mvsintegrationtest\group" mrp="" filter="video"/-->
-				<unit name="VideoIntegrationTest" unitID="sos.VideoIntegrationTest" bldFile="sf\os\mm\mmlibs\mmfw\tsrc\mmfintegrationtest\group\VideoGroup" mrp="" filter="video"/>				
-				<unit name="imagingunittest" unitID="sos.imagingunittest" bldFile="sf\os\mm\imagingandcamerafws\imagingunittest\group" mrp="" filter="image"/>
-				<unit name="imaginginttest" unitID="sos.imaginginttest" bldFile="sf\os\mm\imagingandcamerafws\imaginginttest\group" mrp="" filter="image"/>
-				<unit name="TSU_ICL_GSCAL_01" unitID="sos.TSU_ICL_GSCAL_01" bldFile="sf\os\mm\imagingandcamerafws\imagingunittest\TSU_ICL_GSCAL_01\group" mrp="" filter="image"/>
-				<unit name="TSU_ICL_ITFM_01" unitID="sos.TSU_ICL_ITFM_01" bldFile="sf\os\mm\imagingandcamerafws\imagingunittest\TSU_ICL_ITFM_01\group" mrp="" filter="image"/>				
+				<unit name="mmtesttools" unitID="sos.mmtesttools" mrp="" bldFile="&layer_real_source_path;/mmtestenv/mmtesttools/group" filter="mmmw"/>
+			</module>			
+    </layer>    
+      
+
+  	<layer name="api_test_layer">
+			<module name="mm_tsrc">
+				<unit unitID="mm_tsrc" name="mm_tsrc" bldFile="&layer_real_source_path;/tsrc/group" mrp="" />
+			</module>
+    </layer>   
+
+
+  	<layer name="module_test_layer">
+			<module name="nga_mdf_tsrc">
+				<unit unitID="nga_mdf_tsrc" name="nga_mdf_tsrc" bldFile="&layer_real_source_path;/mdfdevvideoextensions/nga_mdf_postprocessor/tsrc/StifNgaMdfPoPTest/group" mrp="" />
+			</module>
+    </layer>   
+
+
+  	<layer name="pref_test_layer">
+			<module name="mm_tsrc_group">
+				<unit unitID="mm_tsrc_group" name="mm_tsrc_group" bldFile="&layer_real_source_path;/tsrc/group" mrp="" filter="TA_MM" />
+			</module>
+			<module name="nga_mdf_tsrc_group">
+				<unit unitID="nga_mdf_tsrc_group" name="nga_mdf_tsrc_group" bldFile="&layer_real_source_path;/mdfdevvideoextensions/nga_mdf_postprocessor/tsrc/StifNgaMdfPoPTest/group" mrp="" filter="TA_NGA_MDF_POSTPROCESSOR" />
+			</module>
+    </layer>    
+
+ 
+  	<layer name="os_mm_layer">
+			<module name="mm_group">
+				<unit unitID="mm_group" mrp="" bldFile="&layer_real_source_path;/group" name="mm_group" />
+			</module>
+			<module name="">
+				<unit unitID="AudioEqualizerUtility_group" mrp="" bldFile="&layer_real_source_path;/devsoundextensions/effectspresets/AudioEqualizerUtility/group" filter="!dfs_build" name="AudioEqualizerUtility_group" />
+				<unit unitID="EnvironmentalReverbUtility_group" mrp="" bldFile="&layer_real_source_path;/devsoundextensions/effectspresets/EnvironmentalReverbUtility/group" filter="!dfs_build" name="EnvironmentalReverbUtility_group" />
 			</module>
-			<module name="multimedia_test_component_rom">
-				<unit name="a3fintegrationtest" unitID="sos.a3fintegrationtest" bldFile="sf\os\mm\devsound\a3fintegrationtest\group" mrp="" filter="audio"/>
-			</module>
-		</layer>
+			</layer>   
+			<layer name="audio_test_layer">
+			<module name="mf_multimedia_test_component">
+				<unit name="a3fchartest" unitID="sos.a3fchartest" bldFile="&layer_real_source_path;/devsound/a3fcharacterisationtest/group" mrp=""/>
+				<unit name="speechrecogsupporttest" unitID="sos.speechrecogsupporttest" bldFile="&layer_real_source_path;/mmdevicefw/speechrecogsupport/tsrc/ASR/group" mrp=""/>
+				<unit name="mmfintgdevsound" unitID="sos.mmfintgdevsound" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfintegrationtest/devsound/group" mrp=""/>
+				<unit name="acod" unitID="sos.acod" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfunittest/ACOD/group" mrp=""/>
+				<unit name="DevSoundTestCIPlugins" unitID="sos.DevSoundTestCIPlugins" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfunittest/DevSoundTest/CIPlugins/group" mrp=""/>
+				<unit name="DevSoundTest" unitID="sos.DevSoundTest" bldFile="&layer_real_source_path;/mmlibs\mmfw\tsrc\mmfunittest\DevSoundTest\group" mrp=""/>
+				<unit name="SbcCodec" unitID="sos.SbcCodec" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfunittest/SbcCodec/group" mrp=""/>
+				<unit name="mmtestfwunittest" unitID="sos.mmtestfwunittest" bldFile="&layer_real_source_path;/mmtestenv/mmtestfwunittest/group" mrp=""/>
+				<unit name="SDevSound" unitID="sos.SDevSound" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfintegrationtest/SDevSound/group" mrp=""/>
+				<!--unit name="a3fintegrationtest" unitID="sos.a3fintegrationtest" bldFile="&layer_real_source_path;/devsound/a3fintegrationtest/group" mrp="" />-->				
+			</module>			
+    </layer>   
+  	<layer name="mmmw_test_layer">
+			<module name="mmmw_multimedia_test_component">
+				<unit name="mmfcharacterisationvalidationaudioplay" unitID="sos.mmfcharacterisationvalidationaudioplay" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfcharacterisationvalidation/clientutils/audio/play/group" mrp=""/>
+				<unit name="mmfcharacterisationvalidationaudiorecord" unitID="sos.mmfcharacterisationvalidationaudiorecord" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfcharacterisationvalidation/clientutils/audio/record/group" mrp=""/>
+				<unit name="mmfintegrationtestCtlfrm" unitID="sos.mmfintegrationtestCtlfrm" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfintegrationtest/Ctlfrm/group" mrp=""/>
+				<unit name="mmfintegrationtestSecureDrm" unitID="sos.mmfintegrationtestSecureDrm" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfintegrationtest/SecureDRM/group" mrp=""/>
+				<unit name="mmfintegrationtestAclnt" unitID="sos.mmfintegrationtestAclnt" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfintegrationtest/ACLNT/group" mrp=""/>
+				<unit name="mmfunittestsActrl" unitID="sos.mmfunittestsActrl" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfunittest/Actrl/group" mrp=""/>	
+				<unit name="mmfunittestaclnt" unitID="sos.mmfunittestaclnt" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfunittest/aclnt/group" mrp=""/>
+				<unit name="mmfunittestsAFMT" unitID="sos.mmfunittestsAFMT" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfunittest/AFMT/group" mrp=""/>	
+				<unit name="mmfunittestsBasecl" unitID="sos.mmfunittestsBasecl" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfunittest/basecl/group" mrp=""/>
+				<unit name="mmfunittestsctlfrm" unitID="sos.mmfunittestsctlfrm" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfunittest/ctlfrm/group" mrp=""/>
+				<unit name="mmfunittestsGEF" unitID="sos.mmfunittestsGEF" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfunittest/GEF/group" mrp=""/>
+				<unit name="mmfunittestsMidiClnt" unitID="sos.mmfunittestsMidiClnt" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfunittest/MidiClnt/group" mrp=""/>
+				<unit name="mmfunittestsMidiTestCntrl" unitID="sos.mmfunittestsMidiTestCntrl" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfunittest/MidiClnt/MidiTestCntrl/group" mrp=""/>
+				<unit name="mmfunittestsRecogniser" unitID="sos.mmfunittestsRecogniser" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfunittest/Recogniser/group" mrp=""/>
+				<unit name="mmfunittestsSRSSNK" unitID="sos.mmfunittestsSRSSNK" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfunittest/srssnk/group" mrp=""/>				
+			</module>			
+    </layer>   
+  	<layer name="video_test_layer">
+			<module name="video_multimedia_test_component">
+				<unit name="mdfunittestcodecapi" unitID="sos.mdfunittestcodecapi" bldFile="&layer_real_source_path;/mmdevicefw/mdfunittest/codecapi/video/group" mrp=""/>
+				<unit name="mdfunittestcodecapiPU" unitID="sos.mdfunittestcodecapiPU" bldFile="&layer_real_source_path;/mmdevicefw/mdfunittest/codecapi/PU/video/group" mrp=""/>				
+				<unit name="lib3gpunittest" unitID="sos.lib3gpunittest" bldFile="&layer_real_source_path;/mmplugins/lib3gpunittest/group" mrp=""/>				
+				<unit name="cameraunittest" unitID="sos.cameraunittest" bldFile="&layer_real_source_path;/imagingandcamerafws/cameraunittest/group" mrp=""/>				
+				<unit name="VideoUnitTest" unitID="sos.VideoUnitTest" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfunittest/group/VideoGroup" mrp=""/>
+				<unit name="xvidcore" unitID="sos.xvidcore" bldFile="sf\xvidhwdevice\group" mrp=""/>
+				<unit name="xvidpu" unitID="sos.xvidpu" bldFile="sf\xvidpu\group" mrp=""/>			
+				<!--unit name="dvbhreceiverhai" unitID="sos.dvbhreceiverhai" bldFile="&layer_real_source_path;/mmhais/dvbhreceiverhai/hai/dvbh/group" mrp=""/-->
+				<!--unit name="dvbhunittest" unitID="sos.dvbhunittest" bldFile="&layer_real_source_path;/mmhais/dvbhunittest/hai/dvbh/group" mrp=""/-->				
+				<!--unit name="mvsintegrationtest" unitID="sos.mvsintegrationtest" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmvalidationsuite/mvsintegrationtest/group" mrp=""/-->
+				<unit name="VideoIntegrationTest" unitID="sos.VideoIntegrationTest" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfintegrationtest/group/VideoGroup" mrp=""/>				
+			</module>			
+    </layer>   
+  	<layer name="imaging_test_layer">
+			<module name="imaging_multimedia_test_component">
+				<unit name="imagingunittest" unitID="sos.imagingunittest" bldFile="&layer_real_source_path;/imagingandcamerafws/imagingunittest/group" mrp=""/>
+				<unit name="imaginginttest" unitID="sos.imaginginttest" bldFile="&layer_real_source_path;/imagingandcamerafws/imaginginttest/group" mrp=""/>
+				<unit name="TSU_ICL_GSCAL_01" unitID="sos.TSU_ICL_GSCAL_01" bldFile="&layer_real_source_path;/imagingandcamerafws/imagingunittest/TSU_ICL_GSCAL_01/group" mrp=""/>
+				<unit name="TSU_ICL_ITFM_01" unitID="sos.TSU_ICL_ITFM_01" bldFile="&layer_real_source_path;/imagingandcamerafws/imagingunittest/TSU_ICL_ITFM_01/group" mrp=""/>				
+			</module>			
+    </layer>
+
+  	<layer name="mmapi_test_layer">
+			<module name="mmapi_multimedia_test_component">
+				<unit name="devsoundexthaitest" unitID="sos.devsoundexthaitest" bldFile="&layer_real_source_path;/mmapitest/devsoundexthaitest/group" mrp=""/>
+				<unit name="devsoundhaitest" unitID="sos.devsoundhaitest" bldFile="&layer_real_source_path;/mmapitest/devsoundhaitest/group" mrp=""/>
+				<unit name="devvideohaitest" unitID="sos.devvideohaitest" bldFile="&layer_real_source_path;/mmapitest/devvideohaitest/group" mrp=""/>
+				<unit name="mmsvs" unitID="sos.mmsvs" bldFile="&layer_real_source_path;/mmapitest/mmsvs/suite/group" mrp=""/>				
+			</module>			
+    </layer>  
   </systemModel>
-</SystemDefinition>
+</SystemDefinition>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eaacplusutil_stub/bwins/eaacplusutil_stubu.def	Tue Jul 06 16:02:18 2010 +0300
@@ -0,0 +1,9 @@
+EXPORTS
+	?Config@CEAacPlusUtil@@QAEHAAVTEAacPlusFrameLenConfig@1@@Z @ 1 NONAME ; int CEAacPlusUtil::Config(class CEAacPlusUtil::TEAacPlusFrameLenConfig &)
+	??1CEAacPlusUtil@@UAE@XZ @ 2 NONAME ; CEAacPlusUtil::~CEAacPlusUtil(void)
+	?GetAacFrameInfo@CEAacPlusUtil@@QAEHPBEAAHAAVTEAacPlusFrameInfo@1@@Z @ 3 NONAME ; int CEAacPlusUtil::GetAacFrameInfo(unsigned char const *, int &, class CEAacPlusUtil::TEAacPlusFrameInfo &)
+	?GetAacFrameInfo@CEAacPlusUtil@@QAEHPBEAAHAAVTEAacPlusFrameInfo@1@PAEH@Z @ 4 NONAME ; int CEAacPlusUtil::GetAacFrameInfo(unsigned char const *, int &, class CEAacPlusUtil::TEAacPlusFrameInfo &, unsigned char *, int)
+	?NewL@CEAacPlusUtil@@SAPAV1@XZ @ 5 NONAME ; class CEAacPlusUtil * CEAacPlusUtil::NewL(void)
+	?GetAacFrameLength@CEAacPlusUtil@@QAEHPBEHAAH@Z @ 6 NONAME ; int CEAacPlusUtil::GetAacFrameLength(unsigned char const *, int, int &)
+	?GetAacFormatType@CEAacPlusUtil@@QAEHPBEHAAW4TEAacPlusFormatType@1@@Z @ 7 NONAME ; int CEAacPlusUtil::GetAacFormatType(unsigned char const *, int, enum CEAacPlusUtil::TEAacPlusFormatType &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eaacplusutil_stub/eabi/eaacplusutil_stubu.def	Tue Jul 06 16:02:18 2010 +0300
@@ -0,0 +1,13 @@
+EXPORTS
+	_ZTI13CEAacPlusUtil @ 1 NONAME
+	_ZTV13CEAacPlusUtil @ 2 NONAME
+	_ZN13CEAacPlusUtil15GetAacFrameInfoEPKhRiRNS_18TEAacPlusFrameInfoE @ 3 NONAME
+	_ZN13CEAacPlusUtil15GetAacFrameInfoEPKhRiRNS_18TEAacPlusFrameInfoEPhi @ 4 NONAME
+	_ZN13CEAacPlusUtil16GetAacFormatTypeEPKhiRNS_19TEAacPlusFormatTypeE @ 5 NONAME
+	_ZN13CEAacPlusUtil17GetAacFrameLengthEPKhiRi @ 6 NONAME
+	_ZN13CEAacPlusUtil4NewLEv @ 7 NONAME
+	_ZN13CEAacPlusUtil6ConfigERNS_23TEAacPlusFrameLenConfigE @ 8 NONAME
+	_ZN13CEAacPlusUtilD0Ev @ 9 NONAME
+	_ZN13CEAacPlusUtilD1Ev @ 10 NONAME
+	_ZN13CEAacPlusUtilD2Ev @ 11 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eaacplusutil_stub/group/bld.inf	Tue Jul 06 16:02:18 2010 +0300
@@ -0,0 +1,61 @@
+/*
+
+* Copyright (c) 2007 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:  Class definition for the frame table functions.
+
+ *
+
+*/
+
+
+
+#include <platform_paths.hrh>
+
+
+
+PRJ_PLATFORMS
+
+WINSCW
+
+
+PRJ_EXPORTS
+
+
+PRJ_MMPFILES
+#if defined(WINSCW)
+eaacplusutil_stub.mmp
+#endif
+
+
+
+
+
+PRJ_TESTMMPFILES
+
+
+
+PRJ_TESTEXPORTS
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eaacplusutil_stub/group/eaacplusutil_stub.mmp	Tue Jul 06 16:02:18 2010 +0300
@@ -0,0 +1,59 @@
+/*
+
+* Copyright (c) 2007 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:  Class definition for the frame table functions.
+
+ *
+
+*/
+#include <platform_paths.hrh>
+
+TARGET          eaacplusutil_stub.dll
+TARGETTYPE      DLL
+UID             0x1000008D 0x2003161D
+
+CAPABILITY CAP_GENERAL_DLL
+
+VENDORID        VID_DEFAULT
+
+DEFFILE eaacplusutil_stubu.def
+NOSTRICTDEF
+
+USERINCLUDE ../inc
+SOURCEPATH      ../src
+SOURCE          eaacplusutil_stub.cpp
+
+OS_LAYER_SYSTEMINCLUDE
+
+
+LIBRARY         euser.lib
+
+// Users link against the non-stub name, so that rebuild is not necessary
+EXPORTLIBRARY	eaacplusutil.lib
+
+LINKAS          eaacplusutil.dll
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eaacplusutil_stub/inc/mcc_eaacputil_aaccodec.h	Tue Jul 06 16:02:18 2010 +0300
@@ -0,0 +1,195 @@
+/*
+
+* Copyright (c) 2007 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:  Class definition for the frame table functions.
+
+ *
+
+*/
+/*
+
+*******************************************************************************
+
+Product     : Decoder Parser Utility
+
+Module      : 
+
+File        : 
+
+Description : 
+
+*******************************************************************************
+
+*/
+
+
+
+
+
+#ifndef INCLUDE_EAACPLUSUTILITY_H 
+
+#define INCLUDE_EAACPLUSUTILITY_H
+
+
+
+#ifdef SYMBIAN_BUILD
+
+#include<e32def.h>
+
+//#else /* SYMBIAN_BUILD */
+
+//#define IMPORT_C
+
+//#define EXPORT_C
+
+#endif /* SYMBIAN_BUILD */
+
+
+
+struct BaseAudioDecoder;
+
+// FORWARD DECLARATIONS
+
+
+
+#ifdef __cplusplus
+
+extern "C"
+
+{
+
+#endif /* __cplusplus */
+
+
+
+#ifndef INCLUDE_COMMON
+
+typedef signed char			int8;
+
+typedef unsigned char		uint8;
+
+typedef short int			int16;
+
+typedef unsigned short int	uint16;
+
+typedef int				    int32;
+
+typedef unsigned int		uint32;
+
+
+
+#define E_SUCCESS		    0
+
+#define	E_FAILURE		    (-1)
+
+
+
+#endif
+
+
+
+typedef struct EAacpAudioFrameInfo  
+
+{
+
+	int OutFrameSize;
+
+	int NoOfSamples;
+
+	int SamplingFrequency;
+
+	int NoOfChannels;
+
+	int Profile;
+
+	int ObjectType ;		
+
+	int OutSamplingFrequency;
+
+	int DownSampledMode;
+
+	int SBR;
+
+	int PS;
+
+
+
+} CEAacpAudioFrameInfo ; 
+
+
+
+IMPORT_C int32 GetFrameInfo (uint8* aHeaderbuffer, 
+
+							 int32* aHeaderSize,
+
+							 CEAacpAudioFrameInfo *FrameInfo,
+
+							 int32 format,
+
+							 uint8* aDatabuffer, 
+
+							 int32 aDataLength
+
+							 );
+
+
+
+IMPORT_C int32 GetFrameLength(uint8* aBuffer,
+
+							  int32 aBufferLength,
+
+							  int32 aFormat,
+
+							  int32 *aFrameLength,
+
+							  //int32 samplingFreq
+
+							  CEAacpAudioFrameInfo *FrameInfo
+
+							  );
+
+
+
+IMPORT_C int32 GetAdtsHeaderFrameLength(uint8* aBuffer,
+
+							  int32 aBufferLength,
+
+							  int32 *aFrameLength
+
+							  );
+
+
+
+#ifdef __cplusplus
+
+}
+
+#endif
+
+
+
+#endif /*   INCLUDE_AAC_DECODER_H   */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eaacplusutil_stub/src/eaacplusutil_stub.cpp	Tue Jul 06 16:02:18 2010 +0300
@@ -0,0 +1,245 @@
+/*
+
+* Copyright (c) 2007 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:  Class definition for the frame table functions.
+
+ *
+
+*/
+
+
+
+
+
+
+
+
+// INCLUDE FILES
+
+#include	<e32debug.h>
+#include	<eaacplusutil.h>
+#include    "mcc_eaacputil_aaccodec.h"
+
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+
+
+// -----------------------------------------------------------------------------
+
+// CEAacPlusUtil::CEAacPlusUtil
+
+// C++ default constructor can NOT contain any code, that
+
+// might leave.
+
+// -----------------------------------------------------------------------------
+
+//
+
+CEAacPlusUtil::CEAacPlusUtil()
+
+    {
+
+    }
+
+
+
+// -----------------------------------------------------------------------------
+
+// CEAacPlusUtil::ConstructL
+
+// Symbian 2nd phase constructor can leave.
+
+// -----------------------------------------------------------------------------
+
+//
+
+void CEAacPlusUtil::ConstructL()
+
+    {
+
+	    iInitialized = EFalse;
+
+    iGetFrameLenParam = new(ELeave)CEAacpAudioFrameInfo;
+
+    }
+
+
+
+// -----------------------------------------------------------------------------
+
+// CEAacPlusUtil::NewL
+
+// Two-phased constructor.
+
+// -----------------------------------------------------------------------------
+
+//
+
+EXPORT_C CEAacPlusUtil* CEAacPlusUtil::NewL()
+
+	{
+
+	
+    CEAacPlusUtil* self = new( ELeave ) CEAacPlusUtil;
+
+    CleanupStack::PushL( self );
+
+    self->ConstructL();
+
+    CleanupStack::Pop(self);
+
+    return self;
+
+    }
+
+
+
+// Destructor
+
+EXPORT_C CEAacPlusUtil::~CEAacPlusUtil()
+
+    {
+
+    }
+
+
+
+// -----------------------------------------------------------------------------
+
+// CEAacPlusUtil::GetAacFormatType
+
+// Used to get the format type.
+
+// -----------------------------------------------------------------------------
+
+//
+
+
+
+EXPORT_C TInt CEAacPlusUtil::GetAacFormatType(const TUint8* aBuf, TInt aBufLen, TEAacPlusFormatType& aFormatType)
+
+	{
+
+	RDebug::Print(_L("CFrameTable::InitFrameTable aBuf[%d], aBufLen[%d], aFormatType[%d]"), aBuf, aBufLen, aFormatType);
+    	return KErrNone;
+	}
+
+
+
+// -----------------------------------------------------------------------------
+
+// CEAacPlusUtil::GetAacFrameInfo
+
+// Used to get the format information.
+
+// -----------------------------------------------------------------------------
+
+//
+
+EXPORT_C TInt CEAacPlusUtil::GetAacFrameInfo(const TUint8* aHdrBuf, TInt& aHdrLen, TEAacPlusFrameInfo& aFrameInfo)
+
+    {
+
+	RDebug::Print(_L("CFrameTable::InitFrameTable aHdrBuf[%d], aHdrLen[%d], aFrameInfo[%d]"), aHdrBuf, aHdrLen, aFrameInfo);
+    	return KErrNone;
+
+    }
+
+
+
+
+
+// -----------------------------------------------------------------------------
+
+// CEAacPlusUtil::GetAacFrameInfo
+
+// Used to get the format information.
+
+// -----------------------------------------------------------------------------
+
+//
+
+EXPORT_C TInt CEAacPlusUtil::GetAacFrameInfo (const TUint8* aHdrBuf, TInt& aHdrLen, TEAacPlusFrameInfo& aFrameInfo, 
+
+                                                    TUint8* aDataBuf, TInt aDataBufLen)
+
+    {
+
+	RDebug::Print(_L("CFrameTable::InitFrameTable aHdrBuf[%d], aHdrLen[%d], aFrameInfo[%d], aDataBuf[%d], aDataBufLen[%d]"), aHdrBuf, aHdrLen, aFrameInfo, aDataBuf, aDataBufLen);
+    	return KErrNone;
+
+    }
+
+
+
+// -----------------------------------------------------------------------------
+
+// CEAacPlusUtil::GetAacFrameLength
+
+// Used to get the size (in bytes) of the frame found at the start of aBuf.
+
+// -----------------------------------------------------------------------------
+
+//
+
+EXPORT_C TInt CEAacPlusUtil::GetAacFrameLength(const TUint8* aBuf,	TInt aBufLen, TInt& aFrameLen)
+
+	{	
+RDebug::Print(_L("CFrameTable::InitFrameTable aBuf[%d], aBufLen[%d], aFrameLen[%d]"), aBuf, aBufLen, aFrameLen);
+    	return KErrNone;
+	}
+
+
+
+// -----------------------------------------------------------------------------
+
+// CEAacPlusUtil::Config
+
+// Used to initialize the util if FrameInfo is not used to do it.
+
+// -----------------------------------------------------------------------------
+
+//
+
+EXPORT_C TInt CEAacPlusUtil::Config(TEAacPlusFrameLenConfig& aFrameLenConfig)
+
+	{
+
+	RDebug::Print(_L("CFrameTable::InitFrameTable aFrameLenConfig[%d]"), aFrameLenConfig);
+    	return KErrNone;
+	}
+
+
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+
+
+
+//  End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/frametable_stub/group/bld.inf	Tue Jul 06 16:02:18 2010 +0300
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2002-2004 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: frametable Stubs -  Project build file for frametable 
+*
+*/
+
+
+PRJ_PLATFORMS
+WINSCW
+
+PRJ_EXPORTS
+
+
+
+PRJ_MMPFILES
+#if defined(WINSCW)
+frametable_stub.mmp
+#endif
+
+
+
+
+//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/frametable_stub/group/frametable_stub.mmp	Tue Jul 06 16:02:18 2010 +0300
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2005-2008 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: FrameTable Stubs -  Project definition file for project FrameTable_Stub
+* 
+*
+*/
+
+#include <platform_paths.hrh>
+
+TARGET          frametable_stub.dll
+TARGETTYPE      DLL
+UID             0x1000008D 0x20031603
+
+CAPABILITY CAP_GENERAL_DLL
+
+VENDORID        VID_DEFAULT
+
+DEFFILE frametable_stubu.def
+NOSTRICTDEF
+
+SOURCEPATH      ../src
+SOURCE          frametable_stub.cpp
+
+OS_LAYER_SYSTEMINCLUDE
+
+
+LIBRARY         euser.lib
+
+// Users link against the non-stub name, so that rebuild is not necessary
+EXPORTLIBRARY	frametable.lib
+
+LINKAS          frametable.dll
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/frametable_stub/src/frametable_stub.cpp	Tue Jul 06 16:02:18 2010 +0300
@@ -0,0 +1,192 @@
+/*
+
+* Copyright (c) 2007 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:  Class definition for the frame table functions.
+
+ *
+
+*/
+
+
+
+
+
+
+#include <frametable.h>
+#include <e32debug.h>
+
+
+CFrameTable::CFrameTable()
+
+    {
+
+    }
+
+void CFrameTable::ConstructL()
+
+    {
+
+    }
+
+EXPORT_C CFrameTable* CFrameTable::NewL()
+
+    {
+
+    CFrameTable* self = new(ELeave) CFrameTable;
+
+    return self;
+
+    }
+
+EXPORT_C CFrameTable::~CFrameTable()
+
+    {
+
+    }
+
+EXPORT_C TInt CFrameTable::InitFrameTable(TInt aSampleRate, TInt aSamplesPerFrame)
+
+    {
+    	 RDebug::Print(_L("CFrameTable::InitFrameTable aSampleRate[%d], aSamplesPerFrame[%d]"), aSampleRate, aSamplesPerFrame);
+    	return KErrNone;
+    }
+
+EXPORT_C TInt CFrameTable::SubmitTableEntry(TUint aPos)
+
+    {
+    	RDebug::Print(_L("CFrameTable::InitFrameTable aPos[%d]"), aPos);
+    	return KErrNone;
+   }
+
+TInt CFrameTable::SubmitLowResTableEntry(TBufRefPosEntry& aEntry)
+
+    {
+    	RDebug::Print(_L("CFrameTable::InitFrameTable aEntry[%d]"), aEntry);
+			return KErrNone;
+    }
+
+EXPORT_C TInt CFrameTable::FindFramePosFromTime(TUint& aTimeMs, TUint& aPos)
+
+    {
+    	RDebug::Print(_L("CFrameTable::InitFrameTable aTimeMs[%d], aPos[%d]"), aTimeMs, aPos);
+    	return KErrNone;
+    }
+
+
+
+EXPORT_C TInt CFrameTable::FindFrameTimeFromPos(TUint& aTimeMs, TUint& aPos)
+
+    {
+    	RDebug::Print(_L("CFrameTable::InitFrameTable aTimeMs[%d], aPos[%d]"), aTimeMs, aPos);
+    	return KErrNone;
+    }
+
+EXPORT_C TInt CFrameTable::LastFramePos(TUint& aPos)
+
+    {
+    	RDebug::Print(_L("CFrameTable::InitFrameTable aPos[%d]"), aPos);
+    	return KErrNone;
+    }
+
+EXPORT_C TInt CFrameTable::LastFrameTime(TUint& aTimeMs)
+
+   {
+   	RDebug::Print(_L("CFrameTable::InitFrameTable aTimeMs[%d]"), aTimeMs);
+    	return KErrNone;
+    }
+
+EXPORT_C void CFrameTable::ResetTable()
+
+    {
+    	
+    }
+
+EXPORT_C void CFrameTable::ShrinkTable()
+
+    { 
+    	
+    }
+
+
+
+EXPORT_C TInt CFrameTable::SetSourceReference(TUint aTimeMs, TUint aPos)
+
+    { 
+    	RDebug::Print(_L("CFrameTable::InitFrameTable aTimeMs[%d], aPos[%d]"), aTimeMs, aPos);
+    	return KErrNone;
+    }
+
+
+
+EXPORT_C TInt CFrameTable::RegisterForEvent(TFrameTableEvent aEvent, MFrameTableEventObserver* aObserver, TUint aParam)
+
+    {
+    	RDebug::Print(_L("CFrameTable::InitFrameTable aEvent[%d], aObserver[%d], aParam[%d]"), aEvent, aObserver, aParam);
+			return KErrNone;
+    }
+
+
+EXPORT_C TInt CFrameTable::UnRegisterForEvent(TFrameTableEvent aEvent, MFrameTableEventObserver* /*aObserver*/)
+
+    {
+    	RDebug::Print(_L("CFrameTable::InitFrameTable aEvent[%d]"), aEvent);
+    	return KErrNone;
+    }
+
+EXPORT_C TInt CFrameTable::Bitrate()
+
+    {
+			return KErrNone;
+    }
+
+
+TUint CFrameTable::CalcFrameFromTimeMs(TUint aTimeMs)
+
+    {
+    	RDebug::Print(_L("CFrameTable::InitFrameTable aTimeMs[%d]"), aTimeMs);
+    	return KErrNone; 
+    }
+
+
+
+EXPORT_C TInt CFrameTable::IsSeeking(TBool& aIsSeeking)
+
+    {
+    	RDebug::Print(_L("CFrameTable::InitFrameTable aIsSeeking[%d]"), aIsSeeking);
+			return KErrNone;
+    }
+
+
+
+EXPORT_C TInt CFrameTable::GetLastPosEvent(TUint& aPos)
+
+    {
+    	RDebug::Print(_L("CFrameTable::InitFrameTable aPos[%d]"), aPos);
+			return KErrNone;
+    }
+
+
+
--- a/group/bld.inf	Wed Jun 23 19:56:04 2010 +0300
+++ b/group/bld.inf	Tue Jul 06 16:02:18 2010 +0300
@@ -29,8 +29,9 @@
 #include "../mm_pub/group/bld.inf"
 #include "../devsoundextensions/group/bld.inf"
 #include "../mdfdevvideoextensions/group/bld.inf"
-#include "../audio/group/bld.inf"
-#include "../video/group/bld.inf"
+#include "../frametable_stub/group/bld.inf"
+#include "../eaacplusutil_stub/group/bld.inf"
+
 
 
 //  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/imagingandcamerafws/imagingfws/GifScaler/group/bld.inf	Tue Jul 06 16:02:18 2010 +0300
@@ -0,0 +1,40 @@
+// Copyright (c) 2003-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:
+// This file basically provides the information required for building the whole of a component
+// C & C++ style comments are allowed in this file because it's passed through the C++ preprocessor
+// Examples are provided below of the kind of things we're expecting
+// Gif scaling API
+// 
+//
+
+/**
+ @file
+*/
+
+PRJ_PLATFORMS
+// specify the platforms your component needs to be built for here
+// defaults to WINS MARM so you can ignore this if you just build these
+DEFAULT
+
+PRJ_EXPORTS
+// specify the source file followed by its destination here
+// copy will be used to copy the source file to its destination
+../inc/gifscaler.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(gifscaler.h)
+// ROM  buildsupport
+../inc/GifScaler.iby  /epoc32/rom/include/gifscaler.iby
+
+PRJ_MMPFILES
+../MmpFiles/GifScaler.mmp
+
+
--- a/imagingandcamerafws/imagingfws/GifScaler/group/bld_include.inf	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-// Copyright (c) 2003-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:
-// This file basically provides the information required for building the whole of a component
-// C & C++ style comments are allowed in this file because it's passed through the C++ preprocessor
-// Examples are provided below of the kind of things we're expecting
-// Gif scaling API
-// 
-//
-
-/**
- @file
-*/
-
-PRJ_PLATFORMS
-// specify the platforms your component needs to be built for here
-// defaults to WINS MARM so you can ignore this if you just build these
-DEFAULT
-
-PRJ_EXPORTS
-// specify the source file followed by its destination here
-// copy will be used to copy the source file to its destination
-../inc/gifscaler.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(gifscaler.h)
-// ROM  buildsupport
-../inc/GifScaler.iby  /epoc32/rom/include/gifscaler.iby
-
-PRJ_MMPFILES
-../MmpFiles/GifScaler.mmp
-
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/imagingandcamerafws/imagingfws/ImageTransform/group/bld.inf	Tue Jul 06 16:02:18 2010 +0300
@@ -0,0 +1,44 @@
+// Copyright (c) 2004-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:
+// This file basically provides the information required for building the whole of a component
+// C & C++ style comments are allowed in this file because it's passed through the C++ preprocessor
+// Examples are provided below of the kind of things we're expecting
+// 
+//
+
+PRJ_PLATFORMS
+// specify the platforms your component needs to be built for here
+// defaults to WINS MARM so you can ignore this if you just build these
+DEFAULT
+
+PRJ_EXPORTS
+// specify the source file followed by its destination here
+// copy will be used to copy the source file to its destination
+../inc/ImageTransform.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(imagetransform.h)
+../inc/icl/ImageTransform.hrh		/epoc32/include/icl/imagetransform.hrh
+../inc/icl/ImageTransformPlugin.h	SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(icl/imagetransformplugin.h)
+../inc/icl/ImageTransformPanicCodes.h	SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(icl/imagetransformpaniccodes.h)
+../inc/icl/ImageTransformPluginExt.h	SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(icl/imagetransformpluginext.h)
+../inc/icl/squeezetransformextension.h	SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(icl/squeezetransformextension.h)
+../inc/icl/orientationtransformextension.h	SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(icl/orientationtransformextension.h)
+../inc/icl/overlaytransformextension.h	SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(icl/overlaytransformextension.h)
+
+// ROM  buildsupport
+../inc/ImageTransform.iby  /epoc32/rom/include/imagetransform.iby
+
+PRJ_MMPFILES
+../MmpFiles/ImageTransform.mmp
+../MmpFiles/ImageTransformResolver.mmp
+
+
--- a/imagingandcamerafws/imagingfws/ImageTransform/group/bld_include.inf	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-// Copyright (c) 2004-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:
-// This file basically provides the information required for building the whole of a component
-// C & C++ style comments are allowed in this file because it's passed through the C++ preprocessor
-// Examples are provided below of the kind of things we're expecting
-// 
-//
-
-PRJ_PLATFORMS
-// specify the platforms your component needs to be built for here
-// defaults to WINS MARM so you can ignore this if you just build these
-DEFAULT
-
-PRJ_EXPORTS
-// specify the source file followed by its destination here
-// copy will be used to copy the source file to its destination
-../inc/ImageTransform.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(imagetransform.h)
-../inc/icl/ImageTransform.hrh		/epoc32/include/icl/imagetransform.hrh
-../inc/icl/ImageTransformPlugin.h	SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(icl/imagetransformplugin.h)
-../inc/icl/ImageTransformPanicCodes.h	SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(icl/imagetransformpaniccodes.h)
-../inc/icl/ImageTransformPluginExt.h	SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(icl/imagetransformpluginext.h)
-../inc/icl/squeezetransformextension.h	SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(icl/squeezetransformextension.h)
-../inc/icl/orientationtransformextension.h	SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(icl/orientationtransformextension.h)
-../inc/icl/overlaytransformextension.h	SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(icl/overlaytransformextension.h)
-
-// ROM  buildsupport
-../inc/ImageTransform.iby  /epoc32/rom/include/imagetransform.iby
-
-PRJ_MMPFILES
-../MmpFiles/ImageTransform.mmp
-../MmpFiles/ImageTransformResolver.mmp
-
-
--- a/imagingandcamerafws/imagingfws/group/BLD.INF	Wed Jun 23 19:56:04 2010 +0300
+++ b/imagingandcamerafws/imagingfws/group/BLD.INF	Tue Jul 06 16:02:18 2010 +0300
@@ -24,9 +24,9 @@
  
 
 // Include imagedisplay, imagetransform, imageprocessor, panorama and gifscaler sub-components
-#include "../GifScaler/group/bld_include.inf" 
+#include "../GifScaler/group/bld.inf" 
 #include "../ImageDisplay/group/bld.inf"
-#include "../ImageTransform/group/bld_include.inf"
+#include "../ImageTransform/group/bld.inf"
 #include "../ImageProcessor/group/bld.inf"
 #include "../panorama/group/bld.inf"
 
@@ -135,6 +135,6 @@
 
 PRJ_TESTEXPORTS
 // BitmapTransforms
-#include "../BitmapTransform/group/BLD.inf"
+#include "../BitmapTransform/group/bld.inf"
 // MediaClientImage
-#include "../MediaClientImage/Group/BLD.INF"
+#include "../MediaClientImage/Group/bld.inf"
--- a/imagingandcamerafws/imagingfws/inc/ImageConversion.h	Wed Jun 23 19:56:04 2010 +0300
+++ b/imagingandcamerafws/imagingfws/inc/ImageConversion.h	Tue Jul 06 16:02:18 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2001-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"
@@ -340,7 +340,15 @@
 		
 		Requests that codec applies the auto rotation when decoding according to the orientation tag in the image Exif header.
 		*/
-		EOptionAutoRotate = 0x040000
+		EOptionAutoRotate = 0x040000,
+
+		/**
+		@publishedPartner
+		@prototype
+		
+		Requests the Codec to do optimised partial image decoding, whenever partial decoding is needed.
+		*/
+		EOptionOptimisedPartialImageDecoding = 0x80000
 		};
 
 	/**
--- a/imagingandcamerafws/imagingfws/inc/icl/ICL_PropertyUIDS.h	Wed Jun 23 19:56:04 2010 +0300
+++ b/imagingandcamerafws/imagingfws/inc/icl/ICL_PropertyUIDS.h	Tue Jul 06 16:02:18 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2006-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"
@@ -98,6 +98,12 @@
 */ 
 const TUid KUidJPGAutoRotateSupport   = {KUidJPGAutoRotateSupportValue};
 
+/** 
+Identifier for optimised partial decoding support property.
+ @see KUidJPGOptimisedPartialDecodingSupportValue
+*/ 
+const TUid KUidJPGOptimisedPartialDecodingSupport = {KUidJPGOptimisedPartialDecodingSupportValue};
+
 /**
 Identifier for an ICL Extension. This is used in the opaque_data section of an ICL
 codec plugin as part of a pair of values "KUidICLExtension <extension_flags_modifier>"
--- a/imagingandcamerafws/imagingfws/inc/icl/ICL_PropertyUIDS.hrh	Wed Jun 23 19:56:04 2010 +0300
+++ b/imagingandcamerafws/imagingfws/inc/icl/ICL_PropertyUIDS.hrh	Tue Jul 06 16:02:18 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2006-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"
@@ -89,6 +89,12 @@
 */
 #define KUidJPGAutoRotateSupportValue	0x10287049
 
+/** 
+Defines the numerical value for KUidJPGOptimisedPartialDecodingSupport.
+ @see KUidJPGOptimisedPartialDecodingSupport
+*/
+#define KUidJPGOptimisedPartialDecodingSupportValue 0x2002BCBD
+
 /**
 Defines the numerical value for KUidICLExtension.
  @see KUidICLExtension
--- a/imagingandcamerafws/imagingfws/src/ImageResolverAPI.cpp	Wed Jun 23 19:56:04 2010 +0300
+++ b/imagingandcamerafws/imagingfws/src/ImageResolverAPI.cpp	Tue Jul 06 16:02:18 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 1997-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"
@@ -554,8 +554,12 @@
 	if ((aOptions & CImageDecoder::EOptionAutoRotate) != 0) 
 		{
 		iOptionsUidsArray.Append(KUidJPGAutoRotateSupport);
-		iOptions = aOptions;
 		}
+	if((aOptions & CImageDecoder::EOptionOptimisedPartialImageDecoding) != 0)
+	    {
+        iOptionsUidsArray.Append(KUidJPGOptimisedPartialDecodingSupport);
+	    }
+	iOptions = aOptions;
 	}
 	
 /*
--- a/imagingandcamerafws/imaginginttest/group/Bld.inf	Wed Jun 23 19:56:04 2010 +0300
+++ b/imagingandcamerafws/imaginginttest/group/Bld.inf	Tue Jul 06 16:02:18 2010 +0300
@@ -26,11 +26,11 @@
 #include "../imageencoder/group/bld.inf"
 #endif
 
-#include "../tsi_icl_btrans_01/group/BLD.INF"
-#include "../TSI_ICL_COD/group/Bld.inf"
+#include "../tsi_icl_btrans_01/group/bld.inf"
+#include "../TSI_ICL_COD/group/bld.inf"
 #include "../te_tsi_icl_cod_5/group/bld.inf"
 #include "../te_tsi_icl_pluginsupport_01/group/bld.inf"
-#include "../Codecs/Group/BLD.INF"
+#include "../Codecs/Group/bld.inf"
 
 
 PRJ_MMPFILES
--- a/imagingandcamerafws/imagingunittest/group/BLD.INF	Wed Jun 23 19:56:04 2010 +0300
+++ b/imagingandcamerafws/imagingunittest/group/BLD.INF	Tue Jul 06 16:02:18 2010 +0300
@@ -26,19 +26,19 @@
 
 #include "../tsu_icl_frm_01/group/bld.inf"
 
-#include "../tsu_icl_cod_01/group/BLD.INF"
+#include "../tsu_icl_cod_01/group/bld.inf"
 
-#include "../tsu_icl_cod_02/group/BLD.INF"
+#include "../tsu_icl_cod_02/group/bld.inf"
 
-#include "../TSU_ICL_COD_03/group/BLD.INF"
+#include "../TSU_ICL_COD_03/group/bld.inf"
 
-#include "../TSU_ICL_COD_04/group/BLD.INF"
+#include "../TSU_ICL_COD_04/group/bld.inf"
 
 #include "../tsu_icl_mediasvr/group/bld.inf"
 
 #include "../tsu_icl_btrans_01/group/bld.inf"
 
-#include "../TSU_ICL_TMDAVID/group/BLD.INF"
+#include "../TSU_ICL_TMDAVID/group/bld.inf"
 
 #include "../tsu_icl_imgdisp/group/bld.inf"
 
@@ -48,6 +48,6 @@
 
 #include "../tsu_icl_imageframe/group/bld.inf"
 
-#include "../tsu_icl_pfm_02/group/BLD.INF"
+#include "../tsu_icl_pfm_02/group/bld.inf"
 
 
--- a/layers.sysdef.xml	Wed Jun 23 19:56:04 2010 +0300
+++ b/layers.sysdef.xml	Tue Jul 06 16:02:18 2010 +0300
@@ -14,47 +14,7 @@
 				<unit unitID="AudioEqualizerUtility" mrp="" bldFile="&layer_real_source_path;/devsoundextensions/effectspresets/AudioEqualizerUtility/group" filter="!dfs_build" name="AudioEqualizerUtility" />
 				<unit unitID="EnvironmentalReverbUtility" mrp="" bldFile="&layer_real_source_path;/devsoundextensions/effectspresets/EnvironmentalReverbUtility/group" filter="!dfs_build" name="EnvironmentalReverbUtility" />
 			</module>
-			<module name="">
-				<unit unitID="AacEncoderPlugin" mrp="" bldFile="&layer_real_source_path;/audio/ARM_CMMF_codecs/AacEncoderPlugin/group" filter="!sf_build" name="AacEncoderPlugin" />
-			</module>
-			<module name="">
-				<unit unitID="AmrNbCodecPlugin" mrp="" bldFile="&layer_real_source_path;/audio/ARM_CMMF_codecs/AmrNbCodecPlugin/group" filter="!sf_build" name="AmrNbCodecPlugin" />
-			</module>
-			<module name="">
-				<unit unitID="AmrWbCodecPlugin" mrp="" bldFile="&layer_real_source_path;/audio/ARM_CMMF_codecs/AmrWbCodecPlugin/group" filter="!sf_build" name="AmrWbCodecPlugin" />
-			</module>
-			<module name="">
-				<unit unitID="EAacPlusCodecPlugin" mrp="" bldFile="&layer_real_source_path;/audio/ARM_CMMF_codecs/EAacPlusCodecPlugin/group" filter="!sf_build" name="EAacPlusCodecPlugin" />
-			</module>
-			<module name="">
-				<unit unitID="EAacPlusUtil" mrp="" bldFile="&layer_real_source_path;/audio/ARM_CMMF_codecs/EAacPlusUtil/group" filter="!sf_build" name="EAacPlusUtil" />
-			</module>
-			<module name="">
-				<unit unitID="MP3CodecPlugin" mrp="" bldFile="&layer_real_source_path;/audio/ARM_CMMF_codecs/MP3CodecPlugin/group" filter="!sf_build" name="MP3CodecPlugin" />
-			</module>
-			<module name="">
-				<unit unitID="WMADecoderPlugin" mrp="" bldFile="&layer_real_source_path;/audio/ARM_CMMF_codecs/WMADecoderPlugin/group" filter="!sf_build" name="WMADecoderPlugin" />
-			</module>
-			<module name="">
-				<unit unitID="ARM_MDF_Decoders" mrp="" bldFile="&layer_real_source_path;/video/ARM_MDF_Decoders/group" filter="!sf_build" name="ARM_MDF_Decoders" />
-			</module>
-			<module name="">
-				<unit unitID="Utilities" mrp="" bldFile="&layer_real_source_path;/video/ARM_MDF_Decoders/Utilities/group" filter="sf_build" name="Utilities" />
-			</module>
-    </layer>    
-
-        <layer name="arm9e_layer"> 
-                            <module name=""> 
-                                    <unit unitID="EAacPlusCodecPlugin_arm9e" mrp="" bldFile="&layer_real_source_path;/audio/ARM_CMMF_codecs/EAacPlusCodecPlugin/group" filter="!sf_build" name="EAacPlusCodecPlugin_arm9e" /> 
-                            </module> 
-        </layer>     
-
-  	<layer name="bldmelast_layer">
-			<module name="">
-				<unit unitID="EAacPlusCodecPlugin_arm9e_2" mrp="" bldFile="&layer_real_source_path;/audio/ARM_CMMF_codecs/EAacPlusCodecPlugin/group" filter="!sf_build" name="EAacPlusCodecPlugin_arm9e_2" />
-			</module>
-    </layer>    
-
+		</layer>    
 
   	<layer name="api_test_layer">
 			<module name="mm_tsrc">
@@ -88,33 +48,12 @@
 				<unit unitID="AudioEqualizerUtility_group" mrp="" bldFile="&layer_real_source_path;/devsoundextensions/effectspresets/AudioEqualizerUtility/group" filter="!dfs_build" name="AudioEqualizerUtility_group" />
 				<unit unitID="EnvironmentalReverbUtility_group" mrp="" bldFile="&layer_real_source_path;/devsoundextensions/effectspresets/EnvironmentalReverbUtility/group" filter="!dfs_build" name="EnvironmentalReverbUtility_group" />
 			</module>
-			<module name="">
-				<unit unitID="AacEncoderPlugin_group" mrp="" bldFile="&layer_real_source_path;/audio/ARM_CMMF_codecs/AacEncoderPlugin/group" filter="!sf_build" name="AacEncoderPlugin_group" />
-			</module>
-			<module name="">
-				<unit unitID="AmrNbCodecPlugin_group" mrp="" bldFile="&layer_real_source_path;/audio/ARM_CMMF_codecs/AmrNbCodecPlugin/group" filter="!sf_build" name="AmrNbCodecPlugin_group" />
-			</module>
-			<module name="">
-				<unit unitID="AmrWbCodecPlugin_group" mrp="" bldFile="&layer_real_source_path;/audio/ARM_CMMF_codecs/AmrWbCodecPlugin/group" filter="!sf_build" name="AmrWbCodecPlugin_group" />
-			</module>
-			<module name="">
-				<unit unitID="EAacPlusCodecPlugin_group" mrp="" bldFile="&layer_real_source_path;/audio/ARM_CMMF_codecs/EAacPlusCodecPlugin/group" filter="!sf_build" name="EAacPlusCodecPlugin_group" />
+		</layer>
+			
+  	<layer name="os_mm_mdfdevvideoextensions_layer">
+			<module name="mm_mdfdevvideoextensions">
+				<unit unitID="mm_mdfdevvideoextensions" mrp="" bldFile="&layer_real_source_path;/mdfdevvideoextensions/nga_mdf_postprocessor/group" name="mm_mdfdevvideoextensions" />
 			</module>
-			<module name="">
-				<unit unitID="EAacPlusUtil_group" mrp="" bldFile="&layer_real_source_path;/audio/ARM_CMMF_codecs/EAacPlusUtil/group" filter="!sf_build" name="EAacPlusUtil_group" />
-			</module>
-			<module name="">
-				<unit unitID="MP3CodecPlugin_group" mrp="" bldFile="&layer_real_source_path;/audio/ARM_CMMF_codecs/MP3CodecPlugin/group" filter="!sf_build" name="MP3CodecPlugin_group" />
-			</module>
-			<module name="">
-				<unit unitID="WMADecoderPlugin_group" mrp="" bldFile="&layer_real_source_path;/audio/ARM_CMMF_codecs/WMADecoderPlugin/group" filter="!sf_build" name="WMADecoderPlugin_group" />
-			</module>
-			<module name="">
-				<unit unitID="ARM_MDF_Decoders_group" mrp="" bldFile="&layer_real_source_path;/video/ARM_MDF_Decoders/group" filter="!sf_build" name="ARM_MDF_Decoders_group" />
-			</module>
-			<module name="">
-				<unit unitID="Utilities_group" mrp="" bldFile="&layer_real_source_path;/video/ARM_MDF_Decoders/Utilities/group" filter="sf_build" name="Utilities_group" />
-			</module>
-    </layer>    
+   	 </layer>    
   </systemModel>
 </SystemDefinition>
\ No newline at end of file
--- a/mdfdevvideoextensions/nga_mdf_postprocessor/inc/NGAPostProcHwDevice.h	Wed Jun 23 19:56:04 2010 +0300
+++ b/mdfdevvideoextensions/nga_mdf_postprocessor/inc/NGAPostProcHwDevice.h	Tue Jul 06 16:02:18 2010 +0300
@@ -1092,6 +1092,8 @@
 	MMmfVideoPropertiesObserver*				iVPObserver;
 	RWsSession									iWsSession;
 	TSize										iPicSize;
+	TUint										iAspectRatioNum;
+	TUint										iAspectRatioDenom;
 	//-- members for Trickplay support --
 	TInt                                iStepFrameCount;
     TInt                                iPlayRate;       
--- a/mdfdevvideoextensions/nga_mdf_postprocessor/inc/surface_hints.h	Wed Jun 23 19:56:04 2010 +0300
+++ b/mdfdevvideoextensions/nga_mdf_postprocessor/inc/surface_hints.h	Tue Jul 06 16:02:18 2010 +0300
@@ -12,12 +12,17 @@
 * Contributors:
 *
 * Description:
-*
+* Surface Manager API
 */
 
 #ifndef __SURFACE_HINTS_LOCAL_H__
 #define __SURFACE_HINTS_LOCAL_H__
 
+//- Include Files  ----------------------------------------------------------
+
+#include <e32cmn.h>
+
+
 //- Namespace ---------------------------------------------------------------
 
 namespace surfaceHints
@@ -25,7 +30,7 @@
 
 //- Constants ---------------------------------------------------------------
 
-/** Hint of surface the content.
+/** Hint of the surface content.
     @see TSurfaceContent for possible values
 */
 const TInt KSurfaceContent = 0x1;
@@ -37,17 +42,37 @@
 */
 const TInt KSurfaceUpdate = 0x2;
 
-/** Hint of the surface content copy protected and can it be
+/** Hint whether the surface content is copy protected and can it be
     shown on external displays.
     @see TSurfaceProtection for possible values.
 */
 const TInt KSurfaceProtection = 0x3;
 
-/** Hint of the color space of the surface content.
-    Value is a pointer to TColorspace stucture.
-    @see TColorspace
-*/
-const TInt KSurfaceColorspace = 0x4;
+
+/** Values used for the KSurfaceContent key */
+enum TSurfaceContent
+    {
+    /** No specific use-case */
+    EGeneric,
+    /** Camera viewfinder frames */
+    EViewFinder,
+    /** Images captured by camera */
+    EStillImage,
+    /** Decoded video frames */
+    EVideoPlayback,
+    /** Video frames from video telephony */
+    EVideoTelephony,
+    /** EGL surface */
+    EGfx,
+    /** Main UI surface */
+    EUi,
+    /** Composition target surface */
+    ECompositionTarget,
+    /** Indicates that the surface has to accessible by ARM.
+        This can be orr'ed with other TSurfaceContent enumerations. */
+    EArmAccess = 0x80000000
+    };
+
 
 /** Values used for the KSurfaceProtection key. The values are bitmasks and can be combined
 * e.g. EAllowAnalogProtectionRequired | EAllowDigitalProtectionRequired.
@@ -95,6 +120,72 @@
     EAllowDigitalProtectionRequired     = 0x00000800,
     };
 
+
+class TSurfaceUpdate
+    {
+    /** Constructor.
+        @param aUpdateRate   How often the surface content is redrawn per second.
+        @param aTearingFree  When ETrue surface updates should be synchronized
+                             with display refresh rate, otherwise surface can
+                             be updated as fast as possible.
+    */
+    inline TSurfaceUpdate(TUint aUpdateRate, TBool aTearingFree);
+
+    /** Converts a value to TSurfaceUpdate */
+    inline TSurfaceUpdate(TInt aValue);
+
+    /** Converts TSurfaceUpdate to a signed integer, so it can be used as
+        a value for KSurfaceUpdate key. */
+    inline operator TInt() const;
+
+    /** Getter for surface update rate.
+        @return updates per second
+    */
+    inline TUint UpdateRate() const;
+
+    /** Getter for surface update synchronization.
+        @return ETrue - updates should be synchronized with display refresh rate,
+                EFalse - surface can be updated as fast as possible.
+    */
+    inline TBool TearingFree() const;
+
+    private:
+        TUint iValue;
+    };
+
+
+//- Forward Declarations ----------------------------------------------------
+
+
+//- Class Definitions -------------------------------------------------------
+
+
+//- Inline Functions --------------------------------------------------------
+
+TSurfaceUpdate::TSurfaceUpdate(TUint aUpdateRate, TBool aTearingFree)
+    : iValue( ( aUpdateRate & 0xFFFF ) | ( aTearingFree ? 0x80000000 : 0x0 ) )
+    {
+    }
+TSurfaceUpdate::TSurfaceUpdate(TInt aValue)
+    : iValue( static_cast<TUint>( aValue ) )
+    {
+    }
+
+TSurfaceUpdate::operator TInt() const
+    {
+    return static_cast<TInt>( iValue );
+    }
+
+TUint TSurfaceUpdate::UpdateRate() const
+    {
+    return ( iValue & 0xFFFF );
+    }
+
+TBool TSurfaceUpdate::TearingFree() const
+    {
+    return ( iValue & 0x80000000 ) ? ETrue : EFalse;
+    }
+
 }; //namespace surfaceHints
 
 #endif //__SURFACE_HINTS_LOCAL_H__
--- a/mdfdevvideoextensions/nga_mdf_postprocessor/src/NGAPostProcHwDevice.cpp	Wed Jun 23 19:56:04 2010 +0300
+++ b/mdfdevvideoextensions/nga_mdf_postprocessor/src/NGAPostProcHwDevice.cpp	Tue Jul 06 16:02:18 2010 +0300
@@ -107,6 +107,8 @@
             iVideoSurfaceObserver(NULL),
             iVPObserver(NULL),
             iPicSize(0,0),
+			iAspectRatioNum(1),
+			iAspectRatioDenom(1),
             iStepFrameCount(0),
             iPlayRate(KDefPlayRate),
             iKeyFrameMode(EFalse),
@@ -180,7 +182,12 @@
     	if(!iSurfaceId.IsNull())
     	{
     		PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::UnregisterSurface"), this);
-    		iWsSession.UnregisterSurface(0, iSurfaceId);
+			TInt numScreens = iWsSession.NumberOfScreens();
+    		for(TInt i=0;i < numScreens;i++)
+    		{
+    			iWsSession.UnregisterSurface(i, iSurfaceId);
+    		}
+    		iWsSession.Flush();
         	iSurfaceHandler->DestroySurface(iSurfaceId);
     	}
         delete iSurfaceHandler;
@@ -1414,10 +1421,12 @@
 		{
 			aCropRect.Intersection( iPicSize);
 		}
-	aPixelAspectRatio = TVideoAspectRatio(1,1);
-	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvssGetSurfaceParametersL()--  \
-		cropRectWidth = %d cropRectHeight = %d --"), this, aCropRect.Width(), aCropRect.Height());
-
+	aPixelAspectRatio = TVideoAspectRatio(iAspectRatioNum,iAspectRatioDenom);
+	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvssGetSurfaceParametersL()  \
+		cropRectWidth = %d cropRectHeight = %d"), this, aCropRect.Width(), aCropRect.Height());
+	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvssGetSurfaceParametersL()  \
+		PAR Num = %d PAR Denom = %d"), this, aPixelAspectRatio.iNumerator, aPixelAspectRatio.iDenominator);
+	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvssGetSurfaceParametersL() --"), this);
 }
 
 void CNGAPostProcHwDevice::MmvssSurfaceRemovedL(const TSurfaceId& aSurfaceId)
@@ -1426,10 +1435,20 @@
 	if(!aSurfaceId.IsNull())
 	{
 		PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvssSurfaceRemovedL(): UnregisterSurface ID = 0x%x"), this, aSurfaceId );
-		iWsSession.UnregisterSurface(0, aSurfaceId);
+		TInt numScreens = iWsSession.NumberOfScreens();
+		for(TInt i=0;i < numScreens;i++)
+		{
+			iWsSession.UnregisterSurface(i, aSurfaceId);
+		}
+		iWsSession.Flush();
 		iSurfaceHandler->DestroySurface(aSurfaceId);
+		if(iSurfaceId == aSurfaceId)
+		{
+			iSurfaceCreatedEventPublished = EFalse;
+			iSurfaceId = TSurfaceId::CreateNullId();
+			iChunk.Close();
+		}
 	}
-		
 	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvssSurfaceRemovedL() --"), this);
 }
 
@@ -1441,7 +1460,9 @@
 	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvpoUpdateVideoProperties PAR \
 		iAspectRatioNum = %d, iAspectRatioDenom = %d"), this,
 					 aYuvFormat.iAspectRatioNum,aYuvFormat.iAspectRatioDenom);
-					 iPicSize = aPictureSize;
+	iPicSize = aPictureSize;
+	iAspectRatioNum = aYuvFormat.iAspectRatioNum;
+	iAspectRatioDenom = aYuvFormat.iAspectRatioDenom;
 	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvpoUpdateVideoProperties Picture Size \
 		iWidth = %d, iHeight = %d, iSurfaceCreatedEventPublished = %d"), 
 		this, iPicSize.iWidth,iPicSize.iHeight, iSurfaceCreatedEventPublished?1:0);
@@ -1523,22 +1544,13 @@
 {
     PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvshcRedrawBufferToSurface ++"), this);
 	
-	TSize 			surfaceSize; 
     TUint8*         lPtr;
     TInt 			offset;
-    if(iPicSize.iWidth > iPicSize.iHeight)
-    {
-    	surfaceSize.iWidth = iPicSize.iWidth;
-    	surfaceSize.iHeight = iPicSize.iWidth;
-    }
-    else
-    {
-    	surfaceSize.iWidth = iPicSize.iHeight;
-    	surfaceSize.iHeight = iPicSize.iHeight;
-    }
+
+    PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvshcRedrawBufferToSurface -- Creating %d x %d surface"), this, iPicSize.iWidth, iPicSize.iHeight);
 
    	TInt err = KErrNone;
-	SetSurfaceAttributes(surfaceSize, 1); 
+	SetSurfaceAttributes(iPicSize, 1); 
 	
   	err = iSurfaceHandler->CreateSurface(iAttributes, iSurfaceId);
   	if (err != KErrNone)
@@ -1548,6 +1560,36 @@
 		iProxy->MdvppFatalError(this, err);	   				
 	    return;
 	}
+
+	err = iSurfaceHandler->SurfaceInfo(iSurfaceId, iInfo);
+	if (err != KErrNone)
+	{
+	   PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvshcRedrawBufferToSurface -- failed to get Surface info %d"), 
+	   				this, err);
+	   	iSurfaceHandler->DestroySurface(iSurfaceId);
+	   	iSurfaceId = TSurfaceId::CreateNullId();
+		iProxy->MdvppFatalError(this, err);	   				
+	    return;
+	}
+
+	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvshcRedrawBufferToSurface() \
+		surfaceWidth = %d surfaceHeight = %d surfaceStride = %d"), this, iInfo().iSize.iWidth, iInfo().iSize.iHeight, iInfo().iStride);
+
+	TInt redrawBufferSize = aRedrawBuffer.Size();
+	TInt surfaceSize = iInfo().iStride * iInfo().iSize.iHeight;
+
+    PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvshcRedrawBufferToSurface RedrawBuffer size= %d Surface size = %d"), this, redrawBufferSize, surfaceSize);
+
+	// Check whether redraw buffer will fit onto the surface.
+	// If this check fails then we won't raise a fatal error - We just won't create the redraw surface
+	if (redrawBufferSize > surfaceSize)
+	{
+    	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvshcRedrawBufferToSurface Redraw buffer size larger than surface size"), this);
+    	iSurfaceHandler->DestroySurface(iSurfaceId);
+	   	iSurfaceId = TSurfaceId::CreateNullId();
+    	return;
+	}
+
 	err = iSurfaceHandler->MapSurface(iSurfaceId, iChunk);
 	if (err != KErrNone)
 	{
@@ -1558,19 +1600,6 @@
 		iProxy->MdvppFatalError(this, err);	   				
 	    return;
 	}
-	err = iSurfaceHandler->SurfaceInfo(iSurfaceId, iInfo);
-	if (err != KErrNone)
-	{
-	   PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvshcRedrawBufferToSurface -- failed to get Surface info %d"), 
-	   				this, err);
-	   	iSurfaceHandler->DestroySurface(iSurfaceId);
-	   	iSurfaceId = TSurfaceId::CreateNullId();
-		iChunk.Close();
-		iProxy->MdvppFatalError(this, err);	   				
-	    return;
-	}
-	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:MmvshcRedrawBufferToSurface() \
-		surfaceWidth = %d surfaceHeight = %d --"), this, iInfo().iSize.iWidth, iInfo().iSize.iHeight);
 
     if((err = iSurfaceHandler->GetBufferOffset(iSurfaceId, 0, offset)) != KErrNone)
     {
@@ -1581,18 +1610,23 @@
     	iProxy->MdvppFatalError(this, err);
     	return;
     }
-    PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvshcRedrawBufferToSurface offset = %d aRedrawBuffer.Size()= %d  --"), this, offset, aRedrawBuffer.Size());
-    
+
+    PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvshcRedrawBufferToSurface offset = %d"), this, offset);
+
 	lPtr = reinterpret_cast<TUint8*>(iChunk.Base() + offset);
-	memcpy((TAny *)lPtr, (TAny *)aRedrawBuffer.Ptr(), aRedrawBuffer.Size());
+	memcpy((TAny *)lPtr, (TAny *)aRedrawBuffer.Ptr(), redrawBufferSize);
 
 	iRedrawSurfaceInUse = ETrue;
 
+	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvshcRedrawBufferToSurface(): New surface = 0x%x"), this, iSurfaceId);
+
     PP_DEBUG(_L("CNGAPostProcHwDevice[%x]::MmvshcRedrawBufferToSurface error = %d --"), this, err);
 }
 
 TInt CNGAPostProcHwDevice::SetupExternalSurface(const TSurfaceId &aSurfaceID)
 {
+	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:SetupExternalSurface(): aSurfaceID = 0x%x"), this, aSurfaceID );
+
     TInt err = KErrNone;
     
     if(!iSurfaceId.IsNull())
@@ -1607,7 +1641,12 @@
 		{
 			// 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);
+			TInt numScreens = iWsSession.NumberOfScreens();
+    		for(TInt i=0;i < numScreens;i++)
+    		{
+    			iWsSession.UnregisterSurface(i, iSurfaceId);
+    		}
+   			iWsSession.Flush();
 			iSurfaceHandler->DestroySurface(iSurfaceId);
 		}
 
@@ -2060,7 +2099,13 @@
 TInt CNGAPostProcHwDevice::RegisterSurface(const TSurfaceId& aSurfaceId)
 {
 	PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:RegisterSurface(): RegisterSurface ID = 0x%x"), this, aSurfaceId);
-	return(iWsSession.RegisterSurface(0, aSurfaceId));
+	TInt err = KErrNone;
+	TInt numScreens = iWsSession.NumberOfScreens();
+	for(TInt i=0; (i < numScreens && err == KErrNone); i++)
+	{
+		err = iWsSession.RegisterSurface(i, aSurfaceId);
+	}	
+	return(err);
 }
 
 TInt CNGAPostProcHwDevice::IsGceReady()
@@ -2291,6 +2336,16 @@
 		err = iSurfaceHandler->SetSurfaceHint(iSurfaceId,iHint);
    }
    PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:AddHints. err = %d --"), this,err);
+   iHint.iKey.iUid = surfaceHints::KSurfaceContent;
+   iHint.iValue = surfaceHints::EVideoPlayback;
+   iHint.iMutable = ETrue;
+   err = iSurfaceHandler->AddSurfaceHint(iSurfaceId,iHint);
+   if(err == KErrAlreadyExists)
+   {
+		err = KErrNone;
+		err = iSurfaceHandler->SetSurfaceHint(iSurfaceId,iHint);
+   }
+   PP_DEBUG(_L("CNGAPostProcHwDevice[%x]:AddHints. err = %d --"), this,err);
    return err;
 }
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mf_developer_build.config.xml	Tue Jul 06 16:02:18 2010 +0300
@@ -0,0 +1,73 @@
+<?xml version="1.0"?>
+<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_4_0.dtd" [
+  <!ENTITY layer_real_source_path "../mm" >
+]> 
+
+<SystemDefinition name="os_mm_pkg" schema="1.4.0">
+	<systemModel>
+  <!-- Common file for prebuild layers-->
+  	<layer name="os_layer">
+	
+	
+			<module name="mm">
+				<unit unitID="mm" mrp="" bldFile="&layer_real_source_path;/group" name="mm" />
+			</module>
+			<module name="">
+				<unit unitID="AudioEqualizerUtility" mrp="" bldFile="&layer_real_source_path;/devsoundextensions/effectspresets/AudioEqualizerUtility/group" filter="!dfs_build" name="AudioEqualizerUtility" />
+				<unit unitID="EnvironmentalReverbUtility" mrp="" bldFile="&layer_real_source_path;/devsoundextensions/effectspresets/EnvironmentalReverbUtility/group" filter="!dfs_build" name="EnvironmentalReverbUtility" />
+			</module>
+			<module name="multimedia_icl">
+				<!--unit name="imagingfws" unitID="sos.imagingfws" mrp="" bldFile="&layer_real_source_path;/imagingandcamerafws/imagingfws/group" / -->				
+			</module>
+			<module name="multimedia_camera">				
+				<!--unit name="camerafw" unitID="sos.camerafw" mrp="" bldFile="&layer_real_source_path;/imagingandcamerafws/camerafw/group" /-->
+			</module>			
+			<module name="multimedia_imgplugins">
+				<unit name="imgplugins" unitID="sos.imgplugins" mrp="" bldFile="&layer_real_source_path;/mmplugins/imagingplugins/group" />
+			</module>
+			<module name="multimedia_mmlibs">
+				<unit name="mmutilitylib" unitID="sos.mmutilitylib" mrp="" bldFile="&layer_real_source_path;/mmlibs/mmutilitylib/group" />
+				<unit name="mmfw" unitID="sos.mmfw" mrp="" bldFile="&layer_real_source_path;/mmlibs/mmfw/group"/>
+			</module>			
+			<module name="multimedia_mmdevicefw">
+				<unit name="speechrecogsupport" unitID="sos.speechrecogsupport" mrp="" bldFile="&layer_real_source_path;/mmdevicefw/speechrecogsupport/group" />				
+			</module>			
+			<module name="multimedia_devsound">
+				<unit name="a3facf" unitID="sos.a3facf" mrp="" bldFile="&layer_real_source_path;/devsound/a3facf/group"/>
+				<unit name="a3fdevsound" unitID="sos.a3fdevsound" mrp="" bldFile="&layer_real_source_path;/devsound/a3fdevsound/group"/>
+				<unit name="a3fsrvstart" unitID="sos.a3fsrvstart" mrp="" bldFile="&layer_real_source_path;/devsound/a3fsrvstart/group"/> 
+				<unit name="a3ftrace" unitID="sos.a3ftrace" mrp="" bldFile="&layer_real_source_path;/devsound/a3ftrace/group"/>
+				<unit name="hwdevapi" unitID="sos.hwdevapi" mrp="" bldFile="&layer_real_source_path;/devsound/hwdevapi/group"/>	
+				<unit name="devsoundapi" unitID="sos.devsoundapi" mrp="" bldFile="&layer_real_source_path;/devsound/devsoundapi/group"/>	
+				<unit name="devsoundpluginsupport" unitID="sos.devsoundpluginsupport" mrp="" bldFile="&layer_real_source_path;/devsound/devsoundpluginsupport/group"/>
+			</module>
+			<module name="multimedia_mmhais">
+				<unit name="videohai" unitID="sos.videohai" mrp="" bldFile="&layer_real_source_path;/mmhais/videohai/group"/>
+			</module>
+			<module name="multimedia_mmplugins">
+				<unit name="lib3gp" unitID="sos.lib3gp" mrp="" bldFile="&layer_real_source_path;/mmplugins/lib3gp/group" />
+				<unit name="mmfplugin" unitID="sos.mmplugin" mrp="" bldFile="&layer_real_source_path;/mmplugins/mmfwplugins/group"/>
+			</module>
+			<module name="multimedia_mmswadaptation">
+				<unit name="videorenderer" unitID="sos.videorenderer" mrp="" bldFile="&layer_real_source_path;/mmswadaptation/videorenderer/group"/>
+			</module>
+			<module name="multimedia_testframework">
+				<unit name="mmtestfw" unitID="sos.mmtestfw" mrp="" bldFile="&layer_real_source_path;/mmtestenv/mmtestfw/group"/>
+			</module>
+			
+			<!-- Multimedia Foundation specific Test components-->
+			<module name="mf_multimedia_test_component">
+				<unit name="a3fchartest" unitID="sos.a3fchartest" bldFile="&layer_real_source_path;/devsound/a3fcharacterisationtest/group" mrp=""/>
+				<unit name="speechrecogsupporttest" unitID="sos.speechrecogsupporttest" bldFile="&layer_real_source_path;/mmdevicefw/speechrecogsupport/tsrc/ASR/group" mrp=""/>
+				<unit name="mmfintgdevsound" unitID="sos.mmfintgdevsound" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfintegrationtest/devsound/group" mrp=""/>
+				<unit name="acod" unitID="sos.acod" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfunittest/ACOD/group" mrp=""/>
+				<unit name="DevSoundTestCIPlugins" unitID="sos.DevSoundTestCIPlugins" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfunittest/DevSoundTest/CIPlugins/group" mrp=""/>
+				<unit name="DevSoundTest" unitID="sos.DevSoundTest" bldFile="&layer_real_source_path;/mmlibs\mmfw\tsrc\mmfunittest\DevSoundTest\group" mrp=""/>
+				<unit name="SbcCodec" unitID="sos.SbcCodec" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfunittest/SbcCodec/group" mrp=""/>
+				<unit name="mmtestfwunittest" unitID="sos.mmtestfwunittest" bldFile="&layer_real_source_path;/mmtestenv/mmtestfwunittest/group" mrp=""/>
+				<unit name="SDevSound" unitID="sos.SDevSound" bldFile="&layer_real_source_path;/mmlibs/mmfw/tsrc/mmfintegrationtest/SDevSound/group" mrp=""/>
+				<!--unit name="a3fintegrationtest" unitID="sos.a3fintegrationtest" bldFile="&layer_real_source_path;/devsound/a3fintegrationtest/group" mrp="" />-->				
+			</module>			
+    </layer>    
+  </systemModel>
+</SystemDefinition>
\ No newline at end of file
--- a/mmdevicefw/mdfunittest/group/BLD.INF	Wed Jun 23 19:56:04 2010 +0300
+++ b/mmdevicefw/mdfunittest/group/BLD.INF	Tue Jul 06 16:02:18 2010 +0300
@@ -23,7 +23,7 @@
 #include "../codecapi/audio/group/bld.inf"
 #include "../codecapi/video/group/bld.inf"
 #include "../codecapi/omx/pcmcodec/group/bld.inf"
-#include "../codecapi/PU/pcmcodec/group/BLD.INF"
+#include "../codecapi/PU/pcmcodec/group/bld.inf"
 #include "../codecapi/PU/video/group/bld.inf"
 #include "../codecapi/codecapi/group/bld.inf"
 #include "../codecapi/omxvorbis/group/bld.inf"
--- a/mmtestenv/mmtestagent/group/bld.inf	Wed Jun 23 19:56:04 2010 +0300
+++ b/mmtestenv/mmtestagent/group/bld.inf	Tue Jul 06 16:02:18 2010 +0300
@@ -19,8 +19,8 @@
 // If CAF_LITE is defined the cut down "lite" version is built
 // otherwise by default the complete version of CAF is built 
 
-PRJ_EXPORTS
+PRJ_TESTEXPORTS
 ../group/multimediatestagent.iby /epoc32/rom/include/multimediatestagent.iby
 
-PRJ_MMPFILES
+PRJ_TESTMMPFILES
 multimediatestagent.mmp
--- a/mmtestenv/mmtestfw/gceavailable/group/bld.inf	Wed Jun 23 19:56:04 2010 +0300
+++ b/mmtestenv/mmtestfw/gceavailable/group/bld.inf	Tue Jul 06 16:02:18 2010 +0300
@@ -13,7 +13,7 @@
 // Description:
 //
 
-PRJ_MMPFILES
+PRJ_TESTMMPFILES
 
 #ifdef WINS
 gceavailable_winscw.mmp
@@ -21,7 +21,7 @@
 gceavailable_eabi.mmp
 #endif // WINS
 
-PRJ_EXPORTS
+PRJ_TESTEXPORTS
 gceavailable.iby	/epoc32/rom/include/gceavailable.iby
 
 ../inc/gceavailable.h	SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(gceavailable.h)
--- a/mmtestenv/mmtestfw/group/BLD.INF	Wed Jun 23 19:56:04 2010 +0300
+++ b/mmtestenv/mmtestfw/group/BLD.INF	Tue Jul 06 16:02:18 2010 +0300
@@ -13,7 +13,7 @@
 // Description:
 //
 
-PRJ_EXPORTS
+PRJ_TESTEXPORTS
 ../include/TestFramework.h		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(testframework.h)
 ../include/TestFrameworkIpc.h		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(testframeworkipc.h) 
 ../include/TestFrameworkIpc.inl		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(testframeworkipc.inl)
@@ -27,7 +27,7 @@
 // Tests that run via recognizer [not required on EKA2]
 ../recog/data/AutorunTests.cfg	c:/mm/autoruntests.cfg
 
-PRJ_MMPFILES
+PRJ_TESTMMPFILES
 
 // TestFramework files
 ../MMPFiles/TestFrameworkServer.mmp
--- a/mmtestenv/mmtesttools/Group/bld.inf	Wed Jun 23 19:56:04 2010 +0300
+++ b/mmtestenv/mmtesttools/Group/bld.inf	Tue Jul 06 16:02:18 2010 +0300
@@ -18,7 +18,7 @@
 #endif
 
 
-PRJ_EXPORTS
+PRJ_TESTEXPORTS
 
 // .iby files
 ../Rom/mmfIntTests.iby			/epoc32/rom/include/mmfinttests.iby
--- a/package_definition.xml	Wed Jun 23 19:56:04 2010 +0300
+++ b/package_definition.xml	Tue Jul 06 16:02:18 2010 +0300
@@ -1,14 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <SystemDefinition schema="3.0.0">
   <package id="mm" name="Multimedia" levels="adaptation hw-if device-fw devices middleware app-if">
-    <collection id="audio" name="Audio Codecs" level="middleware">
-      <component id="arm_cmmf_codecs" filter="s60" name="ARM CMMF Codecs" class="plugin">
-        <unit bldFile="audio/arm_cmmf_codecs/group"/>
-      </component>
-    </collection>
-    <collection id="video" name="Video Codecs" level="middleware">
-    </collection>
-    <collection id="devsoundextensions" name="Devsound Extensions" level="device-fw">
+     <collection id="devsoundextensions" name="Devsound Extensions" level="device-fw">
       <component id="drmaudioplayer" filter="s60" name="DRM Audio Player">
         <unit bldFile="devsoundextensions/drmaudioplayer/group"/>
            <!-- following two units should be #included in above bld.inf -->
--- a/video/ARM_MDF_Decoders/Utilities/BufferProcessor/BWINS/BufferProcessor.def	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?NewL@CBaseEngine@@SAPAV1@PAVMProcessEngineObserver@@PAVMBaseCodec@@HH@Z @ 1 NONAME ; class CBaseEngine * CBaseEngine::NewL(class MProcessEngineObserver *, class MBaseCodec *, int, int)
-
--- a/video/ARM_MDF_Decoders/Utilities/BufferProcessor/EABI/BufferProcessor.def	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-EXPORTS
-	_ZN11CBaseEngine4NewLEP22MProcessEngineObserverP10MBaseCodecii @ 1 NONAME
-	_ZTI18CBaseProcessEngine @ 2 NONAME ; #<TI>#
-	_ZTI25CBaseEngineImplementation @ 3 NONAME ; #<TI>#
-	_ZTV18CBaseProcessEngine @ 4 NONAME ; #<VT>#
-	_ZTV25CBaseEngineImplementation @ 5 NONAME ; #<VT>#
-
--- a/video/ARM_MDF_Decoders/Utilities/BufferProcessor/group/BufferProcessor.mmp	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2007 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:  
-*
-*/
-
-#include <platform_paths.hrh>
-TARGET        ArmBufferProcessor.dll
-TARGETTYPE    DLL
-
-UID 0x1000008D 0x102749FF
-
-CAPABILITY  CAP_GENERAL_DLL
-VENDORID      VID_DEFAULT
-
-DEFFILE       BufferProcessor.def
-NOSTRICTDEF
-
-
-SOURCEPATH    ../src
-SOURCE        BaseEngineImplementation.cpp
-SOURCE        BaseProcessEngine.cpp
-
-
-USERINCLUDE   ../../../../../Inc	
-USERINCLUDE   ../inc
-
-OS_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE	/epoc32/include/mmf/devvideo
-
-LIBRARY       EUser.lib
-
-
-//-----------------------------------------------------------------------------
-//  End of File
-//-----------------------------------------------------------------------------
-
--- a/video/ARM_MDF_Decoders/Utilities/BufferProcessor/group/bld.inf	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-// BLD.INF
-/*
-* Copyright (c) 2007 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:  
-*
-*/
-
-PRJ_MMPFILES
-BufferProcessor.mmp
-
-//-----------------------------------------------------------------------------
-//  End of BLD.INF
-//-----------------------------------------------------------------------------
\ No newline at end of file
--- a/video/ARM_MDF_Decoders/Utilities/BufferProcessor/inc/BaseEngine.h	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* Copyright (c) 2007 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:  
-*
-*/
-
-#ifndef __PROCESS_ENGINE_H
-#define __PROCESS_ENGINE_H
-
-#include <e32base.h>
-
-class MBaseCodec;
-
-class MProcessEngineObserver
-	{
-	public:
-
-		// Callback to indicate the input buffer is consumed
-		virtual TInt InputBufferConsumed ( TAny* aInp, TInt aError ) =0;
-
-		// Callback to indicate output buffer is ready
-		virtual TInt OutputBufferReady ( TAny* aOup, TInt aError ) = 0;
-
-		// Callback to handle the error from RunL
-		virtual void HandleError ( TInt aError ) = 0;
-
-	};
-
-class CBaseEngine: public CBase
-	{
-	public:
-		IMPORT_C static CBaseEngine* NewL ( MProcessEngineObserver* aObserver,
-										   MBaseCodec* aCodec,
-										   TBool aInPlaceProcessing,
-                                           TInt aPriority = CActive::EPriorityStandard);
-		virtual ~CBaseEngine ()
-			{
-			}
-	public:
-		// to add the input buffer to the Q
-		virtual TInt AddInput ( TAny* ) = 0;
-
-		// to add the output buffer to the Q
-		virtual TInt AddOutput ( TAny* ) = 0;
-
-		// starts the processing;
-		virtual TInt Start () = 0;
-
-		// stops the processing
-		virtual TInt Stop () = 0;
-
-		// Reset all the buffers.
-		virtual TInt Reset() =0;
-		
-		// Returns the number of input buffers in process engine
-		virtual TInt NumInputBuffers () = 0;
-
-		// Returns the number of output buffers in process engine
-		virtual TInt NumOutputBuffers () = 0;
-
-		// Set the clock source and minimum time taken  for PP
-		virtual TInt SetSyncOptions(TAny* aClockSource,TInt aProcessingTime = 0) = 0;
-		// fetches the OutputBuffer from the process Engine OutputQ
-		virtual TAny* FetchOutputBuffer()=0;
-
-		// fetches the InputBuffer from the process Engine INputQ
-		virtual TAny* FetchInputBuffer()=0;
-
-	};
-
-#endif //__PROCESS_ENGINE_H
\ No newline at end of file
--- a/video/ARM_MDF_Decoders/Utilities/BufferProcessor/inc/BaseEngineImplementation.h	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* Copyright (c) 2007 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:  
-*
-*/
-
-#ifndef __BASEENGINEIMPLEMENTATION_H
-#define __BASEENGINEIMPLEMENTATION_H
-
-#include <e32def.h>
-#include "BaseEngine.h"
-
-//Forward declarations
-class MProcessEngineObserver;
-class CBaseProcessEngine;
-
-class CBaseEngineImplementation : public CBaseEngine
-	{
-	public:
-		static CBaseEngineImplementation* NewL ( MProcessEngineObserver* aObserver,
-												 MBaseCodec* aCodec,
-												 TBool aInPlaceProcessing,
-                                                 TInt aPriority =CActive::EPriorityStandard);
-
-		~CBaseEngineImplementation ();
-	private:
-		void ConstructL ( MProcessEngineObserver* aObserver,
-						  MBaseCodec* aCodec,
-						  TBool aInPlaceProcessing,
-                          TInt aPriority);
-
-		CBaseEngineImplementation ();
-
-	private:// from BaseEngine
-		// to add the input buffer to the Q
-		TInt AddInput (TAny*);
-
-		// to add the output buffer to the Q
-		TInt AddOutput (TAny*);
-
-		// starts the processing;
-		TInt Start ();
-
-		// stops the processing
-		TInt Stop ();
-
-		// Reset all the buffers.
-		TInt Reset();
-		// fetches the OutputBuffer from the process Engine OutPut Queue
-		 TAny* FetchOutputBuffer();
-		
-		// fetches the InputBuffer from the process Engine InPut Queue
-		 TAny* FetchInputBuffer();
-		
-		// Returns the number of input buffers in process engine
-		virtual TInt NumInputBuffers ();
-
-		// Returns the number of output buffers in process engine
-		virtual TInt NumOutputBuffers ();
-
-		// Set the synchronize options
-		virtual TInt SetSyncOptions(TAny *, TInt aProcessingTime = 0);
-
-	private: // data
-		CBaseProcessEngine*		iEngineHandle;
-	};
-
-#endif //__BASEENGINEIMPLEMENTATION_H
\ No newline at end of file
--- a/video/ARM_MDF_Decoders/Utilities/BufferProcessor/inc/BaseProcessEngine.h	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
-* Copyright (c) 2007 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:  
-*
-*/
-
-#ifndef _CBASEPROCENGINE_H_
-#define _CBASEPROCENGINE_H_
-
-#include <e32base.h>
-#include "codec.h"
-#include "BaseEngine.h"
-
-// Forward Declarations
-class TVideoPicture;
-class MMMFClockSource;
-
-class CBaseProcessEngine : public CActive
-	{
-	public:
-		enum TState {
-		ENil = 0,
-		EStart,
-		EStop
-		};
-
-	public: // constructor and destructor
-		//
-		static CBaseProcessEngine* NewL ( MProcessEngineObserver* aObserver,
-										  MBaseCodec* aCodec,
-										  TBool aInPlaceProcessing,
-                                          TInt aPriority = EPriorityStandard);
-		// Destructor
-		virtual ~CBaseProcessEngine ();
-	
-	private: // constructor
-
-		// default constructor
-		void ConstructL ( MProcessEngineObserver* aObserver,
-						  MBaseCodec* aCodec,
-						  TBool aInPlaceProcessing );
-		//
-		CBaseProcessEngine(TInt aPriority = EPriorityStandard);
-
-
-	public: // API's 
-		// To start the engine
-		TInt Start ();
-
-		// To stop the engine
-		TInt Stop ();
-
-		//Add the input buffer to the free input queue
-		TInt AddInput( TAny* aBuffer );
-
-		//Add the output buffer to the free output queue
-		TInt AddOutput( TAny* aBuffer );
-		
-		// To check whether the engine is ready for processing
-		TBool IsReadyForProcessing ();
-
-		// Reset all the buffers.
-		TInt Reset();
-		
-		// fetches the OutputBuffer from the process Engine OutPut Queue
-		 TAny* FetchOutputBuffer();
-
-		// fetches the InputBufer from the process Engine InPut Queue
-		 TAny* FetchInputBuffer();
-
-		
-		// Returns the number of input buffers in process engine
-		virtual TInt NumInputBuffers ();
-
-		// Returns the number of output buffers in process engine
-		virtual TInt NumOutputBuffers ();
-		
-		// Set the synchronize options
-		virtual TInt SetSyncOptions(TAny* aClockSource,TInt aProcessingTime = 0);
-
-	private: // from CActive
-		void DoCancel ();
-
-		void RunL ();
-
-		TInt RunError ( TInt aError );
-
-		// other functions
-		void IssueRequest ();
-		// to get the input
-		TAny* GetInput ();
-		// To get the output
-		TAny* GetOutput ();
-		/**
-		* Function to decide if processing should be done or not
-		*     
-		* @return :  TInt: KErrNone
-		*/
-		TBool CanProcess(TVideoPicture *aPicture);
-
-	private: // data
-		RArray<TAny*>			iInputArray;
-		RArray<TAny*>			iOutputArray;
-		MBaseCodec*				iCodec;
-		MProcessEngineObserver*	iObserver;
-		TAny*					iInput;
-		TAny*					iOutput;
-		TState					iState;
-		TInt					iPrevResult;
-		TBool					iInPlaceProcessing;
-		MMMFClockSource*		iClockSource;
-		TInt					iTimeTakenForProcessing;
-		
-	};
-#endif //_CBASEPROCENGINE_H_
\ No newline at end of file
--- a/video/ARM_MDF_Decoders/Utilities/BufferProcessor/inc/RDebug.h	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2007 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:  
-*
-*/
-
-#ifndef __RDEBUG_H__
-#define __RDEBUG_H__
-
-#include <e32svr.h>
-
-#ifdef _DEBUG
-
-	#define RDP(s) //RDebug::Print(s)
-	#define RDP1(s,x) RDebug::Print(s,x)
-	#define RDP2(s,x,y) //RDebug::Print(s,x,y)
-	#define RDP3(s) RDebug::Print(s)
-#else
-
-	#define RDP(s) 
-	#define RDP1(s,x) 
-	#define RDP2(s,x,y)
-	#define RDP3(s)
-
-#endif // _DEBUG		 
-
-#endif // __RDEBUG_H__ 
--- a/video/ARM_MDF_Decoders/Utilities/BufferProcessor/inc/codec.h	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2007 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:  
-*
-*/
-
-#ifndef __CODEC_H
-#define __CODEC_H
-
-#include <e32def.h>
-
-class MBaseCodec
-	{
-	public:
-		enum TCodecState {
-			EInputConsumed,
-			EOutputConsumed,
-			EConsumed,
-			ENotConsumed,
-			EBadOutputBuffer,
-			EBadInputBuffer
-			};
-	public:// Virtual functions
-		// For initializing the codec 
-		virtual void InitializeL () = 0;
-		//For processing the required and returns one of the TCodecState
-		virtual TInt DoProcessL ( TAny *aInpBuf, TAny* aOutBuf = NULL ) = 0;
-		//For deinitializing the codec
-		virtual void DeInitialize () = 0;
-	// Reset the codec
-		virtual void Reset () = 0;
-	};
-
-#endif //__CODEC_H
\ No newline at end of file
--- a/video/ARM_MDF_Decoders/Utilities/BufferProcessor/src/BaseEngineImplementation.cpp	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,287 +0,0 @@
-/*
-* Copyright (c) 2007 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:  
-*
-*/
-
-#include "BaseEngine.h"
-#include "BaseEngineImplementation.h"
-#include "BaseProcessEngine.h"
-
-/*
-******************************************************************************
-Name           : BaseEngine::NewL
-Description    : 2phase construtor
-Parameter      : aObserver - engine observer
-				 aCodec - codec object
-				 aInPlaceProcessing - 
-Return Value   : constructed object
-******************************************************************************
-*/
-EXPORT_C CBaseEngine* CBaseEngine::NewL ( MProcessEngineObserver* aObserver,
-										  MBaseCodec* aCodec,
-										  TBool aInPlaceProcessing,
-                                          TInt aPriority)
-	{
-	return CBaseEngineImplementation::NewL ( aObserver, aCodec, aInPlaceProcessing, aPriority );
-	}	
-/*
-******************************************************************************
-Name           : CBaseEngineImplementation::NewL
-Description    : 2phase construtor
-Parameter      : aObserver - engine observer
-				 aCodec - codec object
-				 aInPlaceProcessing - 
-Return Value   : constructed object
-******************************************************************************
-*/
-CBaseEngineImplementation* CBaseEngineImplementation::NewL ( MProcessEngineObserver* aObserver,
-														     MBaseCodec* aCodec,
-														     TBool aInPlaceProcessing,
-                                                             TInt aPriority)
-	{
-	CBaseEngineImplementation* uSelf = new (ELeave) CBaseEngineImplementation;
-	CleanupStack::PushL ( uSelf );
-	uSelf->ConstructL ( aObserver, aCodec, aInPlaceProcessing, aPriority );
-	CleanupStack::Pop (); //uSelf
-	return uSelf;
-	}
-
-/*
-******************************************************************************
-Name           : CBaseEngineImplementation::CBaseEngineImplementation 
-Description    : 1st phase constructor
-Parameter      : None
-Return Value   : None
-******************************************************************************
-*/
-CBaseEngineImplementation::CBaseEngineImplementation ():
-	iEngineHandle ( NULL )
-	{
-	}
-
-/*
-******************************************************************************
-Name           : CBaseEngineImplementation::~CBaseEngineImplementation
-Description    : Destructor
-Parameter      : None
-Return Value   : None
-******************************************************************************
-*/
-CBaseEngineImplementation::~CBaseEngineImplementation ()
-	{
-	if ( iEngineHandle )
-		{
-		delete iEngineHandle;
-		iEngineHandle = 0;
-		}
-	}
-
-/*
-******************************************************************************
-Name           : CBaseEngineImplementation::ConstructL
-Description    : 2nd phase construtor
-Parameter      : aObserver - engine observer
-				 aCodec - codec object
-				 aInPlaceProcessing - 
-Return Value   : None
-******************************************************************************
-*/
-void CBaseEngineImplementation::ConstructL ( MProcessEngineObserver* aObserver,
-											 MBaseCodec* aCodec,
-											 TBool aInPlaceProcessing,
-                                             TInt aPriority)
-	{
-	iEngineHandle = CBaseProcessEngine::NewL ( aObserver, aCodec, aInPlaceProcessing, aPriority );
-	}
-
-/*
-******************************************************************************
-Name           : CBaseEngineImplementation::AddInput
-Description    : Adds the input 
-Parameter      : aInput - input
-Return Value   : returns the error ( KErrNone if there is no error )
-******************************************************************************
-*/
-TInt CBaseEngineImplementation::AddInput ( TAny* aInput )
-	{
-	if ( !iEngineHandle )
-		{
-		return KErrNotReady;
-		}
-	return iEngineHandle->AddInput ( aInput );
-	}
-
-/*
-******************************************************************************
-Name           : CBaseEngineImplementation::AddOutput
-Description    : Adds the output 
-Parameter      : aOutput -  output buffer
-Return Value   : returns the error ( KErrNone if there is no error )
-******************************************************************************
-*/
-TInt CBaseEngineImplementation::AddOutput ( TAny* aOutput )
-	{
-	if ( !iEngineHandle )
-		{
-		return KErrNotReady;
-		}
-	return iEngineHandle->AddOutput ( aOutput );
-	}
-
-/*
-******************************************************************************
-Name           : CBaseEngineImplementation::Start
-Description    : Starts the engine
-Parameter      : None
-Return Value   : returns the error ( KErrNone if there is no error )
-******************************************************************************
-*/
-TInt CBaseEngineImplementation::Start ()
-	{
-	if ( !iEngineHandle )
-		{
-		return KErrNotReady;
-		}
-	return iEngineHandle->Start ();
-	}
-
-/*
-******************************************************************************
-Name           : CBaseEngineImplementation::Stop
-Description    : Stops the engine
-Parameter      : None
-Return Value   : returns the error ( KErrNone if there is no error )
-******************************************************************************
-*/
-TInt CBaseEngineImplementation::Stop ()
-	{
-	if ( !iEngineHandle )
-		{
-		return KErrNotReady;
-		}
-	return iEngineHandle->Stop ();
-	}
-
-
-
-/*
-******************************************************************************
-Name           : CBaseEngineImplementation::Reset
-Description    : Reset all the buffers.
-Parameter      : None
-Return Value   : returns the error ( KErrNone if there is no error )
-******************************************************************************
-*/
-TInt CBaseEngineImplementation::Reset()
-    {
-	if ( !iEngineHandle )
-		{
-		return KErrNotReady;
-		}
-	return iEngineHandle->Reset ();
-    }
-
-/*
-******************************************************************************
-Name           : NumInputBuffers 
-Description    : Returns the number of input buffers in process engine
-Parameter      :
-Return Value   :
-******************************************************************************
-*/
-TInt CBaseEngineImplementation::NumInputBuffers ()
-    {
-	if ( !iEngineHandle )
-	    {
-		return 0;
-	    }
-	return iEngineHandle->NumInputBuffers ();
-    }
-
-/*
-******************************************************************************
-Name           : NumOutputBuffers 
-Description    : Returns the number of output buffers in process engine
-Parameter      :
-Return Value   :
-******************************************************************************
-*/
-TInt CBaseEngineImplementation::NumOutputBuffers ()
-    {
-	if ( !iEngineHandle )
-	    {
-		return 0;
-	    }
-	return iEngineHandle->NumOutputBuffers ();
-    }
-
-
-
-/*
-******************************************************************************
-Name           : SetSyncOptions 
-Description    : Set the synchronization options 
-Parameter      : aClockSource	 - clock sourec to use for syncronization
-				 aTimeTakenForProcessing - Time taken for Processing
-Return Value   :
-******************************************************************************
-*/
-TInt CBaseEngineImplementation::SetSyncOptions(TAny *aClockSource, TInt  aTimeTakenForProcessing)
-    {
-	if ( !iEngineHandle )
-	    {
-		return 0;
-	    }
-	return iEngineHandle->SetSyncOptions(aClockSource, aTimeTakenForProcessing);
-    }
-
-/*
-******************************************************************************
-Name           : FetchOutputBuffers 
-Description    : fetches the OutputBuffer from the process Engine OutPut Queue
-Parameter      : None
-Return Value   : output buffer
-******************************************************************************
-*/
-TAny* CBaseEngineImplementation::FetchOutputBuffer() 
-	{
-	if ( !iEngineHandle )
-	    {
-		return 0;
-	    }
-
-	return iEngineHandle->FetchOutputBuffer();
-	}
-
-
-/*
-******************************************************************************
-Name           : FetchInputBuffer 
-Description    : fetches the inputBuffer from the process Engine inPut Queue
-Parameter      : None
-Return Value   : inputBuffer
-******************************************************************************
-*/
-TAny* CBaseEngineImplementation::FetchInputBuffer() 
-	{
-	if ( !iEngineHandle )
-	    {
-		return 0;
-	    }
-	
-	return iEngineHandle->FetchInputBuffer();
-	}
-	
-	
\ No newline at end of file
--- a/video/ARM_MDF_Decoders/Utilities/BufferProcessor/src/BaseProcessEngine.cpp	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,550 +0,0 @@
-/*
-* Copyright (c) 2007 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:  
-*
-*/
-
-#include <devvideobase.h>
-#include "BaseProcessEngine.h"
-#include "RDebug.h"
-
-/*
-******************************************************************************
-Name           : CBaseProcessEngine::CBaseProcessEngine
-Description    : 1st phase construction
-Parameter      : None
-Return Value   : None
-******************************************************************************
-*/
-CBaseProcessEngine::CBaseProcessEngine (TInt aPriority) :
-	CActive ( aPriority ),
-	iCodec ( NULL ),
-	iObserver ( NULL ),
-	iInput ( NULL ),
-	iOutput ( NULL ),
-    iState ( ENil ),
-	iPrevResult ( MBaseCodec::EConsumed ),
-	iInPlaceProcessing ( EFalse ),
-	iClockSource(NULL),
-	iTimeTakenForProcessing(0)
-	{	
-	}
-
-/*
-******************************************************************************
-Name           : CBaseProcessEngine::NewL
-Description    : 2phase construtor
-Parameter      : aObserver - engine observer
-				 aCodec - codec object
-				 aInPlaceProcessing - 
-Return Value   : constructed object
-******************************************************************************
-*/
-CBaseProcessEngine* CBaseProcessEngine::NewL ( MProcessEngineObserver* aObserver,
-											   MBaseCodec*	aCodec,
-											   TBool aInPlaceProcessing,
-                                               TInt aPriority)
-	{
-	CBaseProcessEngine* uSelf = new (ELeave) CBaseProcessEngine (aPriority);
-	CleanupStack::PushL ( uSelf );
-	uSelf->ConstructL ( aObserver, aCodec, aInPlaceProcessing );
-	CleanupStack::Pop ();//uSelf
-	return uSelf;
-	}
- 
-/*
-******************************************************************************
-Name           : CBaseProcessEngine::~CBaseProcessEngine 
-Description    : Destructor
-Parameter      : None
-Return Value   : None
-******************************************************************************
-*/
-CBaseProcessEngine::~CBaseProcessEngine ()
-	{
-	Stop ();
-	iCodec->DeInitialize ();
-	iInputArray.Close ();
-	iOutputArray.Close ();
-	}
-
-/*
-******************************************************************************
-Name           : CBaseProcessEngine::ConstructL
-Description    : 2nd phase construtor
-Parameter      : aObserver - engine observer
-				 aCodec - codec object
-				 aInPlaceProcessing - 
-Return Value   : None
-******************************************************************************
-*/
-void CBaseProcessEngine::ConstructL ( MProcessEngineObserver* aObserver,
-									  MBaseCodec* aCodec,
-									  TBool aInPlaceProcessing )
-	{
-	// add to the scheduler
-	CActiveScheduler::Add ( this );
-
-	//Set the observer
-	iObserver			= aObserver;
-
-	// Set the codec
-	iCodec				= aCodec;
-
-	//Set the inplace processing
-	iInPlaceProcessing	= aInPlaceProcessing;
-
-	// initialize the codec
-	iCodec->InitializeL ();
-	return;
-	}
-
-/*
-******************************************************************************
-Name           : CBaseProcessEngine::IssueRequest
-Description    : To issue the request
-Parameter      : None
-Return Value   : None
-******************************************************************************
-*/
-void CBaseProcessEngine::IssueRequest ()
-	{
-	if( iState != EStart )
-		return;
-
-	if ( IsActive () )
-		{
-		return;
-		}
-	TRequestStatus*  uStatus = &iStatus;
-	User::RequestComplete ( uStatus, KErrNone );
-	SetActive ();
-	}
-
-/*
-******************************************************************************
-Name           : CBaseProcessEngine::Start
-Description    : Starts the engine
-Parameter      : None
-Return Value   : returns the error ( KErrNone if there is no error )
-******************************************************************************
-*/
-TInt CBaseProcessEngine::Start ()
-	{
-	iState = EStart;
-	IssueRequest ();
-	return KErrNone;
-	}
-
-
-
-
-/*
-******************************************************************************
-Name           : CBaseProcessEngine::Stop
-Description    : Stops the engine
-Parameter      : None
-Return Value   : returns the error ( KErrNone if there is no error )
-******************************************************************************
-*/
-TInt CBaseProcessEngine::Stop ()
-	{
-	iState = EStop;
-	Cancel ();
-	return KErrNone;
-	}
-
-/*
-******************************************************************************
-Name           : CBaseProcessEngine::DoCancel
-Description    : Function from CActive which will be called for canceling the object
-Parameter      : None
-Return Value   : None
-******************************************************************************
-*/
-void CBaseProcessEngine::DoCancel ()
-	{
-	}
-
-/*
-******************************************************************************
-Name           : CBaseProcessEngine::RunL
-Description    : 
-Parameter      : None
-Return Value   : None
-******************************************************************************
-*/
-void CBaseProcessEngine::RunL ()
-	{
-	RDP3(_L("CBaseProcessEngine::RunL ++"));
-	if ( !IsReadyForProcessing () )
-		{
-		RDP3(_L("CBaseProcessEngine::RunL !IsReadyForProcessing () --"));
-		return;
-		}
-
-	if (iInPlaceProcessing) 
-		{
-		//Skip Logic Goes Here
-		// Check whether this can be postprocessed or skipped if the clock source is set
-		if(iClockSource && (!CanProcess((TVideoPicture*)iInput)))
-			{
-			iObserver->InputBufferConsumed (FetchInputBuffer(), KErrUnderflow);
-			}
-        else
-            {
-		    iPrevResult = iCodec->DoProcessL (iInput);
-		    switch ( iPrevResult )
-			    {
-			    case MBaseCodec::EConsumed:
-			    case MBaseCodec::EInputConsumed:
-				    iObserver->InputBufferConsumed (FetchInputBuffer(), KErrNone);
-				    break;
-
-			    case MBaseCodec::ENotConsumed:
-			    case MBaseCodec::EOutputConsumed:
-			    default:
-				    break;
-			    }
-            }
-		} 
-	else 
-		{
-		//Skip Logic Goes Here
-		// Check whether this can be postprocessed or skipped if the clock source is set
-		if(iClockSource && (!CanProcess((TVideoPicture*)iInput)))
-			{
-			iObserver->InputBufferConsumed (FetchInputBuffer(), KErrUnderflow);
-			}
-        else
-            {
-		RDP3(_L("CBaseProcessEngine::DoProcessL ++"));
-		iPrevResult = iCodec->DoProcessL ( iInput, iOutput );
-		RDP3(_L("CBaseProcessEngine::DoProcessL --"));
-		
-		switch ( iPrevResult )
-			{
-			case MBaseCodec::EConsumed:
-				RDP3(_L("InputBufferConsumed ++"));
-				iObserver->InputBufferConsumed ( FetchInputBuffer(), KErrNone );
-				RDP3(_L("InputBufferConsumed --"));
-                RDP3(_L("OutputBufferReady ++"));
-                iObserver->OutputBufferReady ( FetchOutputBuffer(), KErrNone );
-                RDP3(_L("OutputBufferReady --"));
-				break;
-			case MBaseCodec::EInputConsumed:
-				iObserver->InputBufferConsumed ( FetchInputBuffer(), KErrNone );
-				break;
-			case MBaseCodec::EOutputConsumed:
-				iObserver->OutputBufferReady ( FetchOutputBuffer(), KErrNone );
-				break;
-			case MBaseCodec::ENotConsumed:
-				break;
-		    case MBaseCodec::EBadOutputBuffer:
-		        iObserver->OutputBufferReady ( FetchOutputBuffer(), KErrCorrupt);
-		        break;
-		    case MBaseCodec::EBadInputBuffer:
-		        break;
-			default:
-				break;
-			    }
-			}
-		}
-
-	IssueRequest ();
-	RDP3(_L("CBaseProcessEngine::RunL --"));
-	}
-
-/*
-******************************************************************************
-Name           : CBaseProcessEngine::RunError
-Description    : Handles when RunL() Leaves
-Parameter      : None
-Return Value   : None
-******************************************************************************
-*/
-TInt CBaseProcessEngine::RunError ( TInt aError )
-	{
-	iObserver->HandleError ( aError );
-	return KErrNone;
-	}
-
-
-/*
-******************************************************************************
-Name           : CBaseProcessEngine::GetInput
-Description    : To get the input 
-Parameter      : None
-Return Value   : Input buffer
-******************************************************************************
-*/
-TAny* CBaseProcessEngine::GetInput ()
-	{
-	if ( !iInputArray.Count () )
-		{
-		return NULL;
-		}
-	TAny* uBuffer = iInputArray[0];
-	iInputArray.Remove ( 0 );
-	return uBuffer;
-	}
-
-
-/*
-******************************************************************************
-Name           : CBaseProcessEngine::GetOutput
-Description    : To get the output
-Parameter      : None
-Return Value   : Output object
-******************************************************************************
-*/
-TAny* CBaseProcessEngine::GetOutput ()
-	{
-	RDP3(_L("CBaseProcessEngine::GetOutput--->"));
-	if ( !iOutputArray.Count () )
-		{
-		return NULL;
-		}
-	TAny* uBuffer = iOutputArray[0];
-	iOutputArray.Remove ( 0 );
-	RDP1(_L("CBaseProcessEngine::GetOutput<--- %d"),uBuffer);
-	return uBuffer;
-	}
-
-/*
-******************************************************************************
-Name           : CBaseProcessEngine::AddInput
-Description    : Adds the input 
-Parameter      : aInput - input
-Return Value   : returns the error ( KErrNone if there is no error )
-******************************************************************************
-*/
-TInt CBaseProcessEngine::AddInput ( TAny* aInput )
-	{
-		RDP3(_L("CBaseProcessEngine::AddInput"));
-	if ( !aInput )
-		{
-		return KErrArgument;
-		}
-	if ( iInput == NULL )
-		{
-		iInput = aInput;
-		if ( iState == EStart )
-			{
-			IssueRequest ();
-			}
-		return KErrNone;
-		}
-	return iInputArray.Append ( aInput );
-	}
-
-/*
-******************************************************************************
-Name           : CBaseProcessEngine::AddOutput
-Description    : Adds the output 
-Parameter      : aOutput -  output buffer
-Return Value   : returns the error ( KErrNone if there is no error )
-******************************************************************************
-*/
-TInt CBaseProcessEngine::AddOutput ( TAny* aOutput )
-	{
-	RDP1(_L("CBaseProcessEngine::AddOutput--> %d"),aOutput);
-	if ( !aOutput )
-		{
-		return KErrArgument;
-		}
-	if ( iOutput == NULL)
-		{
-		iOutput = aOutput;
-		RDP1(_L("CBaseProcessEngine::AddOutput %d"),iOutput);
-		if ( iState == EStart )
-			{
-			IssueRequest ();
-			}
-		return KErrNone;
-		}
-	return iOutputArray.Append ( aOutput );
-	}
-
-
-/*
-******************************************************************************
-Name           : CBaseProcessEngine::IsReadyForProcessing
-Description    : Checks for processing
-Parameter      : None
-Return Value   : None
-******************************************************************************
-*/
-TBool CBaseProcessEngine::IsReadyForProcessing ()
-	{ 
-		
-	if (iInPlaceProcessing) 
-		{
-		return (iInput != NULL) ? ETrue : EFalse;
-		}
-	return ((iInput != NULL) && (iOutput != NULL)) ? ETrue : EFalse; 
-
-	}
-
-
-
-/*
-******************************************************************************
-Name           : CBaseProcessEngine::Reset
-Description    : Flush Output buffers
-Parameter      : None
-Return Value   : returns the error ( KErrNone if there is no error )
-******************************************************************************
-*/
-
-		
-TInt CBaseProcessEngine::Reset()
-    {
-	iCodec->Reset ();
-
-	if(!iInput)
-		iInput = GetInput ();
-
-	while (iInput)
-		iObserver->InputBufferConsumed (FetchInputBuffer(), KErrCancel);
-
-	if(!iOutput)
-		iOutput = GetOutput ();
-
-	while (iOutput)
-		iObserver->OutputBufferReady (FetchOutputBuffer(), KErrCancel);
-
-
-	// reset the input array
-	iInputArray.Reset ();
-	// reset the output array
-	iOutputArray.Reset ();
-
-	return KErrNone;
-    }
-
-/*
-******************************************************************************
-Name           : NumInputBuffers 
-Description    : Returns the number of input buffers in process engine
-Parameter      :
-Return Value   :
-******************************************************************************
-*/
-TInt CBaseProcessEngine::NumInputBuffers ()
-    {
-	RDP3(_L("CBaseProcessEngine::NumInputBuffers--> "));
-	TInt lCount = 0;
-	if (iInput)
-	    {
-		lCount = 1;
-	    }
-	RDP3(_L("CBaseProcessEngine::NumInputBuffers<-- "));
-	return (iInputArray.Count() + lCount);
-    }
-    
-/*
-******************************************************************************
-Name           : NumOutputBuffers 
-Description    : Returns the number of output buffers in process engine
-Parameter      :
-Return Value   :
-******************************************************************************
-*/
-TInt CBaseProcessEngine::NumOutputBuffers ()
-    {
-	TInt lCount = 0;
-	if (iOutput)
-	    {
-		lCount = 1;
-	    }
-	return (iOutputArray.Count() + lCount);
-    }
-
-/*
-******************************************************************************
-Name           : SetSyncOptions 
-Description    : Set the clock source and the minimum time take for processinf
-Parameter      :
-Return Value   :
-******************************************************************************
-*/
-TInt CBaseProcessEngine::SetSyncOptions(TAny* aClockSource,TInt aTimeTakenForProcessing)
-    {
-	iClockSource	= (MMMFClockSource*)aClockSource;
-	iTimeTakenForProcessing = aTimeTakenForProcessing;
-	return KErrNone;
-    }
-
-
-/*
-*********************************************************************************
-Name			: CanProcess
-Description		: Function to determine whether processing should be done or skipped 
-				  for the current i/p buffer.
-Parameters		: aPicture - The picture to be postprocessed.
-Return Value	: Boolean indicating whether postprocessing has to be done or not
-*********************************************************************************
-*/
-
-TBool CBaseProcessEngine::CanProcess(TVideoPicture *aPicture)
-	{
-
-	TTimeIntervalMicroSeconds lTimeDifference = 0;
-		
-	lTimeDifference = TTimeIntervalMicroSeconds(
-							(aPicture->iTimestamp.Int64()												 
-							- iClockSource->Time().Int64()));												 
-	if(lTimeDifference.Int64() >= iTimeTakenForProcessing)
-		{
-		return ETrue;
-		}	
-
-	return EFalse;
-	}
-/*
-*********************************************************************************
-Name			: FetchOutputBuffer
-Description		: fetches the OutputBuffer from the process Engine OutPut Queue
-Parameters		: None
-Return Value	: Output Picture
-*********************************************************************************
-*/
-TAny* CBaseProcessEngine::FetchOutputBuffer()
-	{
-	RDP3(_L("CBaseProcessEngine::FetchOutputBuffer--->"));
-	TAny* lTempOutput=NULL;
-	lTempOutput=iOutput;		
-	iOutput=GetOutput();
-	RDP1(_L("CBaseProcessEngine::FetchOutputBuffer  address<--- %d "),lTempOutput); 
-	return lTempOutput;
-	}
-
-/*
-*********************************************************************************
-Name			: FetchInputBuffer
-Description		: fetches the InputBuffer from the process Engine InPut Queue
-Parameters		: None
-Return Value	: Input Picture
-*********************************************************************************
-*/
-TAny* CBaseProcessEngine::FetchInputBuffer()
-	{
-	RDP3(_L("CBaseProcessEngine::FetchInputBuffer--->"));
-	TAny* iTempInput=NULL;
-	iTempInput=iInput;		
-	iInput=GetInput();
-	RDP1(_L("CBaseProcessEngine::FetchInputBuffer  address<--- %d "),iTempInput); 
-	return iTempInput;
-	}
--- a/video/ARM_MDF_Decoders/Utilities/StateMachine/BWINS/StateMachine.def	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-EXPORTS
-	?IsInitialized@CStateMachine@@QAEHXZ @ 1 NONAME ; int CStateMachine::IsInitialized(void)
-	?IsInputEndPending@CStateMachine@@QAEHXZ @ 2 NONAME ; int CStateMachine::IsInputEndPending(void)
-	?IsPaused@CStateMachine@@QAEHXZ @ 3 NONAME ; int CStateMachine::IsPaused(void)
-	?IsPlaying@CStateMachine@@QAEHXZ @ 4 NONAME ; int CStateMachine::IsPlaying(void)
-	?IsStarted@CStateMachine@@QAEHXZ @ 5 NONAME ; int CStateMachine::IsStarted(void)
-	?IsStopped@CStateMachine@@QAEHXZ @ 6 NONAME ; int CStateMachine::IsStopped(void)
-	?IsTransitionValid@CStateMachine@@QAEHW4TCommand@1@@Z @ 7 NONAME ; int CStateMachine::IsTransitionValid(enum CStateMachine::TCommand)
-	?NewL@CStateMachine@@SAPAV1@XZ @ 8 NONAME ; class CStateMachine * CStateMachine::NewL(void)
-	?Reset@CStateMachine@@QAEXXZ @ 9 NONAME ; void CStateMachine::Reset(void)
-	?Transit@CStateMachine@@QAEHW4TCommand@1@@Z @ 10 NONAME ; int CStateMachine::Transit(enum CStateMachine::TCommand)
-	?IfIsStateInInitailize@CStateMachine@@QAEHXZ @ 11 NONAME ; int CStateMachine::IfIsStateInInitailize(void)
-
--- a/video/ARM_MDF_Decoders/Utilities/StateMachine/EABI/StateMachine.def	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-EXPORTS
-	_ZN13CStateMachine13IsInitializedEv @ 1 NONAME
-	_ZN13CStateMachine17IsInputEndPendingEv @ 2 NONAME
-	_ZN13CStateMachine17IsTransitionValidENS_8TCommandE @ 3 NONAME
-	_ZN13CStateMachine21IfIsStateInInitailizeEv @ 4 NONAME
-	_ZN13CStateMachine4NewLEv @ 5 NONAME
-	_ZN13CStateMachine5ResetEv @ 6 NONAME
-	_ZN13CStateMachine7TransitENS_8TCommandE @ 7 NONAME
-	_ZN13CStateMachine8IsPausedEv @ 8 NONAME
-	_ZN13CStateMachine9IsPlayingEv @ 9 NONAME
-	_ZN13CStateMachine9IsStartedEv @ 10 NONAME
-	_ZN13CStateMachine9IsStoppedEv @ 11 NONAME
-
--- a/video/ARM_MDF_Decoders/Utilities/StateMachine/group/StateMachine.mmp	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2007 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:  
-*
-*/
-
-#include <platform_paths.hrh>
-
-TARGET        ArmStateMachine.dll
-TARGETTYPE    DLL
-
-UID 0x1000008D 0x102749FE
-
-CAPABILITY  CAP_GENERAL_DLL
-VENDORID      VID_DEFAULT
-
-DEFFILE       StateMachine.def
-NOSTRICTDEF
-
-
-SOURCEPATH    ../src
-SOURCE        StateMachine.cpp
-
-USERINCLUDE   ../../../../../Inc 	
-USERINCLUDE   ../inc
-
-OS_LAYER_SYSTEMINCLUDE
-
-LIBRARY       EUser.lib
-
-
-//-----------------------------------------------------------------------------
-//  End of File
-//-----------------------------------------------------------------------------
-
--- a/video/ARM_MDF_Decoders/Utilities/StateMachine/group/bld.inf	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-// BLD.INF
-/*
-* Copyright (c) 2007 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:  
-*
-*/
-
-PRJ_MMPFILES
-StateMachine.mmp
-
-//-----------------------------------------------------------------------------
-//  End of BLD.INF
-//-----------------------------------------------------------------------------
\ No newline at end of file
--- a/video/ARM_MDF_Decoders/Utilities/StateMachine/inc/Statemachine.h	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-/*
-* Copyright (c) 2007 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:  
-*
-*/
-
-#ifndef __STATEMACHINE_H__
-#define __STATEMACHINE_H__
-
-#include <e32base.h>
-
-// Constants
-const TUint KNumOfStates    = 10;
-const TUint	KNumOfCommands	= 7;
-
-class CStateMachine: public CBase
-{
-public:
-	/**
-     * All the states of the state machine.	
-	 */
-	enum TState
-	{
-		EUnInitialized = 0,
-		EInitialized,
-		EStart,
-		EPause,
-		EStop,
-		EInitializedInStopping,
-		EStopping,
-		EPauseInStopping,
-		EStopInInputEnd,
-		EInvalidState
-	};
-	/**
-     * Commands that are given to state machine
-	 */
-	enum TCommand
-	{
-		EInitializeCommand = 0 ,
-		EStartCommand,
-		EPauseCommand,
-		EResumeCommand,
-		EInputEndCommand,
-		EStopCommand
-	};
-
-private:
-	/**
-	 *Symbian 2nd phase constructor
-	 *@return	"None"
-	 */
-	void ConstructL();
-
-	/**
-	 *Default Constructor
-	 */
-	CStateMachine();
-
-
-public:
-	/**
-	 *Constructor. State will be in EUnInitialized
-	 *
-	 *@param	"None"
-	 *@leave	"None"	
-	 *@return	"None"
-	 */
-	IMPORT_C static CStateMachine* NewL();
-
-	/**
-	 *Checks whether transition to new state is possible or not
-	 *
-	 *@param	"aCommand"	"Command for the transition"
-	 *@leave	"None"	
-	 *@return	"Return ETrue if transition is valid, else EFalse
-	 */
-	IMPORT_C TBool	IsTransitionValid (TCommand aCommand);
-
-	/**
-	 *Transits to new state. If transition cann't be done, object will
-	 *remain in the previous state.
-	 *
-	 *@param	"aCommand"	"Command for the transition"
-	 *@return	"Return KErrNone if transition happens else error.
-	 */
-	IMPORT_C TInt	Transit (TCommand aCommand);
-
-	/**
-	 *Tells whether the state is initialized or not. Here initilized means
-	 *if the state is in any state other than EUnInitialized
-	 *
-	 *@param	"None"
-	 *@return	"Return ETrue, if state is initialized else EFalse.
-	 */
-	IMPORT_C TBool	IsInitialized (void);
-
-	/**
-	 *Tells whether the state is in any one of the input ending states i.e
-	 *	EInitializedInStopping,
-		EStopping,
-		EPauseInStopping,
-		EStopInInputEnd
-	 *
-	 *
-	 *@param	"None"
-	 *@return	"Return ETrue, if state is in any of the input end state else EFalse.
-	 */
-	IMPORT_C TBool	IsInputEndPending (void);
-
-	/**
-	 *Tells whether state is in EStart state
-	 *
-	 *@param	"None"
-	 *@return	"Return ETrue if state is EStart, elase EFalse
-	 */
-	IMPORT_C TBool	IsStarted (void);
-
-	/**
-	 *Tells whether stae is in EPause state
-	 *
-	 *@param	"None"
-	 *@return	"Return ETrue if state is EPause, elase EFalse
-	 */
-	IMPORT_C TBool	IsPaused (void);
-
-	/**
-	 *Tells whether stae is in EStop state
-	 *
-	 *@param	"None"
-	 *@return	"Return ETrue if state is EStop, elase EFalse
-	 */
-	IMPORT_C TBool	IsStopped (void);
-
-	IMPORT_C TBool	IsPlaying (void);
-
-	/**
-	 *Resets the state machine to EUnInitialized state
-	 *
-	 *@param	"None"
-	 *@return	"None"
-	 */
-	IMPORT_C void	Reset(void);
-	
-	/**
-	 * Returns whether the current state is in initailize or not
-	 *
-	 *@return	"ETrue if current state is in Initailize"
-	 */
-	IMPORT_C TBool IfIsStateInInitailize(void);
-
-private:
-	//Stores the state of the state machine
-	TState			iState;
-	TState			iStateChanges[KNumOfStates][KNumOfCommands];
-};
-
-#endif // __STATEMACHINE_H__
-
--- a/video/ARM_MDF_Decoders/Utilities/StateMachine/src/Statemachine.cpp	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,343 +0,0 @@
-/*
-* Copyright (c) 2007 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:  
-*
-*/
-
-#include "Statemachine.h"
-
-
-
-/*
-*******************************************************************************
-* Name            : CStateMachine
-* Description     : Constructor. 
-* Parameters	  : None
-* Return Value	  : None
-* Assumptions     : None
-* Known Issues    : None
-******************************************************************************
-*/
-CStateMachine::CStateMachine():iState(EUnInitialized)
-	{
-	// Initailization 
-	for(TInt i = 0; i < KNumOfStates; i++)
-		for(TInt j = 0; j < KNumOfCommands; j++)
-			iStateChanges [i][j] = EInvalidState;
-
-	// set the valid transition states in the table
-
-	// valid state changes from Uninitailize
-	iStateChanges [EUnInitialized][EInitializeCommand] = EInitialized;
-	
-	// valid state changes from Initailize
-	iStateChanges [EInitialized][EStartCommand]		= EStart;
-	iStateChanges [EInitialized][EPauseCommand]		= EPause;
-	iStateChanges [EInitialized][EResumeCommand]	= EStart;
-	iStateChanges [EInitialized][EInputEndCommand]	= EInitializedInStopping;
-	iStateChanges [EInitialized][EStopCommand]		= EStop;
-
-	// valid state changes from Start
-	iStateChanges [EStart][EStartCommand]		= EStart;
-	iStateChanges [EStart][EPauseCommand]		= EPause;
-	iStateChanges [EStart][EInputEndCommand]	= EStopping;
-	iStateChanges [EStart][EStopCommand]		= EStop;
-
-	// valid  State changes from pause
-	iStateChanges [EPause][EPauseCommand]		= EPause;
-	iStateChanges [EPause][EResumeCommand]		= EStart;
-	iStateChanges [EPause][EInputEndCommand]	= EPauseInStopping;
-	iStateChanges [EPause][EStopCommand]		= EStop;
-
-	// valid state changes from Stop
-	iStateChanges [EStop][EStartCommand]	= EStart;
-	iStateChanges [EStop][EInputEndCommand] = EStopInInputEnd;
-	iStateChanges [EStop][EStopCommand]		= EStop;
-
-	// valid state changes from InitailizeInStopping
-	iStateChanges [EInitializedInStopping][EStartCommand] = EStopping;
-	
-	// valid  State Changes from EStopping
-	iStateChanges [EStopping][EPauseCommand] = EPauseInStopping;
-	iStateChanges [EStopping][EStopCommand]	 = EStop;
-
-	// valid state changes from PauseInStopping
-	iStateChanges [EPauseInStopping][EResumeCommand] = EStopping;
-	iStateChanges [EPauseInStopping][EStopCommand] = EStop;
-
-	// valid state changes frm StopInInputEnd
-	iStateChanges [EStopInInputEnd][EStartCommand] = EStopping;
-	iStateChanges [EStopInInputEnd][EStopCommand] = EStop;
-	}
-
-/*
-*******************************************************************************
-* Name            : NewL
-* Description     : Constructor 
-* Parameters	  : None
-* Return Value	  : None
-* Assumptions     : None
-* Known Issues    : None
-******************************************************************************
-*/
-EXPORT_C CStateMachine* CStateMachine::NewL()
-{
-	CStateMachine* self = new (ELeave) CStateMachine();
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop();
-	return(self);
-}
-
-/*
-*******************************************************************************
-* Name            : ConstructL
-* Description     : Symbian 2nd Phase Constrcutor. 
-* Known Issues    : None
-******************************************************************************
-*/
-void CStateMachine::ConstructL()
-	{
-	}
-
-/*
-*******************************************************************************
-* Name            : CStateMachine::IsTransitionValid
-* Description     : Checks whether transition to new state is possible or not
-* Parameters	  : "aCommand"	"Command for the transition"
-* Return Value	  : Return ETrue if transition is valid, else EFalse
-* Assumptions     : None
-* Known Issues    : None
-******************************************************************************
-*/
-EXPORT_C TBool CStateMachine::IsTransitionValid (TCommand aCommand)
-{
-
-	if(iStateChanges[iState][aCommand] != EInvalidState)
-		{
-		return(ETrue);
-		}
-	else
-		{
-		return(EFalse);
-		}
-}
-
-/*
-*******************************************************************************
-* Name            : CStateMachine::Transit
-* Description     : Transits to new state. If transition cann't be done, object will
-					remain in the previous state.
-* Parameters	  : "aCommand"	"Command for the transition"
-* Return Value	  : Return KErrNone if transition happens else error
-* Assumptions     : None
-* Known Issues    : None
-******************************************************************************
-*/
-EXPORT_C TInt CStateMachine::Transit (TCommand aCommand)
-{
-	if (!IsTransitionValid (aCommand))
-	{
-		return KErrGeneral;
-	}
-	iState = iStateChanges[iState][aCommand];
-	return KErrNone;
-}
-
-/*
-*******************************************************************************
-* Name            : CStateMachine::IsInitialized
-* Description     : Tells whether the state is initialized or not. Here 
-*					initilized means if the state is in any state other than
-*					EUnInitialized
-* Parameters	  : None
-* Return Value	  : Return ETrue, if state is initialized else EFalse
-* Assumptions     : None
-* Known Issues    : None
-******************************************************************************
-*/
-EXPORT_C TBool CStateMachine::IsInitialized (void)
-{
-	if (iState	!=	EUnInitialized)
-	{
-		return ETrue;
-	} 
-	else
-	{
-		return EFalse;
-	}
-}
-
-/*
-*******************************************************************************
-* Name            : CStateMachine::IsInputEndPending
-* Description     : Tells whether the state is in any one of the input ending 
-*					states i.e
-*					EInitializedInStopping,
-*					EStopping,
-*					EPauseInStopping,
-*					EStopInInputEnd
-* Parameters	  : None
-* Return Value	  : Return ETrue, if state is in any of the input end state else
-*					EFalse
-* Assumptions     : None
-* Known Issues    : None
-******************************************************************************
-*/
-EXPORT_C TBool CStateMachine::IsInputEndPending (void)
-{
-	if (iState == EInitializedInStopping ||
-		iState == EStopping ||
-		iState == EPauseInStopping ||
-		iState == EStopInInputEnd)
-	{
-		return ETrue;
-	}
-	else
-	{
-		return EFalse;
-	}
-}
-
-
-/*
-*******************************************************************************
-* Name            : CStateMachine::IsStarted
-* Description     : Tells whether state is in EStart state
-* Parameters	  : None
-* Return Value	  : Return ETrue if state is EStart, elase EFalse
-* Assumptions     : None
-* Known Issues    : None
-******************************************************************************
-*/
-EXPORT_C TBool CStateMachine::IsStarted (void)
-{
-	if (iState == EStart)
-	{
-		return ETrue;
-	}
-	else
-	{
-		return EFalse;
-	}
-}
-
-/*
-*******************************************************************************
-* Name            : CStateMachine::IsPlaying
-* Description     : Tells whether state is in EStart|EStopping|EPause|PauseInStopping
-* Parameters	  : None
-* Return Value	  : Return ETrue if state is in EStart|EStopping|EPause|PauseInStopping
-					, elase EFalse
-* Assumptions     : None
-* Known Issues    : None
-******************************************************************************
-*/
-EXPORT_C TBool CStateMachine::IsPlaying (void)
-{
-	//if (iState == EStart || iState == EStopping || iState == EPause || 
-	//		iState == EPauseInStopping)
-	if (iState == EStart || iState == EStopping)
-	{
-		return ETrue;
-	}
-	else
-	{
-		return EFalse;
-	}
-}
-
-
-/*
-*******************************************************************************
-* Name            : CStateMachine::IsPaused 
-* Description     : Tells whether stae is in EPause state
-* Parameters	  : None
-* Return Value	  : Return ETrue if state is EPause, elase EFalse
-* Assumptions     : None
-* Known Issues    : None
-******************************************************************************
-*/
-EXPORT_C TBool CStateMachine::IsPaused (void)
-{
-	if ((iState == EPause) || (iState == EPauseInStopping))
-	{
-		return ETrue;
-	}
-	else
-	{
-		return EFalse;
-	}
-}
-
-
-/*
-*******************************************************************************
-* Name            : CStateMachine::IsStopped 
-* Description     : Tells whether stae is in EStop state
-* Parameters	  : None
-* Return Value	  : Return ETrue if state is EStop, elase EFalse
-* Assumptions     : None
-* Known Issues    : None
-******************************************************************************
-*/
-EXPORT_C TBool CStateMachine::IsStopped (void)
-{
-	if (iState == EStop)
-	{
-		return ETrue;
-	}
-	else
-	{
-		return EFalse;
-	}
-}
-
-/*
-*******************************************************************************
-* Name            : CStateMachine::IfIsStateInInitailize 
-* Description     : Tells whether stae is in EInitailize or not 
-* Parameters	  : None
-* Return Value	  : Return ETrue if state is EInitailize, else EFalse
-* Assumptions     : None
-* Known Issues    : None
-******************************************************************************
-*/
-EXPORT_C TBool CStateMachine::IfIsStateInInitailize(void)
-{
-	if (iState == EInitialized)
-	{
-		return ETrue;
-	}
-	else
-	{
-		return EFalse;
-	}
-}
-/*
-*******************************************************************************
-* Name            : Reset
-* Description     : Resets the state machine to EUnInitialized state. 
-* Parameters	  : None
-* Return Value	  : None
-* Assumptions     : None
-* Known Issues    : None
-******************************************************************************
-*/
-EXPORT_C void CStateMachine::Reset(void)
-{
-	iState	=	EUnInitialized;
-}
-
-
--- a/video/ARM_MDF_Decoders/Utilities/group/bld.inf	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-// BLD.INF
-/*
-* Copyright (c) 2007 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:  
-*
-*/
-
-PRJ_PLATFORMS
-WINSCW ARMV5
-
-
-PRJ_MMPFILES
-
-// Buffer Processor related
-#include "../BufferProcessor/group/bld.inf"
-
-// State Machine related
-#include "../StateMachine/group/bld.inf"
-
-//-----------------------------------------------------------------------------
-//  End of BLD.INF
-//-----------------------------------------------------------------------------
--- a/video/group/bld.inf	Wed Jun 23 19:56:04 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-
-* Copyright (c) 2006 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: Project Specification for video project.
-
-*
-
-*/
-
-
-
-
-
-PRJ_PLATFORMS
-
-DEFAULT
-
-
-
-PRJ_EXPORTS
-
-
-
-PRJ_MMPFILES
-
-
-
-
-
-//  End of File  
-
-
-