diff -r 000000000000 -r 71ca22bcf22a mmserv/voipaudioservices/JitterBufferUtility/inc/InternalDef.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmserv/voipaudioservices/JitterBufferUtility/inc/InternalDef.h Tue Feb 02 01:08:46 2010 +0200 @@ -0,0 +1,92 @@ +/* +* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "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: +* +* Description: Mcc Internal definitions +* +*/ + + + +#ifndef INTERNALDEF_H +#define INTERNALDEF_H + + +// CONSTANTS +// When the remote end sends us SID/CN frames, then we can update the SID/CN +// parameters programmatically. Otherwise, we should not try to "emulate" +// SID/CN frames as this can lead to degradation of audio quality. Instead, +// we will send NULL/NO_DATA into the decoder. + +// AMR-NB SID FT value is 8 and is located in the upper 4 bits +// See 3GPP TS 26.101 +const TUint8 KAmrSidMode = 8; + +// AMR-NB mode mask +const TUint8 KAmrModeMask = 0x78; + +// AMR-NB SID Update frame interval +const TInt KAmrNbSidUpdateInterval = 8; + +// Minimum required data length for DTX decision +const TInt KMinDataLenForDtx = 1; + +// AMR NO_DATA frame needs one byte +// See 3GPP TS 26.101 and RFC 2367 +// ________________ +// |0|1|1|1|1|1|0|0| +// |P| FT |Q|P|P| +// +// P = PADDING +// FT = 15 = NO_DATA +// Q = QUALITY +const TUint8 KAmrNoDataFrame = 0x7C; + +// Length of the header and AMR NO_DATA frames +const TInt KNoDataLength = 1; + +// AMR mode solving needs 3 bit shift +const TInt KModeShiftBits = 3; + +// VoIP codec header bytes can be either audio, comfort noise or unvoiced +// non-sid (null/no data) frame. Unvoiced non-sid frame is detected when +// the header byte does not indicate audio or comfort noise. +//const TUint8 KVoIPAudioFrame = 1; +const TUint8 KVoIPCNFrame = 2; + + +const TUint KJBAdaptUpdateIval = 250; +const TUint KJBMillisecondsToMicroseconds = 1000; +const TUint KJBEmptyBufferDelay = 2; + +const TInt KDefaultSampleRateInkHz = 8; +const TInt KLowBufferLimit = 2; +const TInt KOverflowAlarmLimit = 20; + +// Codec frame sizes +const TInt KAMRNBFrameSize = 32; +const TInt KILBCFrameSize = 52; +const TInt KG729FrameSize = 24; // 10 octets + 2 for header + +// Max possible sequence number of RTP packet with standard RTP header. +const TUint KMaxSeqNumber = 0xFFFF; // 16-bit value + +// Codec frame times +const TInt KAMRNBFrameTime = 20; + +// VoIP codecs have a two byte header +const TInt KVoIPHeaderLength = 2; + +#endif //INTERNALDEF_H + + +// End of file