CRtpTranStream Class Reference

class CRtpTranStream : public CRtpStream

Derived class for RTP transmit stream.

RtpService.dll

Inherits from

Public Member Functions
~CRtpTranStream ()
TInt BuildRtcpAPPPacket (const TRtcpApp &, CRtpPacket *)
TInt BuildRtcpBYEPacket (const TDesC8 &, CRtpPacket *)
TInt BuildRtpPacket (const TRtpSendHeader &, const TDesC8 &, TRtpSequence , TBool , CRtpPacket *)
TInt GetStreamStat ( TRtpPeerStat &)
CRtpTranStream * NewL (const TRtpPayloadType , const TRtpId , const TRtpId , const TRtpSSRC , MRtcpObserver *, const TUint32 *)
void ResetRtcpReportFlag ()
TInt ResetStreamStat ()
void RtpStreamCreateRtcpReportSection ( CRtpPacket *)
TRtpRtcpEnum RtpStreamProcessRtcpReportSectionL ( CRtpPacket *)
TBool SentRTPPackets ()
TBool SentRtcpReport ()
void SetBandwidth ( TUint32 )
void SetRtcpReportFlag ()
void SetSentRTPPackets ( TBool )
Private Member Functions
CRtpTranStream (const TRtpPayloadType , const TRtpId , const TRtpId , const TRtpSSRC , MRtcpObserver *, const TUint32 *)
void ConstructL ()
void EstimateBandWidths ( TUint32 )
void IncCumNumOctetsSent ( TUint32 )
void RtpStreamSyncCurrent ( TRtpTimeSync *)
TUint32 RtpStreamSyncGetRoundTripDelay ( TUint32 , TUint32 )
void RtpStreamSyncInit ( TRtpTimeStamp )
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
CRtpStream::CRtpStream(const TRtpId,const TRtpId,const TUint32 *,MRtcpObserver *,const TRtpPayloadType)
CRtpStream::FirstPkg()const
CRtpStream::GetLocalSSRC()const
CRtpStream::GetStreamID()const
CRtpStream::RegisterRtcpObserver(MRtcpObserver &)
CRtpStream::RtcpStats(TRtcpStats &)
CRtpStream::SetFirstPkg(TBool)
CRtpStream::SetLocalSSRC(TRtpSSRC)
CRtpStream::UnRegisterRtcpObserver()
CRtpStream::~CRtpStream()
Private Attributes
TUint32 iCumNumOctetsReceived
TUint32 iCumNumOctetsSent
TUint32 iCumNumOctetsSent_last
TBool iFSentRtcpReport
TBool iFSetSeqNum
TBool iFlagSentRTPPackets
TUint32 iPrevRemoteTime
TUint32 iPreviousRemoteSN
TUint32 iPreviousTime
TUint32 iRemoteBandwidth
TUint32 iSN_size
Inherited Attributes
CRtpStream::iBaseSeqNum
CRtpStream::iFlagFirstPkg
CRtpStream::iLocalSSRC
CRtpStream::iPayload
CRtpStream::iProfileRTPTimeRates
CRtpStream::iRtcpObserver
CRtpStream::iRtcpStats
CRtpStream::iSeqNum
CRtpStream::iSeqNumCycles
CRtpStream::iSessionId
CRtpStream::iStreamId
CRtpStream::iSyncInfo
CRtpStream::iTimeStamp

Constructor & Destructor Documentation

CRtpTranStream(const TRtpPayloadType, const TRtpId, const TRtpId, const TRtpSSRC, MRtcpObserver *, const TUint32 *)

CRtpTranStream ( const TRtpPayloadType aPayloadType,
const TRtpId aSessionId,
const TRtpId aStreamId,
const TRtpSSRC aSSRC,
MRtcpObserver * aRtcpObserver,
const TUint32 * aProfileRTPTimeRates
) [private]

Parameters

const TRtpPayloadType aPayloadType
const TRtpId aSessionId
const TRtpId aStreamId
const TRtpSSRC aSSRC
MRtcpObserver * aRtcpObserver
const TUint32 * aProfileRTPTimeRates

~CRtpTranStream()

~CRtpTranStream ( )

Member Functions Documentation

BuildRtcpAPPPacket(const TRtcpApp &, CRtpPacket *)

TInt BuildRtcpAPPPacket ( const TRtcpApp & aApp,
CRtpPacket * aPktRtcpSnd
)

Parameters

const TRtcpApp & aApp
CRtpPacket * aPktRtcpSnd

BuildRtcpBYEPacket(const TDesC8 &, CRtpPacket *)

TInt BuildRtcpBYEPacket ( const TDesC8 & aReason,
CRtpPacket * aPktRtcpSnd
)

Parameters

const TDesC8 & aReason
CRtpPacket * aPktRtcpSnd

BuildRtpPacket(const TRtpSendHeader &, const TDesC8 &, TRtpSequence, TBool, CRtpPacket *)

TInt BuildRtpPacket ( const TRtpSendHeader & aHeaderInfo,
const TDesC8 & aPayloadData,
TRtpSequence aSeqNum,
TBool aSetSeqNum,
CRtpPacket * aPktSnd
)

Parameters

const TRtpSendHeader & aHeaderInfo
const TDesC8 & aPayloadData
TRtpSequence aSeqNum
TBool aSetSeqNum
CRtpPacket * aPktSnd

ConstructL()

void ConstructL ( ) [private]

EstimateBandWidths(TUint32)

void EstimateBandWidths ( TUint32 aCurrentTime ) [private]
Makes an estimate of the Tx and Rx bandwidths. NOTE: This is just a simple estimate, which assumes the following:
  • this is an end-to-end session

  • the sessions and streams are set up before traffic starts

  • the payload bitrate is constant The result of this estimation should not be used in any other contexts.

Parameters

TUint32 aCurrentTime

GetStreamStat(TRtpPeerStat &)

TInt GetStreamStat ( TRtpPeerStat & aStat ) [virtual]

Parameters

TRtpPeerStat & aStat

IncCumNumOctetsSent(TUint32)

void IncCumNumOctetsSent ( TUint32 aInc ) [private, inline]

Parameters

TUint32 aInc

NewL(const TRtpPayloadType, const TRtpId, const TRtpId, const TRtpSSRC, MRtcpObserver *, const TUint32 *)

CRtpTranStream * NewL ( const TRtpPayloadType aPayloadType,
const TRtpId aSessionID,
const TRtpId aTranStreamID,
const TRtpSSRC aSSRC,
MRtcpObserver * aObserver,
const TUint32 * aProfileRTPTimeRates
) [static]

Parameters

const TRtpPayloadType aPayloadType
const TRtpId aSessionID
const TRtpId aTranStreamID
const TRtpSSRC aSSRC
MRtcpObserver * aObserver
const TUint32 * aProfileRTPTimeRates

ResetRtcpReportFlag()

void ResetRtcpReportFlag ( ) [inline]

ResetStreamStat()

TInt ResetStreamStat ( ) [virtual]

RtpStreamCreateRtcpReportSection(CRtpPacket *)

void RtpStreamCreateRtcpReportSection ( CRtpPacket * aPkt ) [virtual]

Parameters

CRtpPacket * aPkt

RtpStreamProcessRtcpReportSectionL(CRtpPacket *)

TRtpRtcpEnum RtpStreamProcessRtcpReportSectionL ( CRtpPacket * aPkt ) [virtual]

Parameters

CRtpPacket * aPkt

RtpStreamSyncCurrent(TRtpTimeSync *)

void RtpStreamSyncCurrent ( TRtpTimeSync * aSyncInfoCurrent ) [private]

Parameters

TRtpTimeSync * aSyncInfoCurrent

RtpStreamSyncGetRoundTripDelay(TUint32, TUint32)

TUint32 RtpStreamSyncGetRoundTripDelay ( TUint32 lastSRTimeStamp,
TUint32 delaySinceLSR
) [private]

Parameters

TUint32 lastSRTimeStamp
TUint32 delaySinceLSR

RtpStreamSyncInit(TRtpTimeStamp)

void RtpStreamSyncInit ( TRtpTimeStamp initTimeStamp ) [private]

Parameters

TRtpTimeStamp initTimeStamp

SentRTPPackets()

TBool SentRTPPackets ( ) const [inline]

SentRtcpReport()

TBool SentRtcpReport ( ) [inline]

SetBandwidth(TUint32)

void SetBandwidth ( TUint32 aBandwidth ) [inline]

Parameters

TUint32 aBandwidth

SetRtcpReportFlag()

void SetRtcpReportFlag ( ) [inline]

SetSentRTPPackets(TBool)

void SetSentRTPPackets ( TBool aFlag ) [inline]

Parameters

TBool aFlag

Member Data Documentation

TUint32 iCumNumOctetsReceived

TUint32 iCumNumOctetsReceived [private]

TUint32 iCumNumOctetsSent

TUint32 iCumNumOctetsSent [private]

TUint32 iCumNumOctetsSent_last

TUint32 iCumNumOctetsSent_last [private]

TBool iFSentRtcpReport

TBool iFSentRtcpReport [private]

TBool iFSetSeqNum

TBool iFSetSeqNum [private]

TBool iFlagSentRTPPackets

TBool iFlagSentRTPPackets [private]

TUint32 iPrevRemoteTime

TUint32 iPrevRemoteTime [private]

TUint32 iPreviousRemoteSN

TUint32 iPreviousRemoteSN [private]

TUint32 iPreviousTime

TUint32 iPreviousTime [private]

TUint32 iRemoteBandwidth

TUint32 iRemoteBandwidth [private]

TUint32 iSN_size

TUint32 iSN_size [private]