diff -r 951a5db380a0 -r e0b5df5c0969 videoeditorengine/vedengine/videoprocessor/inc/Composer.h --- a/videoeditorengine/vedengine/videoprocessor/inc/Composer.h Fri Jan 29 14:08:33 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,161 +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 __COMPOSER_H__ -#define __COMPOSER_H__ - -// INCLUDES -#ifndef __E32BASE_H__ -#include -#endif - -// CONSTANTS -// MACROS -// DATA TYPES -// FUNCTION PROTOTYPES -// FORWARD DECLARATIONS - - -// CLASS DECLARATION - -/** -* Base class for file format parser -* ?other_description_lines -*/ -class CComposer : public CBase - { - - public: // Constants - - enum TErrorCode - { - EInternalAssertionFailure = -2200, - EComposerNotEnoughData = -2201, //FC Can this happen? - EComposerEndOfStream = -2202,//FC Can this happen? - EComposerBufferTooSmall = -2203,//FC Can this happen? - EComposerUnsupportedFormat = -2204,//FC Can this happen? - EComposerStreamCorrupted = -2205,//FC Can this happen? - EComposerFailure = -2206 - }; - - // file format - enum TFileFormat { - EFileFormatUnrecognized = 0, - EFileFormat3GP, - EFileFormatMP4 - }; - - // video format - enum TVideoFormat { - EVideoFormatNone = 0, - EVideoFormatH263Profile0Level10, - EVideoFormatH263Profile0Level45, - EVideoFormatMPEG4, - EVideoFormatAVCProfileBaseline - }; - - // audio format - enum TAudioFormat - { - EAudioFormatNone = 0, - EAudioFormatAMR, - EAudioFormatAAC - }; - - public: // Data structures - - // common stream parameters - struct TStreamParameters - { - TBool iHaveVideo; // is there video in the stream ? - TBool iHaveAudio; // is there audio in the stream ? - TUint iNumDemuxChannels; // number of demux channels - TFileFormat iFileFormat; // file format - TVideoFormat iVideoFormat; // video format - TAudioFormat iAudioFormat; // audio format - - TUint iAudioFramesInSample; // audio frames per one sample (3GPP) - - TUint iVideoWidth; // width of a video frame - TUint iVideoHeight; // height of a video frame - TInt64 iVideoPicturePeriodNsec; // one PCF tick period in nanoseconds - TUint iVideoIntraFrequency; // intra frame frequency in stream - - TUint iStreamLength; // stream length in milliseconds - TUint iVideoLength; - TUint iAudioLength; - - TBool iCanSeek; // TRUE if seeking in file is possible - - TUint iStreamSize; // stream size in bytes - TUint iStreamBitrate; // stream average bitrate - - TUint iMaxPacketSize; // The maximum media packet size - TUint iLogicalChannelNumberVideo; // Logical channel number for video data - TUint iLogicalChannelNumberAudio; // Logical channel number for audio data - TUint iReferencePicturesNeeded; // Number of reference pictures - // the video decoder needs to store. - TUint iNumScalabilityLayers; // The number of different scalability layers used - TUint iLayerFrameRates[8]; // Picture rate for each layer - - TReal iFrameRate; - TInt iVideoTimeScale; - TInt iAudioTimeScale; - - }; - - public: // Constructors and destructor - - public: // New functions - - /** - * Composer the stream header. - * @param aStreamParameters Stream parameters - */ - virtual void ComposeHeaderL(CComposer::TStreamParameters& aStreamParameters, - TInt aOutputVideoTimeScale, TInt aOutputAudioTimeScale, TInt aAudioFramesInSample) = 0; - - virtual TInt Close() = 0; - - virtual TInt WriteFrames(TDesC8& aSrcBuffer, TInt aFrameSize,TInt aDuration, - TInt aKeyFrame,TInt aNumberOfFrames,TInt aFrameType) = 0; - - virtual TInt WriteFrames(TDesC8& aSrcBuffer, TInt aFrameSize,TInt aDuration, - TInt aKeyFrame,TInt aNumberOfFrames,TInt aFrameType, TInt& aMP4Size, - TBool aModeChanged,TBool aFirstFrameOfClip,TInt aMode, TBool aFromEncoder) = 0; - - virtual TUint8* GetComposedBuffer() = 0; //Added for buffer support - - virtual TUint GetComposedBufferSize() = 0; //Added for buffer support - - /** - * Calculate free space on the target output drive in bytes. - * - * @param None - * @return Free space in bytes - */ - virtual TInt64 DriveFreeSpaceL() = 0; - - - }; - -#endif // __PARSER_H__ - -// End of File