diff -r 000000000000 -r 307788aac0a8 realtimenetprots/rtp/shimrtp/inc/rtpprepostprocessingcallback.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/realtimenetprots/rtp/shimrtp/inc/rtpprepostprocessingcallback.h Tue Feb 02 01:03:15 2010 +0200 @@ -0,0 +1,215 @@ +// Copyright (c) 2004-2009 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: M Class that gives the interface functions for pre/post processing callback +// functions for RTP/RTCP packets. +// + +/** +@file +@internalComponent +*/ + +#ifndef PREPOSTPROCESSINGCALLBACK_H +#define PREPOSTPROCESSINGCALLBACK_H + +/** + * @internalComponent + */ +class MPrePostProcessingCallback + { + public: + virtual TInt PreRtpProcessing(TDes8&) = 0; + virtual void PostRtpProcessing(TDes8&) = 0; + virtual TInt PreRtcpProcessing(TDes8&) = 0; + virtual void PostRtcpProcessing(TDes8&) = 0; + }; + +/** +@internalComponent + +RTCP statistics class. + +The class stores following RTCP statistics for the current RTP session + +1. Cumulative number of packet sent since + the RTP session started until current SR report is generated +2. Number of payload octets sent since the RTP session started until + current SR report is generated +3. Inter arrival jitter +4. Cumulative number of packet lost since the beginning of reception +5. Fraction of packets lost current active RTP session since the previous + RR packet was sent + +@see RRtpSession +@see RRtpSendSource +@see RRtpReceiveSource +*/ + +class TRtcpStatistics + { +private: + TUint32 iPacketsSent; + TUint32 iOctetsSent; + TUint32 iJitter; + TInt iPacketsLost; + TUint8 iFractionLost; +public: + inline TRtcpStatistics(); + inline TUint32 PacketsSent(); + inline TUint32 OctetsSent(); + inline TUint32 Jitter(); + inline TInt PacketsLost(); + inline TUint8 FractionLost(); + inline void SetPacketsSent(TUint32); + inline void SetOctetsSent(TUint32); + inline void SetJitter(TUint32); + inline void SetPacketsLost(TInt); + inline void SetFractionLost(TUint8); + }; + +/** +Constructor for the RTCP statistics class +*/ + +inline TRtcpStatistics::TRtcpStatistics() + { + iPacketsSent = 0; + iOctetsSent = 0; + iJitter = 0; + iPacketsLost = 0; + iFractionLost = 0; + } + + +/** +Sets the Packets sent remote RTCP Staistics for the current RTP session + +@param Packets Sent for the current session + +*/ + +inline void TRtcpStatistics::SetPacketsSent(TUint32 aPacketsSent) + { + iPacketsSent = aPacketsSent; + } + +/** +Sets the Octets sent remote RTCP Staistics for the current RTP session + +@param Octets Sent for the current session + +*/ + +inline void TRtcpStatistics::SetOctetsSent(TUint32 aOctetsSent) + { + iOctetsSent = aOctetsSent; + } + +/** +Sets the Jitter remote RTCP Staistics for the current RTP session + +@param Jitter for the current session + +*/ + +inline void TRtcpStatistics::SetJitter(TUint32 aJitter) + { + iJitter = aJitter; + } + +/** +Sets the Packets lost remote RTCP Staistics for the current RTP session + +@param Packets lost for the current session + +*/ + +inline void TRtcpStatistics::SetPacketsLost(TInt aPacketsLost) + { + iPacketsLost = aPacketsLost; + } + +/** +Sets the Fraction of Packets lost remote RTCP Staistics for the current RTP session + +@param Fraction of Packets lost for the current session + +*/ + +inline void TRtcpStatistics::SetFractionLost(TUint8 aFractionLost) + { + iFractionLost = aFractionLost; + } + +/** +Gets the Packets sent remote RTCP Staistics for the current RTP session + +@return Packets Sent for the current session + +*/ + +inline TUint32 TRtcpStatistics::PacketsSent() + { + return iPacketsSent; + } + +/** +Gets the Octets sent remote RTCP Staistics for the current RTP session + +@return Octets Sent for the current session + +*/ + +inline TUint32 TRtcpStatistics::OctetsSent() + { + return iOctetsSent; + } + +/** +Gets the Jitter remote RTCP Staistics for the current RTP session + +@return Jitter for the current session + +*/ + +inline TUint32 TRtcpStatistics::Jitter() + { + return iJitter; + } + +/** +Gets the Packets lost remote RTCP Staistics for the current RTP session + +@return Packets lost for the current session + +*/ + +inline TInt TRtcpStatistics::PacketsLost() + { + return iPacketsLost; + } + +/** +Gets the Fraction of Packets lost remote RTCP Staistics for the current RTP session + +@return Fraction of Packets lost for the current session + +*/ + +inline TUint8 TRtcpStatistics::FractionLost() + { + return iFractionLost; + } + + +#endif // PREPOSTPROCESSINGCALLBACK_H