multimediacommscontroller/mmcch263payloadformat/inc/mcch263payloadencoder.h
changeset 0 1bce908db942
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/multimediacommscontroller/mmcch263payloadformat/inc/mcch263payloadencoder.h	Tue Feb 02 01:04:58 2010 +0200
@@ -0,0 +1,113 @@
+/*
+* 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 MCCH263PAYLOADENCODER_H
+#define MCCH263PAYLOADENCODER_H
+
+// ============================ INCLUDES =======================================
+
+#include <e32base.h>
+#include <mmf/server/mmfformat.h>
+#include "rtpheader.h"
+#include "mccrtpdatasink.h"
+
+const TInt KConst2 = 2;
+const TInt KThree = 3;
+const TInt KConst3 = 3;
+const TInt KFour = 4;
+const TInt KConst4 = 4;
+const TInt KFive = 5;
+const TInt KConst5 = 5;
+const TInt KSix = 6;
+const TInt KConst6 = 6;
+const TInt KSeven = 7;
+const TInt KConst7 = 7;
+const TInt KEight = 8;
+const TInt KConst9 = 9;
+const TInt KTen = 10;
+const TInt KConst10 = 10;
+const TInt KConst13 = 13;
+const TInt KConst32 = 32;
+const TInt KConst100 = 100;
+const TInt KThousand = 1000;
+
+const TUint KMaxPacketSize = 2048;  //maximum data size of RTP packet in bytes
+const TUint KAudioPacketSize = 150; //target size for audio packet in bytes. 
+const TUint KVideoPacketSize = 920; //target size for video packet in bytes.
+const TInt  KPacketTimeOut = 10;    //RTCP time out check interval 
+const TInt  KBufferSize = 50;       //maximum number of RTP packets that are
+                                    //buffered
+
+// ============================ CLASS DECLARATIONS =============================
+/**
+*  Implements RFC 2190
+*/
+
+class CBufferContainer : public CBase
+	{
+	public:
+		TRtpSendHeader iSendHeader;
+		CMMFBuffer* iBuffer;
+		
+		CBufferContainer(){	};
+		inline ~CBufferContainer()
+			{
+			delete iBuffer;
+			}
+	};
+	
+/**
+* Structure used to store H263 Header A Information in CIPMediaVideoSink
+* @since SWIS Lite
+*/ 
+class CH263headerA : public CBase
+    {
+    public:
+		TUint8 F;
+		TUint8 P;
+		TUint8 SBIT;
+		TUint8 EBIT;
+		TUint8 SRC;
+		TUint8 I;
+		TUint8 U;
+		TUint8 S;
+		TUint8 A;
+		TUint8 R;
+		TUint8 DBQ;
+		TUint8 TRB;
+		TUint8 TR;
+    };
+
+class CMccH263PayloadEncoder: public CBase
+	{
+	public:
+    
+	    /**
+	    */
+	    virtual void EncodeL( CMMFBuffer* aBuffer, 
+	    	RPointerArray<CBufferContainer>& aDesBuffers ) = 0;
+
+	    virtual void SetPayloadType( TUint8 aPayloadType ) = 0;
+	    
+	    CMccH263PayloadEncoder() {};
+
+	};
+
+
+#endif