vtprotocolplugins/DisplaySink/src/CDisplaySinkDSA.cpp
changeset 18 d9b6a8729acd
parent 4 6dc066157ed4
child 23 c378a0498b84
child 27 dcbddbbaf8fd
--- a/vtprotocolplugins/DisplaySink/src/CDisplaySinkDSA.cpp	Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,464 +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:  Display Sink subsystem for Direct Screen Access.
-*
-*/
-
-
-// INCLUDES
-
-#include <cvtimageconverter.h>
-#include <cvtimageiyuv.h>
-#include "CDisplaySinkDSA.h"
-#include "TDisplaySinkParamsDSA.h"
-
-// MACROS
-
-#ifdef _DEBUG
-    #include <e32debug.h>
-    #define PRINT RDebug::Print
-    #define _IFDBG(a) a
-#else
-    #define PRINT
-    #define _IFDBG(a)
-#endif
-
-// ======================== CDisplaySinkDSA ==============================
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::NewL
-// -----------------------------------------------------------------------------
-//
-CDisplaySinkDSA* CDisplaySinkDSA::NewL( TDisplaySinkParams& aParams,
-        const TDesC8& aInitData )
-    {
-	_IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::NewL()<"), RThread().Id().operator TUint()));
-    CDisplaySinkDSA* self = new ( ELeave ) CDisplaySinkDSA();
-    CleanupStack::PushL( self );
-    self->ConstructL( aParams, aInitData );
-    CleanupStack::Pop(); // self
-	_IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::NewL()>"), RThread().Id().operator TUint()));
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::CDisplaySinkDSA
-// -----------------------------------------------------------------------------
-//
-CDisplaySinkDSA::CDisplaySinkDSA()
-    {
-	_IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::Ctor<"), RThread().Id().operator TUint()));
-	_IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::Ctor>"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::~CDisplaySinkDSA
-// -----------------------------------------------------------------------------
-//
-CDisplaySinkDSA::~CDisplaySinkDSA()
-    {
-	_IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::~<"), RThread().Id().operator TUint()));
-    delete iRotator;
-    delete iYUVBitmapConverterVT;
-	_IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::~>"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BaseConstructL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::BaseConstructL( TDisplaySinkParams& aParams,
-    const TDesC8& )
-    {
-	_IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseConstructL()<"), RThread().Id().operator TUint()));
-	iNewParams = static_cast< TDisplaySinkParamsDSA& > ( aParams );
-	if ( !iNewParams.iBitmap1Handle || !iNewParams.iBitmap2Handle )
-	    {
-        _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseConstructL() bitmap handle NULL!") ));
-	    User::Leave( KErrArgument );
-	    }
-    iBitmapTable[EFirstBitmap].iHandle = iNewParams.iBitmap1Handle;
-	iBitmapTable[ESecondBitmap].iHandle = iNewParams.iBitmap2Handle;
-    iRotator = CVtImageRotator::NewL( *this );
-    iRotationAngle = iNewParams.iRotationAngle;
-    iYUVBitmapConverterVT = CVTIYUVFbsBitmapConverter::NewL(
-        QCIF, iBitmapTable[EFirstBitmap].iHandle );
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseConstructL()>"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BaseConvert
-// -----------------------------------------------------------------------------
-//
-TBool CDisplaySinkDSA::BaseConvert( const TVtMMFDataBuffer& aBuffer )
-    {
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseConvert()<"), RThread().Id().operator TUint()));
-    TBool converted( EFalse );
-    TRAPD( err, ConvertL( aBuffer.Data(), converted ) );
-    if ( err != KErrNone )
-        {
-        _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseConvert() err=%d"), RThread().Id().operator TUint(), err));
-        converted = EFalse;
-        }
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseConvert() %d>"), RThread().Id().operator TUint(), converted));
-    return converted;
-    }
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BaseSinkThreadLogonL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::BaseSinkThreadLogonL()
-    {
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSinkThreadLogonL()<"), RThread().Id().operator TUint()));
-    CVTYUVFbsBitmapConverter* converter1 =
-	    CVTIYUVFbsBitmapConverter::NewL(
-	        QCIF,
-	        iBitmapTable[EFirstBitmap].iHandle );
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSinkThreadLogonL() 1"), RThread().Id().operator TUint()));
-	CleanupStack::PushL( converter1 );
-    CVTYUVFbsBitmapConverter* converter2 =
-	    CVTIYUVFbsBitmapConverter::NewL(
-	        QCIF,
-	        iBitmapTable[ESecondBitmap].iHandle );
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSinkThreadLogonL() 2"), RThread().Id().operator TUint()));
-	CleanupStack::PushL( converter2 );
-    CleanupStack::Pop( 2 ); // converter1, converter2
-    iYUVBitmapConverter1 = converter1;
-	iYUVBitmapConverter2 = converter2;
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSinkThreadLogonL()>"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BaseSinkThreadLogoff
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::BaseSinkThreadLogoff()
-    {
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSinkThreadLogoff()<"), RThread().Id().operator TUint()));
-	delete iYUVBitmapConverter1;
-	delete iYUVBitmapConverter2;
-    delete iSourceImg; iSourceImg = 0;
-    delete iTargetImg; iTargetImg = 0;
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSinkThreadLogoff()>"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BaseUpdateSinkParamsL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::BaseUpdateSinkParamsL( const TDisplaySinkParams& aParams )
-    {
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseUpdateSinkParamsL()<"), RThread().Id().operator TUint()));
-    iNewParams = static_cast< const TDisplaySinkParamsDSA& >( aParams );
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseUpdateSinkParamsL()>"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BaseDoUpdateParamsL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::BaseDoUpdateParamsL()
-    {
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseDoUpdateParamsL()<"), RThread().Id().operator TUint()));
-    iRotationAngle = iNewParams.iRotationAngle;
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseDoUpdateParamsL() handle1=%d"), RThread().Id().operator TUint(), iNewParams.iBitmap1Handle));
-    iBitmapTable[ EFirstBitmap ].iHandle = iNewParams.iBitmap1Handle;
-    iBitmapTable[ EFirstBitmap ].iIsFree = ETrue;
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseDoUpdateParamsL() handle2=%d"), RThread().Id().operator TUint(), iNewParams.iBitmap2Handle));
-    iBitmapTable[ ESecondBitmap ].iHandle = iNewParams.iBitmap2Handle;
-    iBitmapTable[ ESecondBitmap ].iIsFree = EFalse;
-    UpdateExpectedFrameSizeL();
-    iYUVBitmapConverter1->SetSourceSizeL( iExpectedFrameSize );
-    iYUVBitmapConverter1->SetDestinationL( iNewParams.iBitmap1Handle );
-    iYUVBitmapConverter2->SetSourceSizeL( iExpectedFrameSize );
-    iYUVBitmapConverter2->SetDestinationL( iNewParams.iBitmap2Handle );
-    if( iNewParams.iFrameRateLimit != iFrameRateInterval )
-        {
-        SetFrameRateLimit( iNewParams.iFrameRateLimit );
-        ResetFrameRateLimitter();
-        }
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseDoUpdateParamsL()>"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BaseSetVideoFrameSizeL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::BaseSetVideoFrameSizeL( const TSize& aSize )
-    {
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSetVideoFrameSizeL()<"), RThread().Id().operator TUint()));
-    TSize size( aSize );
-    if( ( iRotationAngle == CVtImageRotator::E90DegreesClockwise ) ||
-        ( iRotationAngle == CVtImageRotator::E270DegreesClockwise ) )
-        {
-        size = TSize( aSize.iHeight, aSize.iWidth );
-        }
-    iYUVBitmapConverter1->SetSourceSizeL( size );
-    iYUVBitmapConverter2->SetSourceSizeL( size );
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSetVideoFrameSizeL()>"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BaseSizesMatch
-// -----------------------------------------------------------------------------
-//
-TBool CDisplaySinkDSA::BaseSizesMatch( const TSize& aSize )
-    {
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSizesMatch()<"), RThread().Id().operator TUint()));
-    TBool sizesMatch( iExpectedFrameSize == aSize );
-    TBool rotateChangesDimension(
-        ( iRotationAngle == CVtImageRotator::E90DegreesClockwise ) ||
-        ( iRotationAngle == CVtImageRotator::E270DegreesClockwise ) );
-    if( rotateChangesDimension )
-        {
-        sizesMatch =
-            ( iExpectedFrameSize.iWidth == aSize.iHeight ) &&
-            ( iExpectedFrameSize.iHeight == aSize.iWidth );
-        }
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSizesMatch() %d>"), RThread().Id().operator TUint(), sizesMatch));
-    return sizesMatch;
-    }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BitmapEntry
-// -----------------------------------------------------------------------------
-//
-CDisplaySink::TBitmapEntry& CDisplaySinkDSA::BitmapEntry( TInt aIndex )
-    {
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BitmapEntry(%d)<"), RThread().Id().operator TUint(), aIndex));
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BitmapEntry()>"), RThread().Id().operator TUint()));
-    return iBitmapTable[ aIndex ];
-    }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BaseEmptyBufferL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::BaseEmptyBufferL( TVtMMFDataBuffer& aVTMMFBuffer )
-    {
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseEmptyBufferL()<"), RThread().Id().operator TUint()));
-    if( iRotationAngle != CVtImageRotator::ERotationNone )
-        {
-        TSize size( aVTMMFBuffer.GetFrameSize() );
-        TInt length( ( size.iWidth * size.iHeight * 12 ) / 8 );
-        // Modifiable pointer descriptor needed, we don't want a copy of image!
-        TPtr8 ptrData( const_cast< TUint8* >(
-            aVTMMFBuffer.Data().Ptr() ), length, length );
-
-        if( iSourceImg == 0 )
-            {
-            // If source image is not created -> create it
-            iSourceImg = CVtImageIYUV::NewL( size, ptrData );
-            }
-        else
-            {
-            // otherwise just update the data
-            if( iSourceImg->Size() == size )
-                {
-                iSourceImg->SetImageL( ptrData );
-                }
-            else
-                {
-                delete iSourceImg; iSourceImg = 0;
-                iSourceImg = CVtImageIYUV::NewL( size, ptrData );
-                }
-            }
-        iRotator->RotateL( *iSourceImg, *iTargetImg, iRotationAngle );
-        CleanupStack::PopAndDestroy(); // iBitmapCS.Signal();
-        }
-    else
-        {
-        if ( BaseConvert( aVTMMFBuffer ) )
-            {
-            CleanupStack::PopAndDestroy(); // iBitmapCS.Signal();
-            iSupplier->BufferEmptiedL( iBuffer );
-            }
-        else
-            {
-            if ( iVideoFrameQueue->IsStored() || !IsOkToSendFrame() )
-                {
-                CleanupStack::PopAndDestroy(); // iBitmapCS.Signal();
-                iSupplier->BufferEmptiedL( iBuffer );
-                }
-            else
-                {
-                iVideoFrameQueue->Store( *iSupplier, static_cast<CMMFDataBuffer*>(aVTMMFBuffer.GetMMFBuffer()),  aVTMMFBuffer.GetFrameSize(), aVTMMFBuffer.Data());
-                CleanupStack::PopAndDestroy();
-                }
-            }
-        }
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseEmptyBufferL()>"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BaseSetBitmapAvailable( TBitmapNo aBitmapNo )
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::BaseSetBitmapAvailable( TBitmapNo aBitmapNo )
-	{
-	_IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSetBitmapAvailable()<"), RThread().Id().operator TUint()));
-    if ( iVideoFrameQueue->IsStored() )
-        {
-        _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSetBitmapAvailable() buffer pending"), RThread().Id().operator TUint()));
-        if ( !iReleased && ( *iRequestStatusPtr == KRequestPending ) && IsOkToSendFrame() )
-    		{
-            TRAPD( result, {
-                iYUVBitmapConverterVT->SetDestinationL(
-                    iBitmapTable[ aBitmapNo ].iHandle );
-                iYUVBitmapConverterVT->SetSourceL(
-	                iVideoFrameQueue->Buffer().Data() );
-                iYUVBitmapConverterVT->ProcessL();
-                } );
-            if ( result == KErrNone )
-                {
-                _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSetBitmapAvailable() conversion succeeded!"), RThread().Id().operator TUint()));
-        		iBitmapTable[ aBitmapNo ].iIsFree = EFalse;
-        		TRequestStatus* statusP = iRequestStatusPtr;
-        		iThread.RequestComplete( statusP, aBitmapNo );
-        	    }
-        	else
-        	    {
-                _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSetBitmapAvailable() conversion failed!"), RThread().Id().operator TUint()));
-        	    // Drop frame
-        	    }
-    		}
-        else
-            {
-            _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSetBitmapAvailable() dropping frame"), RThread().Id().operator TUint()));
-            // Drop frame
-            }
-        iVideoFrameQueue->Release();
-        }
-	_IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseSetBitmapAvailable()>"), RThread().Id().operator TUint()));
-	}
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::BaseVideoFrameSizeChangedL( const TSize& aNewSize )
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::BaseVideoFrameSizeChangedL( const TSize& aNewSize )
-	{
-	_IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseVideoFrameSizeChangedL()<"), RThread().Id().operator TUint()));
-	iYUVBitmapConverterVT->SetSourceSizeL( aNewSize );
-	_IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::BaseVideoFrameSizeChangedL()>"), RThread().Id().operator TUint()));
-	}
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::UpdateExpectedFrameSizeL()
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::UpdateExpectedFrameSizeL()
-    {
-	_IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::UpdateExpectedFrameSizeL()<"), RThread().Id().operator TUint()));
-    CFbsBitmap* bm = new ( ELeave ) CFbsBitmap();
-    CleanupStack::PushL( bm );
-    User::LeaveIfError( bm->Duplicate( iBitmapTable[ EFirstBitmap ].iHandle ) );
-    iExpectedFrameSize = bm->SizeInPixels();
-    User::LeaveIfError( bm->Duplicate( iBitmapTable[ ESecondBitmap ].iHandle ) );
-    if( iExpectedFrameSize != bm->SizeInPixels() )
-        {
-    	_IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::UpdateExpectedFrameSizeL(): EFirstBitmap size is different from ESecondBitmap size -> Leave()"), RThread().Id().operator TUint()));
-        User::Leave( KErrNotSupported );
-        }
-    CleanupStack::PopAndDestroy(); // bm
-    delete iTargetImg; iTargetImg = 0;
-    iTargetImg = CVtImageIYUV::NewL( iExpectedFrameSize );
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::UpdateExpectedFrameSizeL()>"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::RotationFinished( TInt aError )
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::RotationFinished( TInt aError )
-    {
-	_IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::RotationFinished()<"), RThread().Id().operator TUint()));
-    // Rotation finished .. do something
-    if( aError == KErrNone )
-        {
-        iBitmapCS.Wait();
-        TBool converted( EFalse );
-        TRAP( aError, ConvertL( iTargetImg->Image(), converted ) );
-        iBitmapCS.Signal();
-        TRAPD( aError2, iSupplier->BufferEmptiedL( iBuffer ) );
-        if( ( aError != KErrNone ) || ( aError2 != KErrNone  ) )
-            {
-            *iRequestStatusPtr = KRequestPending;
-		    TRequestStatus* statusP = iRequestStatusPtr;
-		    iThread.RequestComplete( statusP, aError );
-            }
-        }
-    else
-        {
-        *iRequestStatusPtr = KRequestPending;
-		TRequestStatus* statusP = iRequestStatusPtr;
-		iThread.RequestComplete( statusP, aError );
-        }
-	_IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::RotationFinished()>"), RThread().Id().operator TUint()));
-    }
-
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::ConvertL
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::ConvertL( const TPtrC8& aBuffer, TBool& aConverted )
-    {
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::ConvertL()<"), RThread().Id().operator TUint()));
-    TBitmapNo bitmapNo( iBitmapTable[ EFirstBitmap ].iIsFree ? EFirstBitmap : ESecondBitmap );
-    if ( iBitmapTable[ bitmapNo ].iIsFree &&
-         !iReleased &&
-         ( *iRequestStatusPtr == KRequestPending ) )
-		{
-		DoConvertL( aBuffer, bitmapNo );
-    	aConverted = ETrue;
-		iBitmapTable[ bitmapNo ].iIsFree = EFalse;
-		TRequestStatus* statusP = iRequestStatusPtr;
-		iThread.RequestComplete( statusP, bitmapNo );
-		}
-    else
-        {
-    	_IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::ConvertL(): could not find free bitmap"), RThread().Id().operator TUint()));
-    	aConverted = EFalse;
-        }
-    _IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::ConvertL()>"), RThread().Id().operator TUint()));
-    }
-
-// -----------------------------------------------------------------------------
-// CDisplaySinkDSA::DoConvert
-// -----------------------------------------------------------------------------
-//
-void CDisplaySinkDSA::DoConvertL( const TPtrC8& aBuffer, TBitmapNo aBitmapNo )
-	{
-	_IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::DoConvertL()<"), RThread().Id().operator TUint()));
-	CVTYUVFbsBitmapConverter* c = 0;
-	switch( aBitmapNo )
-		{
-		case EFirstBitmap:
-			c = iYUVBitmapConverter1;
-			break;
-
-		case ESecondBitmap:
-			c = iYUVBitmapConverter2;
-			break;
-
-        default:
-            User::Leave( KErrArgument );
-		};
-	c->SetSourceL( aBuffer );
-	c->ProcessL();
-	_IFDBG(PRINT(_L("VideoSource[%d]: CDisplaySinkDSA::DoConvertL()>"), RThread().Id().operator TUint()));
-	}
-
-// End of File