--- a/vtprotocolplugins/VideoSource/src/cmultiframeloopao.cpp Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,233 +0,0 @@
-/*
-* Copyright (c) 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: Video Source subsystem.
-*
-*/
-
-
-// INCLUDE FILES
-#include "cmultiframeloopao.h"
-#include "cmultiframeprovider.h"
-#include "VSPanic.h"
-
-// MACROS
-
-#ifdef _DEBUG
-# define __IF_DEBUG(t) {RDebug::t;}
-#else
-# define __IF_DEBUG(t)
-#endif
-// ============================ CMultiframeloopAO ===============================
-
-// -----------------------------------------------------------------------------
-// CMultiframeloopAO::CMultiframeloopAO( CMultiframeProvider* aRequester )
-// -----------------------------------------------------------------------------
-//
-CMultiframeloopAO::CMultiframeloopAO( CMultiframeProvider* aRequester )
-: CActive( EPriorityLow ), iRequester( aRequester ), iFreeBMCount(0), iRequireStopping(EFalse)
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::CMultiframeloopAO() >>"), RThread().Id().operator TUint()));
- RThread me;
- iThreadId = me.Id();
- CActiveScheduler::Add( this );
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::CMultiframeloopAO() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeloopAO::~CMultiframeloopAO()
-// -----------------------------------------------------------------------------
-//
-CMultiframeloopAO::~CMultiframeloopAO()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::~CMultiframeloopAO() >>"), RThread().Id().operator TUint()));
- Cancel();
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::~CMultiframeloopAO() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeloopAO::Signal( )
-// -----------------------------------------------------------------------------
-//
-void CMultiframeloopAO::Signal( )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::Signal() >>"), RThread().Id().operator TUint()));
- iRequester->iAnimation = ETrue;
- if ( !IsActive() )
- {
- SetActive();
- TRequestStatus* pStatus = &iStatus;
- RThread me;
- if ( me.Id() == iThreadId )
- {
- User::RequestComplete( pStatus, KErrNone );
- }
- else
- {
- if ( me.Open( iThreadId ) == KErrNone )
- {
- *pStatus = KRequestPending;
- me.RequestComplete( pStatus, KErrNone );
- me.Close();
- }
- else
- {
- Panic( EVSPanicThreadOpenFailure );
- }
- }
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::Signal() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeloopAO::RunL()
-// -----------------------------------------------------------------------------
-//
-void CMultiframeloopAO::RunL()
- {
- iRequester->WaitForConverting();
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::RunL() >>"), RThread().Id().operator TUint()));
-
- //stop loop ao
- if (iRequireStopping)
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::RunL() CANCEL CALLED,stop by flag"), RThread().Id().operator TUint()));
- iRequireStopping = EFalse;
- iRequester->ReleaseForConverting();
- return;
- }
-
- // Cancel is handled in this way because
- if ( iStatus == KErrCancel)
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::RunL() CANCEL CALLED IN PROTO THREAD STOP LOOPPING"), RThread().Id().operator TUint()));
- iRequester->ReleaseForConverting();
- return;
- }
-
- //If free bitmaps proceed next frame
- if ( iFreeBMCount > 0 )
- {
- ++iIndex;
- // Loop animation starting from first frame
- if ( iIndex > iFramecount - 1 )
- {
- iIndex = KFirstFrameIndx;
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::RunL() RunL index %d"), RThread().Id().operator TUint(), iIndex));
- iRequester->ConvertAndScaleL( iIndex );
- }
- //Wait until free bitmaps to proceed
- else
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::RunL() NO FREE BMs"), RThread().Id().operator TUint()));
- iStatus = KRequestPending;
- SetActive();
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::RunL() <<"), RThread().Id().operator TUint()));
- iRequester->ReleaseForConverting();
- }
-// -----------------------------------------------------------------------------
-// CMultiframeloopAO::RemoveFreeBitmaps()
-// -----------------------------------------------------------------------------
-//
-void CMultiframeloopAO::RemoveFreeBitmaps( TInt aCount )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::RemoveFreeBitmaps() >>"), RThread().Id().operator TUint()));
- iFreeBMCount = iFreeBMCount - aCount;
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::RemoveFreeBitmaps() frames %d <<"), RThread().Id().operator TUint(), aCount));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeloopAO::SetFreeBitmaps()
-// -----------------------------------------------------------------------------
-//
-void CMultiframeloopAO::SetFreeBitmaps( TInt aCount )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::SetFreeBitmaps() >>"), RThread().Id().operator TUint()));
- iFreeBMCount = iFreeBMCount + aCount;
- if ( IsActive() && iStatus == KRequestPending)
- {
- TRequestStatus* pStatus = &iStatus;
- User::RequestComplete( pStatus, KErrNone );
- }
-
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::SetFreeBitmaps() frames %d <<"), RThread().Id().operator TUint(), aCount));
- }
-// -----------------------------------------------------------------------------
-// CMultiframeloopAO::SetFrameCount()
-// -----------------------------------------------------------------------------
-//
-void CMultiframeloopAO::SetFrameCount( TInt aCount )
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::SetFrameCount() >>"), RThread().Id().operator TUint()));
- iFramecount = aCount;
- iIndex = 0;
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::SetFrameCount() frames %d <<"), RThread().Id().operator TUint(), aCount));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeloopAO::CancelDataLoop()
-// -----------------------------------------------------------------------------
-//
- void CMultiframeloopAO::CancelDataLoop()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::CancelDataLoop() >>"), RThread().Id().operator TUint()));
- if ( IsActive() )
- {
- if ( iStatus == KRequestPending )
- {
- RThread me;
- if ( me.Id() == iThreadId )
- {
- Cancel();
- }
- else
- {
- if ( me.Open( iThreadId ) == KErrNone )
- {
- TRequestStatus* pStatus = &iStatus;
- *pStatus = KRequestPending;
- me.RequestComplete( pStatus, KErrCancel );
- me.Close();
- }
- else
- {
- Panic( EVSPanicThreadOpenFailure );
- }
- }
- }
- else
- {
- iRequireStopping = ETrue;
- }
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::CancelDataLoop() <<"), RThread().Id().operator TUint()));
- }
-
-// -----------------------------------------------------------------------------
-// CMultiframeloopAO::DoCancel()
-// -----------------------------------------------------------------------------
-//
-void CMultiframeloopAO::DoCancel()
- {
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::DoCancel() >>"), RThread().Id().operator TUint()));
- if ( iStatus == KRequestPending )
- {
- TRequestStatus* pStatus = &iStatus;
- User::RequestComplete( pStatus, KErrCancel );
- }
- __IF_DEBUG(Print(_L("VideoSource [%d]: CMultiframeloopAO::DoCancel() <<"), RThread().Id().operator TUint()));
- }
-
-// End of File