mmserv/voipaudioservices/JitterBufferUtility/inc/InternalDef.h
changeset 0 71ca22bcf22a
child 53 eabc8c503852
--- /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