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 *)
voidResetRtcpReportFlag()
TInt ResetStreamStat()
voidRtpStreamCreateRtcpReportSection(CRtpPacket *)
TRtpRtcpEnum RtpStreamProcessRtcpReportSectionL(CRtpPacket *)
TBool SentRTPPackets()
TBool SentRtcpReport()
voidSetBandwidth(TUint32)
voidSetRtcpReportFlag()
voidSetSentRTPPackets(TBool)
Private Member Functions
CRtpTranStream(const TRtpPayloadType, const TRtpId, const TRtpId, const TRtpSSRC, MRtcpObserver *, const TUint32 *)
voidConstructL()
voidEstimateBandWidths(TUint32)
voidIncCumNumOctetsSent(TUint32)
voidRtpStreamSyncCurrent(TRtpTimeSync *)
TUint32 RtpStreamSyncGetRoundTripDelay(TUint32, TUint32)
voidRtpStreamSyncInit(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 TRtpPayloadTypeaPayloadType,
const TRtpIdaSessionId,
const TRtpIdaStreamId,
const TRtpSSRCaSSRC,
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,
TRtpSequenceaSeqNum,
TBoolaSetSeqNum,
CRtpPacket *aPktSnd
)

Parameters

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

ConstructL()

voidConstructL()[private]

EstimateBandWidths(TUint32)

voidEstimateBandWidths(TUint32aCurrentTime)[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)

voidIncCumNumOctetsSent(TUint32aInc)[private, inline]

Parameters

TUint32 aInc

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

CRtpTranStream *NewL(const TRtpPayloadTypeaPayloadType,
const TRtpIdaSessionID,
const TRtpIdaTranStreamID,
const TRtpSSRCaSSRC,
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()

voidResetRtcpReportFlag()[inline]

ResetStreamStat()

TInt ResetStreamStat()[virtual]

RtpStreamCreateRtcpReportSection(CRtpPacket *)

voidRtpStreamCreateRtcpReportSection(CRtpPacket *aPkt)[virtual]

Parameters

CRtpPacket * aPkt

RtpStreamProcessRtcpReportSectionL(CRtpPacket *)

TRtpRtcpEnum RtpStreamProcessRtcpReportSectionL(CRtpPacket *aPkt)[virtual]

Parameters

CRtpPacket * aPkt

RtpStreamSyncCurrent(TRtpTimeSync *)

voidRtpStreamSyncCurrent(TRtpTimeSync *aSyncInfoCurrent)[private]

Parameters

TRtpTimeSync * aSyncInfoCurrent

RtpStreamSyncGetRoundTripDelay(TUint32, TUint32)

TUint32 RtpStreamSyncGetRoundTripDelay(TUint32lastSRTimeStamp,
TUint32delaySinceLSR
)[private]

Parameters

TUint32 lastSRTimeStamp
TUint32 delaySinceLSR

RtpStreamSyncInit(TRtpTimeStamp)

voidRtpStreamSyncInit(TRtpTimeStampinitTimeStamp)[private]

Parameters

TRtpTimeStamp initTimeStamp

SentRTPPackets()

TBool SentRTPPackets()const [inline]

SentRtcpReport()

TBool SentRtcpReport()[inline]

SetBandwidth(TUint32)

voidSetBandwidth(TUint32aBandwidth)[inline]

Parameters

TUint32 aBandwidth

SetRtcpReportFlag()

voidSetRtcpReportFlag()[inline]

SetSentRTPPackets(TBool)

voidSetSentRTPPackets(TBoolaFlag)[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]