diff -r 000000000000 -r 951a5db380a0 videoeditorengine/audioeditorengine/src/AudProcessor.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoeditorengine/audioeditorengine/src/AudProcessor.cpp Fri Jan 29 14:08:33 2010 +0200 @@ -0,0 +1,212 @@ +/* +* 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 "AudSong.h" +#include "AudProcessor.h" +#include "AudPanic.h" + +// Debug print macro +#if defined _DEBUG +#include +#define PRINT(x) RDebug::Print x; +#else +#define PRINT(x) +#endif + + +CAudProcessor* CAudProcessor::NewL() + { + CAudProcessor* self = NewLC(); + CleanupStack::Pop(self); + return self; + } + + +CAudProcessor* CAudProcessor::NewLC() + { + CAudProcessor* self = new (ELeave) CAudProcessor; + CleanupStack::PushL(self); + self->ConstructL(); + return self; + } + + +CAudProcessor::CAudProcessor() : iProcessing(EFalse) + { + + } + + +void CAudProcessor::ConstructL() + { + iClipInfoAO = CProcClipInfoAO::NewL(); + iProcessingObject = CProcProcess::NewL(); + iVisualizationAO = CProcVisualizationAO::NewL(); + iTimeEstimateAO = CProcTimeEstimateAO::NewL(); + + + + + } + + +CAudProcessor::~CAudProcessor() + { + PRINT((_L("CAudProcessor::~CAudProcessor() in") )); + + + + if (iVisualizationAO != 0) + { + delete iVisualizationAO; + iVisualizationAO = 0; + } + PRINT((_L("CAudProcessor::~CAudProcessor() deleted iVisualizationAO") )); + + if (iProcessingObject != 0) + { + delete iProcessingObject; + iProcessingObject = 0; + } + + PRINT((_L("CAudProcessor::~CAudProcessor() deleted iProcessingObject") )); + if (iClipInfoAO != 0) + { + delete iClipInfoAO; + iClipInfoAO = 0; + } + + PRINT((_L("CAudProcessor::~CAudProcessor() deleted iClipInfoAO") )); + if (iTimeEstimateAO != 0) + { + delete iTimeEstimateAO; + iTimeEstimateAO = 0; + } + + + PRINT((_L("CAudProcessor::~CAudProcessor() out") )); + + } + + + +TBool CAudProcessor::StartSyncProcessingL(const CAudSong* aSong) + { + + if (iProcessing) + { + TAudPanic::Panic(TAudPanic::ESongProcessingOperationAlreadyRunning); + } + + + return iProcessingObject->StartSyncProcessingL(aSong); + + } + +TBool CAudProcessor::ProcessSyncPieceL(HBufC8*& aFrame, TInt& aProgress, + TTimeIntervalMicroSeconds& aDuration) + { + TBool ret = iProcessingObject->ProcessSyncPieceL(aFrame, aProgress, aDuration); + + if (!ret) return EFalse; + else + { + delete iProcessingObject; + iProcessingObject = 0; + return ETrue; + } + + } + + +/** + * Cancel song processing. + */ +void CAudProcessor::CancelProcessing(MProcProcessObserver& aObserver) + { + + iProcessing = EFalse; + aObserver.NotifyAudioProcessingCompleted(KErrCancel); + } + + +void CAudProcessor::GetAudFilePropertiesL(const TDesC& aFileName, + RFile* aFileHandle, + TAudFileProperties* aProperties, + MProcClipInfoObserver& aObserver, + TInt aPriority) + { + + iClipInfoAO->StartL(aFileName, aFileHandle, aObserver, aProperties, aPriority); + } + + + +void CAudProcessor::StartGetClipVisualizationL(const CAudClipInfo* aClipInfo, TInt aSize, + MAudVisualizationObserver& aObserver, + TInt aPriority) + { + + + iVisualizationAO->StartClipVisualizationL(aClipInfo, aSize, aObserver, aPriority); + + + } + + + +void CAudProcessor::CancelClipVisualization() + { + + if (iVisualizationAO) + { + iVisualizationAO->CancelVisualization(); + } + + } + + +TBool CAudProcessor::StartTimeEstimateL(const CAudSong* aSong, MAudTimeEstimateObserver& aTEObserver) + { + + if (iTimeEstimateAO) + { + return iTimeEstimateAO->StartL(aSong, aTEObserver); + } + else + { + return EFalse; + } + + } + +void CAudProcessor::CancelTimeEstimate() + { + + if (iTimeEstimateAO) + { + iTimeEstimateAO->CancelTimeEstimate(); + } + + } + + +