diff -r 951a5db380a0 -r e0b5df5c0969 videoeditorengine/audioeditorengine/inc/AudCommon.h --- a/videoeditorengine/audioeditorengine/inc/AudCommon.h Fri Jan 29 14:08:33 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,223 +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: -* Common definitions for audio. -* -*/ - - - -#ifndef __AUDCOMMON_H__ -#define __AUDCOMMON_H__ - -#include - - -const TInt KErrNoAudio = -400; -/** - * Enumeration for audio file formats. - */ -enum TAudFormat - { - EAudFormatUnrecognized = 100001, // should always be the first one - EAudFormat3GPP, - EAudFormatMP4, - EAudFormatAMR, - EAudFormatAMRWB, - EAudFormatMP3, - EAudFormatAAC_ADIF, - EAudFormatAAC_ADTS, - EAudFormatWAV, - EAudFormatLast // should always be the last one - }; - - -/** - * Enumeration for audio types (that is, codecs). - */ -enum TAudType - { - EAudTypeUnrecognized = 101001, // should always be the first one - EAudNoAudio, - EAudAMR, - EAudAMRWB, - EAudMP3, - EAudAAC_MPEG2, // EAudAAC_MPEG2 not used, all EAudAAC_MPEG is now 4 - EAudAAC_MPEG4, - EAudWAV, - EAudTypeLast // should always be the last one - }; - -/* - Purpose: MPEG-4 Audio object types. - Explanation: - */ -enum TAudAACObjectType -{ - EAudAACObjectTypeNone = -1, - EAudAACObjectTypeMain, - EAudAACObjectTypeLC, - EAudAACObjectTypeSSR, - EAudAACObjectTypeLTP, - EAudAACObjectTypeLast -}; - -/** - * Enumeration for audio extension types (AAC+) - */ -enum TAudExtensionType - { - EAudExtensionTypeNoExtension = 20000, - EAudExtensionTypeEnhancedAACPlus, - EAudExtensionTypeEnhancedAACPlusParametricStereo - - }; - -/** - * Constants for audio clip priorities. - */ -const TInt KAudClipPriorityHighest = 400; -const TInt KAudClipPriorityHigh = 300; -const TInt KAudClipPriorityNormal = 200; -const TInt KAudClipPriorityLow = 100; -const TInt KAudClipPriorityLowest = 0; - - - - - -/** - * Enumeration for channel modes - */ -enum TChannelMode - { - EAudChannelModeNotRecognized = 103001, - EAudStereo, - EAudDualChannel, - EAudSingleChannel, - EAudParametricStereoChannel - }; - -/** - * Enumeration for bitrate modes - */ -enum TBitrateMode - { - EAudBitrateModeNotRecognized = 103001, - EAudConstant, - EAudVariable - }; - -/** - * Class for storing dynamic level marks. - */ -class TAudDynamicLevelMark - { - -public: - - /** Mark time. */ - TTimeIntervalMicroSeconds iTime; - - /** Dynamic level (-63.5 ... +63.5) in dB:s - * one step represents 0.5 dB, hence values can be -127 ... +127 - */ - TInt8 iLevel; - - TAudDynamicLevelMark(TTimeIntervalMicroSeconds aTime, TInt aLevel) - { - iTime = aTime; - if ( aLevel < -127 ) - { - iLevel = -127; - } - else if (aLevel > 127 ) - { - iLevel = 127; - } - else - { - iLevel = TInt8(aLevel); - } - } - - TAudDynamicLevelMark(const TAudDynamicLevelMark& aMark) - { - iTime = aMark.iTime; - iLevel = aMark.iLevel; - } - }; - -/** - * Class for storing general properties about an audio file. - */ -class TAudFileProperties - { - -public: - - // File format - TAudFormat iFileFormat; - // Codec - TAudType iAudioType; - // Extension type - TAudExtensionType iAudioTypeExtension; - // Duration of the clip in microseconds - TTimeIntervalMicroSeconds iDuration; - // Sampling rate in Hertzes - TInt iSamplingRate; - // Bitrate in bits/s - TInt iBitrate; - // Channel mode - TChannelMode iChannelMode; - // Channel mode for extension - TChannelMode iChannelModeExtension; - // Bitrate mode (constant or variable) - TBitrateMode iBitrateMode; - // Number of bytes in a compressed frame - TInt32 iFrameLen; - // Is iFrameLen constant? - TBool iConstantFrameLength; - // Duration of decoded frame in microseconds - TTimeIntervalMicroSeconds iFrameDuration; - // Number of frames in the clip - TInt32 iFrameCount; -// TCodecMode iCodecMode; - // Number of frames in a sample (e.g. amr in mp4 has several) - TInt iNumFramesPerSample; - // Bitdepth in PCM data (usually 8, 16 or 24, only for PCM-data) - TInt iNumberOfBitsPerSample; - // Original field in MP3 fixed header - TBool iOriginal; - - // AAC object type - TAudAACObjectType iAACObjectType; - - TBool isCompatible(const TAudFileProperties /*&c2*/) const - { - - // Now that the clips can be decoded and encoded - // all the clips are "compatible" with each other - - return ETrue; - - - } - - }; - - - -#endif // __AUDCOMMON_H__ -