videoeditorengine/audioeditorengine/inc/AudProcessorImpl.h
branchRCL_3
changeset 3 e0b5df5c0969
parent 0 951a5db380a0
child 5 4c409de21d23
--- a/videoeditorengine/audioeditorengine/inc/AudProcessorImpl.h	Fri Jan 29 14:08:33 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,217 +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:  
-*
-*/
-
-
-
-#ifndef __CAUDPROCESSORIMPL_H__
-#define __CAUDPROCESSORIMPL_H__
-
-#include <e32base.h>
-#include <e32math.h>
-#include "AudClipInfo.h"
-#include "AudCommon.h"
-#include "AudSong.h"
-#include "ProcInFileHandler.h"
-
-#include "ProcFrameHandler.h"
-#include "ProcWAVFrameHandler.h"
-
-
-
-
-#include "ProcTools.h"
-
-
-class MProcClipInfoObserver;
-
-class CAudProcessorImpl : public CBase
-    {
-    
-public:
-
-    /*
-    *
-    * Symbian constructors and a destructor
-    *
-    */
-
-    static CAudProcessorImpl* NewL();
-    static CAudProcessorImpl* NewLC();
-
-    virtual ~CAudProcessorImpl();
-
-
-    /**
-    * Performs all initializations needed for a song processing
-    * such as output file opening
-    * 
-    * Can leave with one of the system wide error codes
-    * related to memory allocation and file opening
-    *
-    * Possible panic code
-    * <code>ESongProcessingOperationAlreadyRunning</code>
-    *
-    *
-    *
-    * @param aSong              song to be processed
-    * @param aRawFrameSize      length of raw audio frames
-    * @param aGetTimeEstimation ETrue if getting a time estimation
-    *
-    * @return
-    *
-    */
-    void ProcessSongL(const CAudSong* aSong, TInt aRawFrameSize, 
-                      TBool aGetTimeEstimation = EFalse);
-    
-    /**
-    * Processes one audio frame and writes it to an output file
-    *
-    * Possible panic code
-    * <code>ESongProcessingOperationNotRunning</code>
-    *
-    * @param aProgress    output parameter to indicate progress in percents
-    *
-    *
-    * @return            ETrue if processing completed, EFalse otherwise
-    *
-    */
-    TBool ProcessSyncPieceL(HBufC8*& aFrame, TInt& aProgress,
-                                       TTimeIntervalMicroSeconds& aDuration, TBool& aRaw);
-
-
-
-    /**
-    * Gets properties of an audio file
-    * 
-    * Can leave with one of the error codes related to file opening
-    * 
-    * @param aFileName        name of the file
-    * @param aFileHandle      file handle of the file to read
-    * @param aProperties    pointer to audio file properties (needs to be
-    *                        allocated before calling this function)
-    *
-    */
-    void GetAudFilePropertiesL(const TDesC& aFileName, RFile* aFileHandle,
-                               TAudFileProperties* aProperties);
-
-    /**
-    *
-    * Gets time estimate once the time estimate has been calculated
-    *
-    * If time estimation has not been processed, returns 0
-    *
-    * @return processing time estimate in microseconds
-    */
-    
-    TInt64 GetFinalTimeEstimate() const;
-    
-
-private:
-    
-    /*
-    * Symbian constructor
-    */
-    void ConstructL();
-
-    /*
-    * Generates processing events for the output clip
-    */
-    void GetProcessingEventsL();
-
-    /*
-    * Calculates a gain value on a given time
-    */
-    TInt8 GetGainNow(const CAudClip* aClip, TInt32 aTimeMilliSeconds);
-
-    /*
-    * Stops processing
-    */
-    TBool StopProcessing();
-
-    /*
-    * Writes one frame of silence
-    */
-    TBool WriteSilenceL(HBufC8*& aFrame, TInt& aProgress,
-                                       TTimeIntervalMicroSeconds& aDuration, TBool& aRaw);
-    /*
-    * Returns the index of the clip with highest priority 
-    */
-    TBool HighestInFilePriority(TInt& aFirst, TInt& aSecond);
-    
-    /*
-    * Compares the two properties and returns true if decoding is required
-    */
-    TBool IsDecodingRequired(const TAudFileProperties& prop1, const TAudFileProperties& prop2);
-
-    /*
-    * C++ constructor
-    */
-    CAudProcessorImpl();
-    
-private:
-    
-    // Array for all the input clips
-    RPointerArray<CProcInFileHandler> iInFiles;
-    
-    // Song
-    const CAudSong* iSong;
-
-    // frame handler for PCM operations such as mixing
-    CProcWAVFrameHandler* iWAVFrameHandler;
-
-    // time left before the end of last clip
-    // (additional silence may be written after that)
-    TInt32 iTimeLeft;
-    
-    // index of the current processing event
-    TInt iCurEvent;
-
-    // array for processing events
-    RPointerArray<CProcessingEvent> iProcessingEvents;
-    
-    // array for storing clip indexes that are currenty written
-    RArray<TInt> iClipsWritten;
-    
-    
-    // song duration in milliseconds
-    TInt iSongDurationMilliSeconds;
-
-    // how much has already been processed
-    TInt iSongProcessedMilliSeconds;
-
-    // index of the clip that was previously processed
-    TInt iLastInClip1;
-    
-    // a flag to indicate if we are getting a processing time estimate
-    TBool iGetTimeEstimation;
-    
-    // timer for calculating time estimation
-    TTime iTimer;
-    
-    // a variable for time estimate
-    TInt64 iTimeEstimate;
-    
-    // a variable for time estimate calculation
-    TReal iTimeEstimateCoefficient;
-    
-    TBool iSilenceStarted;
-    
-    };
-
-
-#endif