vtprotocolplugins/VideoSource/src/CVSStillImageDataProvider.cpp
changeset 18 d9b6a8729acd
parent 4 6dc066157ed4
child 23 c378a0498b84
child 27 dcbddbbaf8fd
--- a/vtprotocolplugins/VideoSource/src/CVSStillImageDataProvider.cpp	Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1190 +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:  Video Source subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <e32svr.h>
-#include <bautils.h>
-#include <imageconversion.h>
-#include <cvtimageconverter.h>
-#include <RPhCltServer.h>
-#include <cphcltimagehandler.h>
-#include <w32std.h>
-
-#include "CVSStillImageDataProvider.h"
-#include "CVSDataSourceImp.h"
-#include "VSPanic.h"
-#include "cvtimagebitmap.h"
-#include "CVSMMFDataBuffer.h"
-
-#include "cmultiframeprovider.h"
-
-// EXTERNAL FUNCTION PROTOTYPES
-
-// MACROS
-
-#ifdef _DEBUG
-#    define __IF_DEBUG(t) {RDebug::t;}
-#else
-#    define __IF_DEBUG(t)
-#endif
-
-// LOCAL CONSTANTS AND MACROS
-
-static const TInt KMinZoom = 0;
-static const TInt KMaxZoom = 0;
-static const TInt KMaxDigitalZoom = 0;
-static const TReal32 KMinZoomFactor = 0.0;
-static const TReal32 KMaxZoomFactor = 0.0;
-static const TReal32 KMaxDigitalZoomFactor = 1.0;
-static const TInt KNumVideoSizesSupported = 1;
-static const TInt KNumVideoFrameSizesSupported = 1;
-static const TInt KNumVideoFrameRatesSupported = 1;
-static const TInt KMaxFramesPerBufferSupported = 1;
-static const TInt KQcifWidth = 176;
-static const TInt KQcifHeight = 144;
-static const TReal32 KFrameRate = 15.0;
-static const TUint32 KVSViewFinderUpdateRate = 1000000/15; // 15 times per second
-
-// TYPE DEFINITIONS
-
-// Timer expired callback
-
-typedef void (CVSStillImageDataProvider::*TTimerElapsed) ();
-
-// INTERNAL CLASSES
-
-/**
-*  Timer class that calls given callback method when timer request has been
-*  completed. If the timer request is cancelled then callback will not be
-*  called.
-*
-*  @lib videosource.lib
-*/
-class CVSFrameRateTimer : public CTimer
-    {
-    public: // Constructors and destructor
-
-        /**
-        * Static factory function to create instance of this class.
-        * @param "aRequester" ?description
-        * @exception Can leave with one of the system wide error codes.
-        * @return Pointer to new instance.
-        */
-        static CVSFrameRateTimer* NewL( CVSStillImageDataProvider* aRequester );
-
-    public: // New functions
-
-    public: // Functions from base classes
-
-        /**
-        * Starts timer request. When timer request has been completed given
-        * callback method will be called.
-        * @param "anInterval" Interval after which event is to occur,
-        * in microseconds.
-        * @param "aFunction" Callback method that will be called when timer
-        * request has been completed.
-        */
-        void After(
-            TTimeIntervalMicroSeconds32 anInterval,
-            TTimerElapsed aFunction  );
-
-    public: // Constructors and destructor
-
-        /**
-        * Destructor.
-        */
-        ~CVSFrameRateTimer();
-
-    protected:  // New functions
-
-    protected:  // Functions from base classes
-
-    private:    // Constructors and destrcutor
-
-        /**
-        * Constructor.
-        * @param "aRequester" ?description
-        */
-        CVSFrameRateTimer( CVSStillImageDataProvider* aRequester );
-
-    private:    // New functions
-
-    private:    // Functions from base classes
-
-        /**
-        * From CActive. See CActive for description.
-        */
-        void RunL();
-
-    public: // Data
-
-    protected:  // Data
-
-    private:    // Data
-
-        // Pointer to requester (i.e. through which callback call will be made)
-        CVSStillImageDataProvider* iRequester; // not owned
-
-        // Pointer to callback method.
-        TTimerElapsed iFunction;
-    };
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ============================ CVSFrameRateTimer ==============================
-
-// -----------------------------------------------------------------------------
-// CVSFrameRateTimer::NewL( CVSStillImageDataProvider* aRequester )
-// -----------------------------------------------------------------------------
-//
-CVSFrameRateTimer* CVSFrameRateTimer::NewL(
-    CVSStillImageDataProvider* aRequester )
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSFrameRateTimer::NewL() >>"), RThread().Id().operator TUint()));
-    CVSFrameRateTimer* self = new (ELeave) CVSFrameRateTimer( aRequester );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop(); // self
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSFrameRateTimer::NewL() <<"), RThread().Id().operator TUint()));
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CVSFrameRateTimer::CVSFrameRateTimer( CVSStillImageDataProvider* aRequester )
-// -----------------------------------------------------------------------------
-//
-CVSFrameRateTimer::CVSFrameRateTimer( CVSStillImageDataProvider* aRequester )
-: CTimer( EPriorityStandard ), iRequester( aRequester )
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSFrameRateTimer::CVSFrameRateTimer() >>"), RThread().Id().operator TUint()));
-    // Added to CActiveScheduler in CVSStillImageDataProvider::InitializeL
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSFrameRateTimer::CVSFrameRateTimer() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSFrameRateTimer::After(
-//  TTimeIntervalMicroSeconds32 anInterval, TTimerElapsed aFunction )
-// -----------------------------------------------------------------------------
-//
-void CVSFrameRateTimer::After(
-    TTimeIntervalMicroSeconds32 anInterval,
-    TTimerElapsed aFunction )
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSFrameRateTimer::After() >>"), RThread().Id().operator TUint()));
-    if ( iFunction == aFunction )
-    	{
-    	if ( !IsActive() )
-    		{
-      	iFunction = aFunction;
-    		CTimer::After( anInterval );
-    		}
-    	}
-    else
-    	{
-    	if ( !IsActive() )
-    		{
-      	iFunction = aFunction;
-    		CTimer::After( anInterval );
-    		}
-    	else
-    		{
-    			User::Panic(_L("VideoSource"),KErrGeneral);
-    		}
-    	}
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSFrameRateTimer::After() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSFrameRateTimer::~CVSFrameRateTimer()
-// -----------------------------------------------------------------------------
-//
-CVSFrameRateTimer::~CVSFrameRateTimer()
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSFrameRateTimer::~CVSFrameRateTimer() >>"), RThread().Id().operator TUint()));
-    Cancel();
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSFrameRateTimer::~CVSFrameRateTimer() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSFrameRateTimer::RunL()
-// -----------------------------------------------------------------------------
-//
-void CVSFrameRateTimer::RunL()
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSFrameRateTimer::RunL() >>"), RThread().Id().operator TUint()));
-    if( iStatus.Int() == KErrNone )
-        {
-        (iRequester->*iFunction)();
-        }
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSFrameRateTimer::RunL() <<"), RThread().Id().operator TUint()));
-    }
-
-// ============================ CVSStillImageDataProvider ===============================
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::NewL(
-//  MVSDataProviderObserver* aObserver, MVSBufferPool* aPool )
-// -----------------------------------------------------------------------------
-//
-CVSStillImageDataProvider* CVSStillImageDataProvider::NewL(
-    MVSDataProviderObserver* aObserver,
-    MVSBufferPool* aPool )
-    {
-    __IF_DEBUG(Print(_L("VideoSource: [%d] CVSStillImageDataProvider::NewL() >>"), RThread().Id().operator TUint()));
-    CVSStillImageDataProvider* self =
-    new (ELeave) CVSStillImageDataProvider( aObserver, aPool );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    __IF_DEBUG(Print(_L("VideoSource: [%d] CVSStillImageDataProvider::NewL() <<"), RThread().Id().operator TUint()));
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::~CVSStillImageDataProvider()
-// -----------------------------------------------------------------------------
-//
-CVSStillImageDataProvider::~CVSStillImageDataProvider()
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::~CVSStillImageDataProvider() this %x >>"), RThread().Id().operator TUint(), this));
-    iFs.Close();
-    delete iVFTimer;
-    delete iActiveWait;
-    delete iViewer;
-    iFreezeCS.Close();
-    delete iScaled;
-    ReleaseYUVData();
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::~CVSStillImageDataProvider() this %x <<"), RThread().Id().operator TUint(), this));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::InitializeL( const TDesC8& aInitParams )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::InitializeL( const TDesC8& aInitParams )
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::InitializeL() >>"), RThread().Id().operator TUint()));
-
-    CommonInitializeL();
-
-    TPckgBuf< TVSStillImageDataProviderParams > pb;
-    pb.Copy( aInitParams );
-
-    iInitType = pb().iInitialize;
-    iPSState = EPSInitializing;
-
-    switch( pb().iInitialize )
-        {
-        /** Initialize from blank image */
-        case TVSStillImageDataProviderParams::EInitializeAsBlankImage:
-            BlankImageInitializeL();
-            break;
-
-        /** Initialize from General Settings */
-        case TVSStillImageDataProviderParams::EInitializeFromGeneralSettings:
-            GeneralSettingsInitializeL( EGSStillImage );
-            break;
-
-        /** Initilaize from General Settings*/
-        case TVSStillImageDataProviderParams::EInitializeAsDefaultStillImage:
-            GeneralSettingsInitializeL( EGSDefaultStillImage );
-            break;
-
-        /** Initialize from file */
-        case TVSStillImageDataProviderParams::EInitializeFromFile:
-            FileImageInitializeL( pb().iFileName );
-            break;
-        }
-
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::InitializeL() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::CommonInitializeL()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::CommonInitializeL()
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::CommonInitializeL() >>"), RThread().Id().operator TUint()));
-    iVFTimer = CVSFrameRateTimer::NewL( this );
-    CActiveScheduler::Add( iVFTimer );
-    iActiveWait = new (ELeave) CVSActiveWait< CVSStillImageDataProvider > ( this );
-
-    //Create viewer
-    iViewer = CMultiframeProvider::NewL( this , iDisplayMode );
-    User::LeaveIfError( iFreezeCS.CreateLocal() );
-
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::CommonInitializeL() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::GeneralSettingsInitializeL()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::GeneralSettingsInitializeL( const TGeneralSettingsImageType aType )
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::GeneralSettingsInitializeL() >>"), RThread().Id().operator TUint()));
-		iViewer->IniatializeGSL( aType );
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::GeneralSettingsInitializeL() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::BlankImageInitializeL()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::BlankImageInitializeL()
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::BlankImageInitializeL() %x >>"), RThread().Id().operator TUint(), this));
-		iViewer->IniatializeBlankL();
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::BlankImageInitializeL() %x <<"), RThread().Id().operator TUint(), this));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::FileImageInitializeL
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::FileImageInitializeL( const TFileName& aFileName )
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::FileImageInitializeL(): %S >>"), RThread().Id().operator TUint(), &aFileName ));
-		iViewer->InitializeL( &aFileName );
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::FileImageInitializeL() %x <<"), RThread().Id().operator TUint(), this));
-    }
-
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::DigitalZoomFactor() const
-// -----------------------------------------------------------------------------
-//
-TInt CVSStillImageDataProvider::DigitalZoomFactor() const
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::DigitalZoomFactor() >>"), RThread().Id().operator TUint()));
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::DigitalZoomFactor() <<"), RThread().Id().operator TUint()));
-    return KMaxDigitalZoom;
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SetDigitalZoomFactorL(
-//  TInt /*aDigitalZoomFactor*/ )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SetDigitalZoomFactorL(
-    TInt /*aDigitalZoomFactor*/ )
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SetDigitalZoomFactorL() >>"), RThread().Id().operator TUint()));
-    User::Leave( KErrNotSupported );
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SetDigitalZoomFactorL() <<"), RThread().Id().operator TUint()));
-    }
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::StartViewFinderBitmapsL( TSize& aSize )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::StartViewFinderBitmapsL( TSize& aSize )
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::StartViewFinderBitmapsL() >>"), RThread().Id().operator TUint()));
-    __ASSERT_DEBUG( iPSState > EPSUninitialized,
-        Panic( EVSPanicProviderNotReady ) );
-    iVFState = EVFPlaying;
-    iViewer->ClearVFScalingTargetSize();
-    iTargetSize = aSize;
-    iViewer->SetVFScalingTargetSize( aSize );
-    iViewer->ScaleCopy( aSize, ETrue );
-    iViewer->IncreaseDataConsumer();
-    iViewer->NextFrame();
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::StartViewFinderBitmapsL() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::StartViewFinderBitmapsL(
-//  TSize& /*aSize*/, TRect& /*aClipRect*/ )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::StartViewFinderBitmapsL(
-    TSize& /*aSize*/,
-    TRect& /*aClipRect*/ )
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::StartViewFinderBitmapsL() >>"), RThread().Id().operator TUint()));
-    User::Leave( KErrNotSupported );
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::StartViewFinderBitmapsL() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::StopViewFinder()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::StopViewFinder()
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::StopViewFinder() >>"), RThread().Id().operator TUint()));
-    // Make sure scaler is cancelled (just in case!)
-    iViewer->ClearVFScalingTargetSize();
-    iViewer->DecreaseDataConsumer();
-    iViewer->SetVFStop();
-    // No double stopping..
-    if( iVFState != EVFStopped )
-        {
-        iVFState = EVFStopped;
-        iVFTimer->Cancel();
-        }
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::StopViewFinder() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::ViewFinderActive() const
-// -----------------------------------------------------------------------------
-//
-TBool CVSStillImageDataProvider::ViewFinderActive() const
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::ViewFinderActive() >>"), RThread().Id().operator TUint()));
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::ViewFinderActive() <<"), RThread().Id().operator TUint()));
-    return ( iVFState == EVFPlaying );
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::StartViewFinderDirectL(
-//  RWsSession& /*aWs*/, CWsScreenDevice& /*aScreenDevice*/,
-//  RWindowBase& /*aWindow*/, TRect& /*aScreenRect*/ )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::StartViewFinderDirectL(
-    RWsSession& /*aWs*/,
-    CWsScreenDevice& /*aScreenDevice*/,
-    RWindowBase& /*aWindow*/,
-    TRect& /*aScreenRect*/ )
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::StartViewFinderDirectL() >>"), RThread().Id().operator TUint()));
-    User::Leave(KErrNotSupported);
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::StartViewFinderDirectL() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::StartViewFinderDirectL(
-//  RWsSession& /*aWs*/, CWsScreenDevice& /*aScreenDevice*/,
-//  RWindowBase& /*aWindow*/, TRect& /*aScreenRect*/, TRect& /*aClipRect*/ )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::StartViewFinderDirectL(
-    RWsSession& /*aWs*/,
-    CWsScreenDevice& /*aScreenDevice*/,
-    RWindowBase& /*aWindow*/,
-    TRect& /*aScreenRect*/,
-    TRect& /*aClipRect*/ )
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::StartViewFinderDirectL() >>"), RThread().Id().operator TUint()));
-    User::Leave(KErrNotSupported);
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::StartViewFinderDirectL() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::ProviderInfo( TVSDataProviderInfo& aInfo )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::ProviderInfo( TVSDataProviderInfo& aInfo )
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::ProviderInfo() >>"), RThread().Id().operator TUint()));
-    Mem::FillZ( &aInfo, sizeof( aInfo ) );
-    aInfo.iHardwareVersion = TVersion( 0, 0, 0 );
-    aInfo.iSoftwareVersion = TVersion( 0, 0, 0 );
-    aInfo.iOrientation = TCameraInfo::EOrientationUnknown;
-    aInfo.iOptionsSupported = TCameraInfo::EViewFinderBitmapsSupported    |
-                              TCameraInfo::EVideoCaptureSupported;
-    aInfo.iFlashModesSupported = CCamera::EFlashNone;
-    aInfo.iExposureModesSupported = CCamera::EExposureAuto;
-    aInfo.iWhiteBalanceModesSupported = CCamera::EWBAuto;
-    aInfo.iMinZoom = KMinZoom;
-    aInfo.iMaxZoom = KMaxZoom;
-    aInfo.iMaxDigitalZoom = KMaxDigitalZoom;
-    aInfo.iMinZoomFactor = KMinZoomFactor;
-    aInfo.iMaxZoomFactor = KMaxZoomFactor;
-    aInfo.iMaxDigitalZoomFactor = KMaxDigitalZoomFactor;
-    aInfo.iImageFormatsSupported = CCamera::EFormatFbsBitmapColor64K |
-                                   CCamera::EFormatFbsBitmapColor16M;
-    aInfo.iNumVideoFrameSizesSupported = KNumVideoSizesSupported;
-    aInfo.iNumVideoFrameSizesSupported = KNumVideoFrameSizesSupported;
-    aInfo.iNumVideoFrameRatesSupported = KNumVideoFrameRatesSupported;
-    aInfo.iVideoFrameFormatsSupported = CCamera::EFormatYUV420Planar;
-    aInfo.iMaxFramesPerBufferSupported = KMaxFramesPerBufferSupported;
-    aInfo.iFreezeSupported = EFalse;
-
-    aInfo.iSupportedColorTones =
-        CCamera::CCameraImageProcessing::EEffectNone;
-
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::ProviderInfo() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SetViewFinderMirrorL
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SetViewFinderMirrorL( TBool /*aMirror*/ )
-    {
-    User::Leave( KErrNotSupported );
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::ViewFinderMirror
-// -----------------------------------------------------------------------------
-//
-TBool CVSStillImageDataProvider::ViewFinderMirror() const
-    {
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::FreezeL
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::FreezeL()
-    {
-    User::Leave( KErrNotSupported );
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::UnfreezeL
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::UnfreezeL()
-    {
-    User::Leave( KErrNotSupported );
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::IsFrozen
-// -----------------------------------------------------------------------------
-//
-TBool CVSStillImageDataProvider::IsFrozen() const
-    {
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::PrimeL
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::PrimeL()
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::PrimeL() &%x >>"), RThread().Id().operator TUint(), this));
-    SourcePrimeL();
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::PrimeL() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::FillBufferL(
-//  CMMFBuffer* aBuffer, MVTVideoSink* aConsumer, TMediaId aMediaId )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::FillBufferL(
-    CMMFBuffer* /*aBuffer*/,
-    MVTVideoSink* /*aConsumer*/,
-    TMediaId /*aMediaId*/ )
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::FillBufferL() &%x >>"), RThread().Id().operator TUint(),this));
-    if ( iPSState != EPSPlaying )
-        {
-        User::Leave( KErrNotReady );
-        }
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::FillBufferL() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::BufferEmptiedL( CMMFBuffer* /*aBuffer*/ )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::BufferEmptiedL( CMMFBuffer* /*aBuffer*/ )
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::BufferEmptiedL() >>"), RThread().Id().operator TUint()));
-    User::Leave( KErrNotSupported );
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::BufferEmptiedL() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SourceThreadLogon(
-//  MAsyncEventHandler& /*aEventHandler*/ )
-// -----------------------------------------------------------------------------
-//
-TInt CVSStillImageDataProvider::SourceThreadLogon(
-    MAsyncEventHandler& /*aEventHandler*/ )
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourceThreadLogon() &%x >>"), RThread().Id().operator TUint(),this));
-    __ASSERT_DEBUG( iPSState > EPSUninitialized,
-        Panic( EVSPanicProviderNotReady ) );
-    TRAPD( err, CreateProtoTimerL() );
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourceThreadLogon() <<"), RThread().Id().operator TUint()));
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SourceThreadLogoff()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SourceThreadLogoff()
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourceThreadLogoff() &%x >>"), RThread().Id().operator TUint(),this));
-    ReleaseProtoTimer();
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourceThreadLogoff() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SourcePrimeL()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SourcePrimeL()
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourcePrimeL() &%x >>"), RThread().Id().operator TUint(),this));
-    iPSState = EPSPrimed;
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourcePrimeL() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SourcePlayL()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SourcePlayL()
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourcePlayL() &%x  >>"), RThread().Id().operator TUint(),this));
-    iPSState = EPSPlaying;
-    iFrameCount = 0;
-    ResetStartTime();
-    iViewer->IncreaseDataConsumer();
-    iProtoTimer->After( iProtoUpdateRate, &CVSStillImageDataProvider::ProtoTimer );
-    iViewer->NextFrame();
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourcePlayL() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SourcePauseL()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SourcePauseL()
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourcePauseL() &%x >>"), RThread().Id().operator TUint(),this));
-    if ( iProtoTimer != NULL )
-    	{
-    	iProtoTimer->Cancel();
-    	}
-    iPSState = EPSPrimed;
-    iViewer->DecreaseDataConsumer();
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourcePauseL() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SourceStopL()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SourceStopL()
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourceStopL() &%x >>"), RThread().Id().operator TUint(),this));
-    if ( iProtoTimer != NULL )
-    	{
-    	iProtoTimer->Cancel();
-    	}
-    iPSState = EPSStopped;
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SourceStopL() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SetFormatL( const TDesC8& aFormat )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SetFormatL( const TDesC8& aFormat )
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::SetFormatL() &%x >>"), RThread().Id().operator TUint(),this));
-    if ( aFormat != KVtVideoMIMETypeYUV420 )
-        {
-        User::Leave( KErrNotSupported );
-        }
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::SetFormatL() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SetFrameRateL( TReal32 aFrameRate )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SetFrameRateL( TReal32 aFrameRate )
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::SetFrameRateL() &%x >>"), RThread().Id().operator TUint(),this));
-    if ( aFrameRate != KFrameRate )
-        {
-        User::Leave( KErrNotSupported );
-        }
-    iProtoUpdateRate = static_cast<TInt>( 1000000.0 / aFrameRate );
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::SetFrameRateL() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SetVideoFrameSizeL( const TSize& aSize )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SetVideoFrameSizeL( const TSize& aSize )
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::SetVideoFrameSizeL() &%x >>"), RThread().Id().operator TUint(),this));
-    if( aSize != TSize( KQcifWidth, KQcifHeight ) )
-        {
-        User::Leave( KErrNotSupported );
-        }
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::SetVideoFrameSizeL() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::GetVideoFrameSizeL( TSize& aSize ) const
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::GetVideoFrameSizeL( TSize& aSize ) const
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::GetVideoFrameSizeL() &%x >>"), RThread().Id().operator TUint(),this));
-    aSize = TSize( KQcifWidth, KQcifHeight );
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::GetVideoFrameSizeL() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::VFTimer()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::VFTimer()
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::VFTimer() >>"), RThread().Id().operator TUint()));
-    if( iVFState == EVFPlaying )
-        {
-        Observer().vsViewFinderFrameReady( iVFBitmap->Bitmap() );
-        iVFTimer->After( KVSViewFinderUpdateRate, &CVSStillImageDataProvider::VFTimer );
-        }
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::VFTimer() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::ProtoTimer()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::ProtoTimer()
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::ProtoTimer() this %x >>"), RThread().Id().operator TUint(), this));
-    iFrameCount++;
-    CVSMMFDataBuffer* buffer = NULL;
-    TRAPD( err, buffer = BufferPool().GetBufferL( ETrue ) );
-    if ( err != KErrNone )
-        {
-        NotifyError( err );
-        }
-    if( buffer )
-        {
-        buffer->SetFrameNumber( iFrameCount );
-        __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::ProtoTimer(): iFrameCount %d"), RThread().Id().operator TUint(), iFrameCount));
-        buffer->SetTimeToPlay( TimeToPlay() );
-        __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::ProtoTimer(): SetTimeToPlay() = $%08x:$%08x"), RThread().Id().operator TUint(), I64HIGH( buffer->TimeToPlay().Int64() ), I64LOW( buffer->TimeToPlay().Int64() ) ));
-       iFreezeCS.Wait();
-       buffer->Data() = *iYUVBuffer;
-       iFreezeCS.Signal();
-       TRAPD( err, Consumer()->BufferFilledL( buffer ) );
-       if( err != KErrNone )
-          {
-          TInt leaveCode = KErrNone;
-          TRAP( leaveCode, BufferPool().FreeBufferL( buffer ) );
-          NotifyError( err );
-          }
-       }
-    else
-        {
-        __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::ProtoTimer(): GetBufferL() returned NULL"), RThread().Id().operator TUint()));
-        }
-    // Just to make sure that we're actually playing. We also check that
-    // iProtoTimer still exists BECAUSE BufferFilledL() may call
-    // SourceThreadLogoff() if a switch is pending
-    if( iProtoTimer && ( iPSState == EPSPlaying ) )
-        {
-        iProtoTimer->After( iProtoUpdateRate, &ProtoTimer );
-        }
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::ProtoTimer() this %x <<"), RThread().Id().operator TUint(), this));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::CreateProtoTimerL()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::CreateProtoTimerL()
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::CreateProtoTimerL() >>"), RThread().Id().operator TUint()));
-    iProtoTimer = CVSFrameRateTimer::NewL( this );
-    CActiveScheduler::Add( iProtoTimer );
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::CreateProtoTimerL() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::ReleaseProtoTimer()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::ReleaseProtoTimer()
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::ReleaseProtoTimer() >>"), RThread().Id().operator TUint()));
-    delete iProtoTimer;
-    iProtoTimer = 0;
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::ReleaseProtoTimer() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::CreateYUVDataL()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::CreateYUVDataL()
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::CreateYUVDataL() this %x >>"), RThread().Id().operator TUint(), this));
-    CVSFbsBitmapIYUVConverter* conv =
-    CVSFbsBitmapIYUVConverter::NewL( iYUVBitMap->Bitmap() );
-    CleanupStack::PushL( conv );
-    conv->ProcessL();
-    iFreezeCS.Wait();
-    ReleaseYUVData();
-    iYUVBuffer = conv->YUVData().AllocL();
-    iFreezeCS.Signal();
-    CleanupStack::PopAndDestroy(); //  conv
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::CreateYUVDataL() iYUVBuffer %x <<"), RThread().Id().operator TUint(), iYUVBuffer));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::ReleaseYUVData()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::ReleaseYUVData()
-    {
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::ReleaseYUVData() >>"), RThread().Id().operator TUint()));
-    delete iYUVBuffer;
-    iYUVBuffer = 0;
-    __IF_DEBUG(Print(_L("VideoSource[%d]: CVSStillImageDataProvider::ReleaseYUVData() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::CVSStillImageDataProvider(
-//  MVSDataProviderObserver* aObserver )
-// -----------------------------------------------------------------------------
-//
-CVSStillImageDataProvider::CVSStillImageDataProvider(
-    MVSDataProviderObserver* aObserver,
-    MVSBufferPool* aPool ) :
-        CVSDataProvider( aObserver, aPool ), iProtoUpdateRate( 1000000.0 / KFrameRate )
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::CVSStillImageDataProvider() >>"), RThread().Id().operator TUint()));
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::CVSStillImageDataProvider() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::ConstructL()
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::ConstructL()
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::ConstructL() this %x >>"), RThread().Id().operator TUint(), this));
-    CVSDataProvider::ConstructL();
-    User::LeaveIfError( iFs.Connect() );
-    RWsSession wsSession;
-    User::LeaveIfError( wsSession.Connect() );
-    CleanupClosePushL( wsSession );
-    CWsScreenDevice* wsScreenDevice = new ( ELeave ) CWsScreenDevice( wsSession );
-    CleanupStack::PushL( wsScreenDevice );
-    User::LeaveIfError( wsScreenDevice->Construct() );
-    iDisplayMode = wsScreenDevice->DisplayMode();/* = EColor16MU;*/
-    CleanupStack::PopAndDestroy( 2 ); // wsSession, wsScreenDevice
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::ConstructL() this %x <<"), RThread().Id().operator TUint(), this));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::GetVideoFrameSize(
-//  TSize& aSize, TInt /*aSizeIndex*/, const TDesC8& aFormat )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::GetVideoFrameSize(
-    TSize& aSize,
-    TInt /*aSizeIndex*/,
-    const TDesC8& aFormat )
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::GetVideoFrameSize() >>"), RThread().Id().operator TUint()));
-    if ( aFormat == KVtVideoMIMETypeYUV420 )
-        {
-        aSize.SetSize( KQcifWidth, KQcifHeight );
-        }
-    else
-        {
-        aSize.SetSize( 0, 0 );
-        }
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::GetVideoFrameSize() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::GetVideoFrameRate(
-//  TReal32& aRate, TInt /*aRateIndex*/, const TDesC8& aFormat,
-//  const TSize& aSize )
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::GetVideoFrameRate(
-    TReal32& aRate,
-    TInt /*aRateIndex*/,
-    const TDesC8& aFormat,
-    const TSize& aSize )
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::GetVideoFrameRate() >>"), RThread().Id().operator TUint()));
-    if ( aFormat == KVtVideoMIMETypeYUV420 &&
-        aSize == TSize( KQcifWidth, KQcifHeight ) )
-        {
-        aRate = KFrameRate;
-        }
-    else
-        {
-        aRate = 0.0;
-        }
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::GetVideoFrameRate() <<"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::DisplayMode
-// -----------------------------------------------------------------------------
-//
-TDisplayMode CVSStillImageDataProvider::DisplayMode() const
-	{
-#ifdef _DEBUG
-    TUint threadId( RThread().Id() );
-    switch( iDisplayMode )
-        {
-        case EColor4K:
-            RDebug::Print( _L( "VideoSource [%d]: DisplayMode() = EColor4K" ), threadId );
-            break;
-        case EColor64K:
-            RDebug::Print( _L( "VideoSource [%d]: DisplayMode() = EColor64K" ), threadId );
-            break;
-        case EColor16M:
-            RDebug::Print( _L( "VideoSource [%d]: DisplayMode() = EColor16M" ), threadId );
-            break;
-        case EColor16MU:
-            RDebug::Print( _L( "VideoSource [%d]: DisplayMode() = EColor16MU" ), threadId );
-            break;
-        default:
-            RDebug::Print( _L( "VideoSource [%d]: DisplayMode() = %d" ), threadId, iDisplayMode );
-            break;
-        }
-#endif // _DEBUG
-    return iDisplayMode;
-	}
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SetContrastL
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SetContrastL(TInt /*aContrast*/)
-	{
-	__IF_DEBUG(Print(_L("VideoSource [%d]:CVSStillImageDataProvider::SetContrastL() LEAVE"), RThread().Id().operator TUint()));
-	User::Leave( KErrNotSupported );
-	}
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::GetContrast
-// -----------------------------------------------------------------------------
-//
-TInt CVSStillImageDataProvider::GetContrast(TInt& /*aContrast*/) const
-	{
-	return KErrNotSupported;
-	}
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SetBrightnessL
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SetBrightnessL(TInt /*aBrightness*/)
-	{
-	__IF_DEBUG(Print(_L("VideoSource [%d]:CVSStillImageDataProvider::SetBrightnessL() LEAVE"), RThread().Id().operator TUint()));
-	User::Leave( KErrNotSupported );
-	}
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::GetBrightness
-// -----------------------------------------------------------------------------
-//
-TInt CVSStillImageDataProvider::GetBrightness(TInt& /*aBrightness*/ ) const
-	{
-	return KErrNotSupported;
-	}
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SetWhiteBalanceL
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SetWhiteBalanceL( CCamera::TWhiteBalance /*aWhiteBalance*/ )
-	{
-	__IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SetWhiteBalanceL() LEAVE"), RThread().Id().operator TUint()));
-	User::Leave( KErrNotSupported );
-	}
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::GetWhiteBalance
-// -----------------------------------------------------------------------------
-//
- TInt CVSStillImageDataProvider::GetWhiteBalance(CCamera::TWhiteBalance& /*aWhiteBalance*/) const
-	{
-	return KErrNotSupported;
-	}
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::SetColorToneL
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::SetColorToneL( CCamera::CCameraImageProcessing::TEffect /*aValue*/ )
-	{
-	__IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::SetColorToneL() LEAVE"), RThread().Id().operator TUint()));
-	User::Leave( KErrNotSupported );
-	}
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::GetColorTone
-// -----------------------------------------------------------------------------
-//
-TInt CVSStillImageDataProvider::GetColorTone( CCamera::CCameraImageProcessing::TEffect& /*aColorTone*/ ) const
-	{
-	return KErrNotSupported;
-	}
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::InitializeReady
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::InitializeReady()
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::InitializeReady()>> "), RThread().Id().operator TUint()));
-    if ( EPSUndoInitializing == iPSState )
-        {
-        NotifyError(KErrCancel);
-        UndoCommonInitialized();
-        iPSState = EPSUninitialized;
-        }
-    else
-        {
-        iPSState = EPSStopped;
-        Observer().vsProviderReady();
-        }
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::InitializeReady()<< "), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::RefreshYUVData
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::RefreshYUVData( TImageShareDataBuffer& aYUVBitMap )
-	{
-	__IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::RefreshYUVData()>> "), RThread().Id().operator TUint()));
-		iYUVBitMap = aYUVBitMap.iBitmap;
-		//Create YUV buffer only in play state
-		TRAP_IGNORE ( CreateYUVDataL() );
-		aYUVBitMap.iIsBitmapFree = ETrue;
-		__IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::RefreshYUVData()<< "), RThread().Id().operator TUint()));
-	}
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::RefreshViewFinder
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::RefreshViewFinder( TImageShareDataBuffer& aVFBitMap )
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::RefreshViewFinder()>> "), RThread().Id().operator TUint()));
-    iVFBitmap = aVFBitMap.iBitmap;
-    aVFBitMap.iIsBitmapFree = ETrue;
-    // Allow VF refresh only if size is what
-    // has beed aquired and play state is on
-    if ( ( iTargetSize == iVFBitmap->Size() ) && ( iVFState == EVFPlaying ) )
-        {
-        iVFTimer->After( 1, &VFTimer );
-        }
-    else
-        {
-        __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::RefreshViewFinder() conditon doesn't match, iVFState[%d] "), RThread().Id().operator TUint(), iVFState));
-        }
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::RefreshViewFinder()<< "), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::NotifyImageHandlingError
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::NotifyImageHandlingError( TInt aError )
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::NotifyImageHandlingError()>> "), RThread().Id().operator TUint()));
-    NotifyError( aError );
-    if ( ( KErrCancel == aError ) && ( EPSUndoInitializing == iPSState ) )
-        {
-        UndoCommonInitialized();
-        iPSState = EPSUninitialized;
-        }
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::NotifyImageHandlingError()<< "), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::CancelInitializing
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::CancelInitializing()
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::CancelInitializing()>> "), RThread().Id().operator TUint()));
-    if ( iPSState != EPSInitializing )
-        {
-        __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::CancelInitializing(), iPSState is not valid,%d>> "), RThread().Id().operator TUint(), iPSState));
-        return;
-        }
-    
-    if ( iInitType != TVSStillImageDataProviderParams::EInitializeFromFile )
-        {
-        __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::CancelInitializing(), iInitType is not valid,%d>> "), RThread().Id().operator TUint(), iInitType));
-        return;
-        }
-    if ( iViewer->CancelInitializing() )
-        {
-        // In this condition, convert was cancelled , no any message will receive from multiframe provider, 
-        // so delete multiFrame provider, and change IPSState, NotifyError to VT Engine
-        NotifyError(KErrCancel);
-        UndoCommonInitialized();
-        iPSState = EPSUninitialized;
-        }
-    else
-        {
-        // In this condition, cnverting is finished, and Scale will cancel(CVtImageScaler->Cancel()), but in CVtImageScaler::DoCancel(),
-        // there is a error notify exist, so we must wait the error message from multiframe provider,
-        // we change the iPSState to EPSUndoInitializing for waiting error message.
-        // Error message will be received in function CVSStillImageDataProvider::NotifyImageHandlingError
-        iPSState = EPSUndoInitializing;
-        }
-    
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::CancelInitializing()<< "), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CVSStillImageDataProvider::UndoCommonInitialized
-// -----------------------------------------------------------------------------
-//
-void CVSStillImageDataProvider::UndoCommonInitialized()
-    {
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::UndoCommonInitialized()>> "), RThread().Id().operator TUint()));
-
-    iFreezeCS.Close();
-    if ( NULL != iVFTimer )
-        {
-        iVFTimer->Cancel();
-        }
-    
-    delete iViewer;
-    iViewer = NULL;
-    
-    delete iActiveWait;
-    iActiveWait = NULL;
-    
-    delete iVFTimer;
-    iVFTimer = NULL;
-    __IF_DEBUG(Print(_L("VideoSource [%d]: CVSStillImageDataProvider::UndoCommonInitialized()<< "), RThread().Id().operator TUint()));
-
-    }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-//  End of File