--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rtp/rtpstack/inc/rtppacketparam.h Tue Feb 02 01:03:15 2010 +0200
@@ -0,0 +1,310 @@
+/*
+* Copyright (c) 2004-2005 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 __RTPPACKETPARAM_H
+#define __RTPPACKETPARAM_H
+
+// INCLUDES
+//#include <e32def.h>
+#include <rtpheader.h>
+
+// DATA TYPES
+enum TRtpPacketType
+ {
+ ERTP = 1,
+ ERTCP_HEADER = 2,
+ ERTCP_SR = 200,
+ ERTCP_RR = 201,
+ ERTCP_SDES = 202,
+ ERTCP_BYE = 203,
+ ERTCP_APP = 204
+ };
+
+/**
+* Stream status parameters as received in latest packet.
+*
+* @lib RtpService.dll
+*/
+class TRtpPacketStreamParam
+ {
+ public://Nested classes
+
+ /**
+ * RTP packet
+ * Header field
+ **/
+ class TRtpStreamHeaderField
+ {
+ public: //Constructor
+ TRtpStreamHeaderField();
+
+ public: //Data
+ TRtpSSRC SSRC;
+ TUint8 payload;
+ TRtpSequence seqNum;
+ TRtpTimeStamp timeStamp;
+ };
+
+ /**
+ * RTCP packet
+ * Header field
+ **/
+ class TRtcpStreamHeaderField
+ {
+ public://Constructor
+ TRtcpStreamHeaderField();
+
+ public: //Data
+ TRtpSSRC SSRC;
+ };
+
+ /**
+ * RTCP packet
+ * SR field
+ **/
+ class TRtcpStreamHeaderFieldSR
+ {
+ public://Constructor
+ TRtcpStreamHeaderFieldSR();
+
+ public://Data
+ TRtpSSRC SSRC;
+ TUint cumNumOctetsSent;
+ TUint numPacketsSent;
+ };
+
+ /**
+ * RTCP packet
+ * RR field
+ **/
+ class TRtcpStreamHeaderFieldRR
+ {
+ public://Constructor
+ TRtcpStreamHeaderFieldRR();
+
+ public: //Data
+ TRtpSSRC SSRC;
+ TUint8 fractionLost;
+ TUint cumNumPacketsLost;
+ TUint32 seqNumReceived;
+ TUint arrivalJitter;
+ };
+
+ /**
+ * RTCP packet
+ * SDES field
+ **/
+ class TRtcpStreamHeaderFieldSDES
+ {
+ public://Constructor
+ TRtcpStreamHeaderFieldSDES();
+
+ public://Data
+ TRtpSSRC SSRC;
+ };
+
+ /**
+ * RTCP packet
+ * BYE field
+ **/
+ class TRtcpStreamHeaderFieldBYE
+ {
+ public://Constructor
+ TRtcpStreamHeaderFieldBYE();
+
+ public://Data
+ TRtpSSRC SSRC;
+ };
+
+ /**
+ * RTCP packet
+ * APP field
+ **/
+ class TRtcpStreamHeaderFieldAPP
+ {
+ public: //Constructor
+ TRtcpStreamHeaderFieldAPP();
+
+ public://Data
+ TRtpSSRC SSRC;
+ TInt totalPacketLen;
+ };
+
+ public://Packet data fields
+ TRtpStreamHeaderField TRTP;
+ TRtcpStreamHeaderField TRTCP_HEADER;
+ TRtcpStreamHeaderFieldSR TRTCP_SR;
+ TRtcpStreamHeaderFieldRR TRTCP_RR;
+ TRtcpStreamHeaderFieldSDES TRTCP_SDES;
+ TRtcpStreamHeaderFieldBYE TRTCP_BYE;
+ TRtcpStreamHeaderFieldAPP TRTCP_APP;
+ };
+
+/**
+* Other passed/parsed parameters of the packet.
+*
+* @lib RtpService.dll
+*/
+class TRtpPacketIOParam
+ {
+ public://Nested classes
+
+ /**
+ * RTP packet
+ * Header field
+ **/
+ class TRtpIOHeaderField
+ {
+
+ public://Constructor
+ TRtpIOHeaderField();
+
+ public://Data
+ TUint8 padding;
+ TUint8 marker;
+ TUint8 fHeaderExtension;
+ TUint8 numCSRC;
+ TUint32* CSRCarray;
+ TUint8* payloadData;
+ TInt payloadDataLen;
+
+ public://Nested class
+ /**
+ * RTP packet
+ * Header extension field
+ **/
+ class TRtpIOHeaderExtension
+ {
+ public://Constructor && Destructor
+ TRtpIOHeaderExtension();
+
+ public://Data
+ TInt type;
+ TInt length;
+ TUint8* data;
+ };
+
+ public://Packet data field
+ TRtpIOHeaderExtension extension;
+
+ };
+
+ /**
+ * RTCP packet
+ * Header field
+ **/
+ class TRtcpIOHeaderField
+ {
+ public://Constructor
+ TRtcpIOHeaderField();
+
+ public://Data
+ TRtpPacketType pt;
+ TInt sourceCount;
+ TInt length;
+ };
+
+ /**
+ * RTCP packet
+ * SR field
+ **/
+ class TRtcpIOHeaderFieldSR
+ {
+ public://Constructor
+ TRtcpIOHeaderFieldSR();
+
+ public://Data
+ TUint32 NTPTimeStampSec;
+ TUint32 NTPTimeStampFrac;
+ TRtpTimeStamp timeStamp;
+ };
+
+ /**
+ * RTCP packet
+ * RR field
+ **/
+ class TRtcpIOHeaderFieldRR
+ {
+ public://Constructor
+ TRtcpIOHeaderFieldRR();
+
+ public://Data
+ TUint32 lastSRTimeStamp;
+ TUint32 delaySinceLSR;
+ };
+
+ /**
+ * RTCP packet
+ * SDES field
+ **/
+ class TRtcpIOHeaderFieldSDES
+ {
+ public://Constructor
+ TRtcpIOHeaderFieldSDES();
+
+ public://Data
+ TUint8* sdesItems[8];
+ TInt sdesItemsSize[8];
+ TInt paddingSize;
+ };
+
+ /**
+ * RTCP packet
+ * BYE field
+ **/
+ class TRtcpIOHeaderFieldBYE
+ {
+ public://Constructor
+ TRtcpIOHeaderFieldBYE();
+
+ public://Data
+ TUint8* reason;
+ TInt reasonSize;
+ TInt paddingSize;
+ };
+
+ /**
+ * RTCP packet
+ * APP field
+ **/
+ class TRtcpIOHeaderFieldAPP
+ {
+ public://Constructor
+ TRtcpIOHeaderFieldAPP();
+
+ public://Data
+ TRtcpAppName name;
+ TUint8* appData;
+ TInt appDataLen;
+ };
+
+ public:// Packet data fields
+ TRtpIOHeaderField TRTP;
+ TRtcpIOHeaderField TRTCP_HEADER;
+ TRtcpIOHeaderFieldSR TRTCP_SR;
+ TRtcpIOHeaderFieldRR TRTCP_RR;
+ TRtcpIOHeaderFieldSDES TRTCP_SDES;
+ TRtcpIOHeaderFieldBYE TRTCP_BYE;
+ TRtcpIOHeaderFieldAPP TRTCP_APP;
+ };
+
+#endif // __RTPPACKETPARAMS_H
+
+// End of File