diff -r 951a5db380a0 -r d87d32eab1a9 videditor/VideoEditorCommon/src/VeiImageConverter.cpp --- a/videditor/VideoEditorCommon/src/VeiImageConverter.cpp Fri Jan 29 14:08:33 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,261 +0,0 @@ -/* -* Copyright (c) 2010 Ixonos Plc. -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of the "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: -* Ixonos Plc -* -* Description: -* -*/ - - - -// INCLUDE FILES -#include "VeiImageConverter.h" - -#include -#include -#include -#include "VideoEditorCommon.h" -#include "VideoEditorDebugUtils.h" - - - -// ================= MEMBER FUNCTIONS ======================= - -// --------------------------------------------------------- -// CVeiImageConverter::CVeiImageConverter::NewL( -// MConverterController* aController ) -// --------------------------------------------------------- -// -EXPORT_C CVeiImageConverter* CVeiImageConverter::NewL( - MConverterController* aController ) - { - CVeiImageConverter* self = - new(ELeave) CVeiImageConverter( aController ); - CleanupStack::PushL( self ); - - self->ConstructL(); - - CleanupStack::Pop( self ); - return self; - } -// --------------------------------------------------------- -// CVeiImageConverter::CVeiImageConverter( -// MConverterController* aController ) -// --------------------------------------------------------- -// -CVeiImageConverter::CVeiImageConverter( - MConverterController* aController ) : - CActive( EPriorityStandard ), iController( aController ) - { - } - -// --------------------------------------------------------- -// CVeiImageConverter::ConstructL() -// EPOC two phased constructor -// --------------------------------------------------------- -// -void CVeiImageConverter::ConstructL() - { - User::LeaveIfError( iFs.Connect() ); - // create the destination bitmap - - iBitmapScaler = CBitmapScaler::NewL(); - - CActiveScheduler::Add( this ); - } - -// Destructor -EXPORT_C CVeiImageConverter::~CVeiImageConverter() - { - LOG(KVideoEditorLogFile, "CVeiImageConverter::~CVeiImageConverter(): in"); - if ( IsActive() ) - { - Cancel(); - } - - delete iImageEncoder; - delete iBitmapScaler; - // CImageDecoder must be deleted before the - iFs.Close(); // related RFs is closed, - delete iBitmap; // otherwise a related thread might panic - - iController = NULL; - - LOG(KVideoEditorLogFile, "CVeiImageConverter::~CVeiImageConverter(): out"); - } - - - -// --------------------------------------------------------- -// CVeiImageConverter::StartToEncodeL( -// TFileName& aFileName, TUid aImageType, TUid aImageSubType ) -// --------------------------------------------------------- -// -EXPORT_C void CVeiImageConverter::StartToEncodeL( - const TDesC& aFileName, const TUid& aImageType, const TUid& aImageSubType ) - { - LOG(KVideoEditorLogFile, "CVeiImageConverter::StartToEncodeL(): In"); - if ( iImageEncoder ) - { - delete iImageEncoder; - iImageEncoder = NULL; - } - - // create the encoder - LOG(KVideoEditorLogFile, "CVeiImageConverter::StartToEncodeL(): 2, own thread started"); - iImageEncoder = CImageEncoder::FileNewL( iFs, aFileName, - CImageEncoder::EOptionAlwaysThread, aImageType, aImageSubType ); - - iState = EEncoding; - iImageEncoder->Convert( &iStatus, *iBitmap ); - - SetActive(); - LOG(KVideoEditorLogFile, "CVeiImageConverter::StartToEncodeL(): Out"); - } -// --------------------------------------------------------- -// CVeiImageConverter::DoCancel() -// --------------------------------------------------------- -// -void CVeiImageConverter::DoCancel() - { - LOG(KVideoEditorLogFile, "CVeiImageConverter::DoCancel(): in"); - if ( iState == EEncoding && iImageEncoder ) - { - iImageEncoder->Cancel(); - } - else if ( iState == EScaling ) - { - iBitmapScaler->Cancel(); - } - LOG(KVideoEditorLogFile, "CVeiImageConverter::DoCancel(): out"); - } -// --------------------------------------------------------- -// CVeiImageConverter::RunL() -// --------------------------------------------------------- -// -void CVeiImageConverter::RunL() - { - LOG(KVideoEditorLogFile, "CVeiImageConverter::RunL: In"); - switch( iState ) - { - case EEncoding: - { - iState = EIdle; - iController->NotifyCompletion( iStatus.Int() ); - break; - } - - default: // some error - { - LOG(KVideoEditorLogFile, "CVeiImageConverter::RunL: Scale completed"); - iState = EIdle; - iController->NotifyCompletion( iStatus.Int() ); - } - } - } - -// --------------------------------------------------------- -// CVeiImageConverter::RunError(TInt aError) -// --------------------------------------------------------- -// -TInt CVeiImageConverter::RunError(TInt aError) - { - LOGFMT(KVideoEditorLogFile, "CVeiImageConverter::RunError(): in, aError:%d", aError); - TInt err; - err = aError; - return err; - } - -// --------------------------------------------------------- -// CVeiImageConverter::GetEncoderImageTypesL( -// RImageTypeDescriptionArray& aImageTypeArray ) -// --------------------------------------------------------- -// -EXPORT_C void CVeiImageConverter::GetEncoderImageTypesL( - RImageTypeDescriptionArray& aImageTypeArray ) - { - CImageEncoder::GetImageTypesL( aImageTypeArray ); - } - -// --------------------------------------------------------- -// CVeiImageConverter::SetBitmap() -// --------------------------------------------------------- -// -EXPORT_C void CVeiImageConverter::SetBitmap( CFbsBitmap* aBitmap ) - { - LOG(KVideoEditorLogFile, "CVeiImageConverter::SetBitmap(): in"); - if (iBitmap) - { - delete iBitmap; - iBitmap = NULL; - } - iBitmap = aBitmap; - LOG(KVideoEditorLogFile, "CVeiImageConverter::SetBitmap(): out"); - } - -// --------------------------------------------------------- -// CVeiImageConverter::GetBitmap() -// --------------------------------------------------------- -// -EXPORT_C CFbsBitmap* CVeiImageConverter::GetBitmap() - { - return iBitmap; - } - -// --------------------------------------------------------- -// CVeiImageConverter::Scale() -// --------------------------------------------------------- -// -EXPORT_C void CVeiImageConverter::ScaleL(CFbsBitmap* aSrcBitmap,CFbsBitmap* aDestBitmap, const TSize& aSize) - { - LOG(KVideoEditorLogFile, "CVeiImageConverter::Scale: in"); - if ( IsActive() ) - { - Cancel(); - } - - if ( iBitmap ) - { - delete iBitmap; - iBitmap = NULL; - } -/* Create new bitmap where scaled bitmap is stored - When scaling is ready, NotifyCompletion() callback and - bitmap address can be asked with GetBitmap function */ - - iBitmap = aDestBitmap; - iBitmap = new (ELeave) CFbsBitmap; - iBitmap->Create( aSize, aSrcBitmap->DisplayMode() ); - - iState = EScaling; - iBitmapScaler->Scale( &iStatus, *aSrcBitmap, *iBitmap, EFalse ); - - SetActive(); - - LOG(KVideoEditorLogFile, "CVeiImageConverter::Scale: out"); - } - -// --------------------------------------------------------- -// CVeiImageConverter::CancelEncoding() -// --------------------------------------------------------- -// -EXPORT_C void CVeiImageConverter::CancelEncoding() - { - if ( iImageEncoder ) - { - delete iImageEncoder; - iImageEncoder = NULL; - } - } - -// End of File