multimediacommscontroller/mmccamrpayloadformat/inc/amrframe.h
changeset 0 1bce908db942
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/multimediacommscontroller/mmccamrpayloadformat/inc/amrframe.h	Tue Feb 02 01:04:58 2010 +0200
@@ -0,0 +1,112 @@
+/*
+* Copyright (c) 2006 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:    
+*
+*/
+
+
+
+
+#ifndef AMRFRAME_H
+#define AMRFRAME_H
+
+#include <e32base.h>
+
+// DATA TYPES
+
+/**
+*  AMR frame type ( narrow band ).
+*  Digits from enumeration names refer to bit-rate in kbps.
+*/
+enum TAmrFrameType
+    {
+    EAmrFrame4_75 = 0,
+    EAmrFrame5_15 = 1,
+    EAmrFrame5_9 = 2,
+    EAmrFrame6_7 = 3,
+    EAmrFrame7_4 = 4,
+    EAmrFrame7_95 = 5,
+    EAmrFrame10_2 = 6,
+    EAmrFrame12_2 = 7,
+    EAmrFrameSid = 8,       // Silence indicator ( SID ) frame
+                            // contains only comfort noise ( CN ) parameters
+    EAmrFrameNoData = 15    // No data
+    };
+/**
+*  AMR frame type ( wide band ).
+*  Digits from enumeration names refer to bit-rate in kbps.
+*/
+enum TAmrWbFrameType
+    {
+    EAmrWbFrame6_60 = 0,
+    EAmrWbFrame8_85 = 1,
+    EAmrWbFrame12_65 = 2,
+    EAmrWbFrame14_25 = 3,
+    EAmrWbFrame15_85 = 4,
+    EAmrWbFrame18_25 = 5,
+    EAmrWbFrame19_85 = 6,
+    EAmrWbFrame23_05 = 7,
+    EAmrWbFrame23_85 = 8,
+    EAmrWbFrameSid = 9,       // Silence indicator ( SID ) frame
+                            // contains only comfort noise ( CN ) parameters
+    EAmrWbFrameNoData = 15    // No data
+    };
+    
+
+// CLASS DECLARATION
+
+/**
+* The AMR payload decoder for bandwidth efficient mode.
+*
+* @lib      Mccamrplformat.dll
+* @since    Series 60 3.1
+*/
+class TAmrFrame
+    {
+    
+public:  // Constructors and destructor
+
+    /**
+    * Constructor.
+    */
+    TAmrFrame( );
+
+public:     // Data
+
+    // Frame type ( FT, 4 bits )
+    TAmrFrameType iFrameType;
+
+    // Frame quality indicator ( Q, 1 bit ); 1 if frame OK; 0 if frame damaged
+    TUint8 iFrameQualityInd;
+        
+    // CRC ( Cyclic Redundancy Code, 8 bits ) for the frame
+    TUint8 iCrc;
+        
+    // Audio channel ( starts from zero ) which this frame belongs to
+    TInt iChannel;
+        
+    // Pointer to frame data; data length depends on frame type
+    TUint8* iFrameData;
+        
+    // Starting bit index of frame data pointed to by `iFrameData'
+    TUint iBitIndex;
+    
+    };
+
+
+
+
+#include "amrframe.inl"
+
+#endif        //    AMRFRAME_H
\ No newline at end of file