diff -r 000000000000 -r 307788aac0a8 rtp/rtpstack/inc/rtppacketparam.h --- /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 +#include + +// 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