CRtpSession Class Reference
class CRtpSession : public CBase
|
class for rtp session.
RtpService.dll
Public Member Functions
|
|
~CRtpSession
()
|
void
|
CancelSend
()
|
TBool
|
CheckRemoteAddr
()
|
TInt
|
CheckRemoteSsrcL
(
TRtpSSRC
&)
|
void
|
CloseStream
(
TRtpId
)
|
TInt
|
CreateReceiveStreamL
(
TRtpId
, const
TRtpPayloadType
)
|
TInt
|
CreateTransmitStreamExtL
(
TRtpId
, const
TRtpPayloadType
, const
TUint32
)
|
TInt
|
CreateTransmitStreamL
(
TRtpId
, const
TRtpPayloadType
,
TUint32
&)
|
RSocket
*
|
GetRtcpSocket
()
|
RSocket
*
|
GetRtpSocket
()
|
TRtpId
|
GetSessionId
()
|
TInt
|
GetStreamStatistics
(
TRtpId
,
TRtpPeerStat
&)
|
TInt
|
IsRtcpSendingSuspended
(
TBool
&)
|
TBool
|
IsSrtp
()
|
CRtpSession
*
|
NewL
(const
TCreateSessionParams
&,
TUint
&,
TBool
, const
TRtcpParams
*,
RSocketServ
&,
RConnection
&, const
TRtpId
, const
CRtpSDES
*, const
TUint32
*, const
TBool
, const
RLibrary
&,
MRtpErrNotify
&,
MRtpAsignUniqueID
&)
|
void
|
OnExpiredL
(
TInt
)
|
void
|
OnPacketRejected
(
TPortType
)
|
void
|
OnReceptionError
(
TPortType
,
TInt
)
|
void
|
OnRtcpReceivedL
()
|
void
|
OnRtpReceivedL
()
|
TInt
|
RegisterRtcpObserver
(
MRtcpObserver
&)
|
TInt
|
RegisterRtpObserver
(
MRtpObserver
&)
|
void
|
ResetRxStreamStats
()
|
void
|
ResetTxStreamStats
()
|
TInt
|
ResumeRtcpSending
()
|
TRtpSSRC
|
SSRC
()
|
void
|
SendData
(
TBool
, const
TDesC8
&,
TRequestStatus
&)
|
TInt
|
SendRtcpAppPacketL
(
TRtpId
, const
TRtcpApp
&)
|
TInt
|
SendRtcpByePacketL
(
TRtpId
, const
TDesC8
&)
|
TInt
|
SendRtcpRrPacketL
(
TRtpId
)
|
TInt
|
SendRtcpSrPacketL
(
TRtpId
)
|
TInt
|
SendRtpPacket
(
TRtpId
, const
TRtpSendHeader
&, const
TDesC8
&)
|
TInt
|
SendRtpPacket
(
TRtpId
, const
TRtpSendHeader
&, const
TDesC8
&,
TRequestStatus
&)
|
TInt
|
SendRtpPacket
(const
TRtpSendHeader
&, const
TDesC8
&)
|
TInt
|
SendRtpPacket
(const
TRtpSendHeader
&, const
TDesC8
&,
TRequestStatus
&)
|
TInt
|
SendRtpPacket
(
TRtpId
,
TRtpSequence
, const
TRtpSendHeader
&, const
TDesC8
&,
TRequestStatus
&)
|
TInt
|
SetNonRTPDataObserver
(
MNonRTPDataObserver
*)
|
TInt
|
SetRemoteAddress
(
TInetAddr
&)
|
TInt
|
SetRemoteRtcpAddress
(
TInetAddr
&)
|
TInt
|
SetRtcpParameters
(const
TRtcpParams
&)
|
TInt
|
StartSession
()
|
TInt
|
StopRtcpSending
()
|
void
|
UnregisterRtcpObserver
()
|
void
|
UnregisterRtpObserver
()
|
Protected Member Functions
|
|
CRtpSession
(const
TRtpId
, const
TUint32
*, const
TBool
,
MRtpErrNotify
&, const
CRtpSDES
*,
MRtpAsignUniqueID
&)
|
void
|
AverageRtcpSize
(
TUint
)
|
void
|
ConstructL
(const
TCreateSessionParams
&,
TUint
&,
TBool
, const
TRtcpParams
*,
RSocketServ
&,
RConnection
&, const
RLibrary
&,
MRtpErrNotify
&)
|
void
|
FindRtpRxStreamSSRC
(
TRtpSSRC
&)
|
TInt
|
FindStream
(const
TRtpId
,
TUint
&)
|
TInt
|
IssueRtcpRecv
()
|
TInt
|
IssueRtpRecv
()
|
void
|
SendSRTCPReportL
(
TRtpSSRC
)
|
Private Member Functions
|
TBool
|
AddSdesToArrayL
(
TUint
&,
TRtpPacketIOParam
*)
|
TInt
|
AddStream
(const
TStream
,
TStreamType
)
|
TBool
|
AnyRcvStreamReceivedRtpPacket
()
|
TInt
|
AssignRtpRxStreamL
()
|
void
|
BuildEmptyRr
(
CRtpTranStream
*)
|
TInt
|
BuildRTCPReport
(
CRtpTranStream
*,
TInt
)
|
void
|
BuildRrSection
(
TInt
,
TBool
,
TInt
)
|
void
|
BuildSdesSection
(
CRtpTranStream
*)
|
void
|
BuildSendRTCPReportL
()
|
void
|
BuildSrSection
(
CRtpTranStream
*)
|
TBool
|
CheckifBanded
()
|
TBool
|
CompareAndUpdateSdes
(
CRtpSDES
*,
TRtpPacketIOParam
*,
TBool
)
|
void
|
CreateNewRecvStreamL
()
|
void
|
CreateSDES
(
TInt
,
TRtpSSRC
)
|
void
|
DeallocateMemoryForSdes
(
TRtpPacketIOParam
*)
|
void
|
DetermineSourceCountAndLength
(
TInt
&,
TInt
&,
TBool
)
|
CRtpSDES
*
|
DoAddSdesToArrayL
(
TRtpPacketIOParam
*)
|
TBool
|
DoBuildSendRTCPReportIfNotSentL
()
|
void
|
DoBuildSendRTCPReportL
()
|
TInt
|
FindRtpRxStreamL
()
|
TInt
|
FindStream
(const
TRtpId
,
TUint
&,
TStreamType
&)
|
TBool
|
FindStreamForSSRC
(
TRtpSSRC
)
|
TBool
|
FindTxStreamForSSRC
(
TRtpSSRC
,
CRtpTranStream
**)
|
TRtpSSRC
|
GenerateSSRC
()
|
CRtpRecvStream
*
|
GetRcvStreamByIndex
(
TInt
)
|
TInt
|
GetSDESFromSDESData
(
TRtpSdesParams
*, const
CRtpRecvStream
*,
CRtpSDES
*)
|
TRtpSSRC
|
GetUniqueSSRC
()
|
TInt
|
InitialiseRtcp
(const
TRtcpParams
*)
|
TInt
|
MatchSSRCToStream
(
TUint
&,
TRtpSSRC
,
TStreamType
&)
|
void
|
NextRtcpInterval
()
|
TRtpRtcpEnum
|
ProcessAPPSectionL
(
TInt
,
TInt
)
|
TRtpRtcpEnum
|
ProcessBYESectionL
()
|
TRtpRtcpEnum
|
ProcessOneRTCPReportSectionL
(const
TRtpPacketIOParam
&,
TRtpSSRC
)
|
TRtpRtcpEnum
|
ProcessRRSectionL
(
TInt
)
|
TRtpRtcpEnum
|
ProcessRTCPReportL
()
|
TRtpRtcpEnum
|
ProcessSDESDataL
(
TRtpPacketStreamParam
&,
TRtpPacketIOParam
&,
TRtpSSRC
)
|
TRtpRtcpEnum
|
ProcessSDESSectionL
(
TRtpSSRC
)
|
TRtpRtcpEnum
|
ProcessSRSectionL
(
TInt
)
|
TInt
|
Random
()
|
TReal
|
Random64
()
|
TBool
|
RcvStreamActive
(
TInt
)
|
TBool
|
RcvStreamReceivedRtpPacket
(
TInt
)
|
void
|
RedistributeBandwidth
()
|
void
|
RemoveAllStreams
()
|
TInt
|
RemoveSdesFromArray
(
TRtpSSRC
)
|
TInt
|
RemoveStream
(const
TRtpId
,
TStreamType
&)
|
void
|
ScheduleRtcpSendL
()
|
void
|
SendRTCPByewithBanedSSRCL
()
|
void
|
SendRTCPReport
()
|
void
|
SetParamsForFullRTCPReport
(
CRtpTranStream
*,
TRtpPacketStreamParam
*,
TRtpPacketIOParam
*,
TBool
)
|
TBool
|
ShouldBuildEmptyRR
(
CRtpTranStream
*)
|
void
|
StartReceiveRtcpPacket
()
|
void
|
StopReceiveRtcpPacket
()
|
TInt
|
StreamSendAPPPacket
()
|
TInt
|
StreamSendBYEPacket
()
|
Constructor & Destructor Documentation
CRtpSession(const TRtpId, const TUint32 *, const TBool, MRtpErrNotify &, const CRtpSDES *, MRtpAsignUniqueID &)
Member Functions Documentation
AddSdesToArrayL(TUint &, TRtpPacketIOParam *)
AddStream(const TStream, TStreamType)
AnyRcvStreamReceivedRtpPacket()
TBool
|
AnyRcvStreamReceivedRtpPacket
|
(
|
)
|
[private]
|
AssignRtpRxStreamL()
TInt
|
AssignRtpRxStreamL
|
(
|
)
|
[private]
|
AverageRtcpSize(TUint)
void
|
AverageRtcpSize
|
(
|
TUint
|
aRtcpReportSize
|
)
|
[protected]
|
BuildEmptyRr(CRtpTranStream *)
BuildRTCPReport(CRtpTranStream *, TInt)
BuildRrSection(TInt, TBool, TInt)
void
|
BuildRrSection
|
(
|
TInt
|
aNumRcvStreams,
|
|
TBool
|
aRxActive,
|
|
TInt
|
aLastReport
|
|
)
|
[private]
|
BuildSdesSection(CRtpTranStream *)
BuildSendRTCPReportL()
void
|
BuildSendRTCPReportL
|
(
|
)
|
[private]
|
BuildSrSection(CRtpTranStream *)
CheckRemoteAddr()
TBool
|
CheckRemoteAddr
|
(
|
)
|
|
CheckRemoteSsrcL(TRtpSSRC &)
Checks if a newly received SSRC collides with the SSRC's of the existing Tx streams in this session, and reacts appropriately. This is SSRC collision handling.
CheckifBanded()
TBool
|
CheckifBanded
|
(
|
)
|
[private]
|
CloseStream(TRtpId)
void
|
CloseStream
|
(
|
TRtpId
|
aStreamId
|
)
|
|
CompareAndUpdateSdes(CRtpSDES *, TRtpPacketIOParam *, TBool)
Compares the specified SDES values with the ones in the parameters and updates the SDES where the values differ
Parameters
CRtpSDES
* aTempSdes
|
the target SDES
|
TRtpPacketIOParam
* aExtractParam
|
the parameters to compare with
|
TBool
aUpdateCName
|
indicates whether to include the CName
|
ConstructL(const TCreateSessionParams &, TUint &, TBool, const TRtcpParams *, RSocketServ &, RConnection &, const RLibrary &, MRtpErrNotify &)
CreateNewRecvStreamL()
void
|
CreateNewRecvStreamL
|
(
|
)
|
[private]
|
CreateReceiveStreamL(TRtpId, const TRtpPayloadType)
CreateSDES(TInt, TRtpSSRC)
void
|
CreateSDES
|
(
|
TInt
|
aFCNameOnly,
|
|
TRtpSSRC
|
aSSRC
|
|
)
|
[private]
|
CreateTransmitStreamExtL(TRtpId, const TRtpPayloadType, const TUint32)
CreateTransmitStreamL(TRtpId, const TRtpPayloadType, TUint32 &)
DeallocateMemoryForSdes(TRtpPacketIOParam *)
DetermineSourceCountAndLength(TInt &, TInt &, TBool)
void
|
DetermineSourceCountAndLength
|
(
|
TInt
&
|
aSourceCount,
|
|
TInt
&
|
aLength,
|
|
TBool
|
aRxActive
|
|
)
|
[private]
|
Determines the source count and length before an RTCP report is sent
Parameters
TInt
& aSourceCount
|
reference to the source count variable to update
|
TInt
& aLength
|
reference to the packet length variable to update
|
TBool
aRxActive
|
a list of active/not active streams
|
DoAddSdesToArrayL(TRtpPacketIOParam *)
DoBuildSendRTCPReportIfNotSentL()
TBool
|
DoBuildSendRTCPReportIfNotSentL
|
(
|
)
|
[private]
|
DoBuildSendRTCPReportL()
void
|
DoBuildSendRTCPReportL
|
(
|
)
|
[private]
|
FindRtpRxStreamL()
TInt
|
FindRtpRxStreamL
|
(
|
)
|
[private]
|
FindRtpRxStreamSSRC(TRtpSSRC &)
void
|
FindRtpRxStreamSSRC
|
(
|
TRtpSSRC
&
|
aSSRC
|
)
|
[protected]
|
FindStream(const TRtpId, TUint &)
TInt
|
FindStream
|
(
|
const
TRtpId
|
aMagicKey,
|
|
TUint
&
|
aStreamAddress
|
|
)
|
[protected]
|
FindStream(const TRtpId, TUint &, TStreamType &)
FindStreamForSSRC(TRtpSSRC)
FindTxStreamForSSRC(TRtpSSRC, CRtpTranStream **)
Finds if a send stream is already using the given SSRC
GetRcvStreamByIndex(TInt)
GetSDESFromSDESData(TRtpSdesParams *, const CRtpRecvStream *, CRtpSDES *)
Gets the SDES values from the data contained in an SDES section. Either aRecvStream or aSourceSdes is always NULL.
Parameters
TRtpSdesParams
* aTargetSdes
|
the SDES in which the data will be stored
|
const
CRtpRecvStream
* aRecvStream
|
the stream that contains the SDES
|
CRtpSDES
* aSourceSdes
|
the SDES in which the data resides
|
GetStreamStatistics(TRtpId, TRtpPeerStat &)
GetUniqueSSRC()
Logs the SDES data from the data contained in an SDES section.
InitialiseRtcp(const TRtcpParams *)
IsRtcpSendingSuspended(TBool &)
TInt
|
IsRtcpSendingSuspended
|
(
|
TBool
&
|
aAutoSending
|
)
|
|
Gets the status of automatic RTCP sending.
IssueRtcpRecv()
TInt
|
IssueRtcpRecv
|
(
|
)
|
[protected]
|
IssueRtpRecv()
TInt
|
IssueRtpRecv
|
(
|
)
|
[protected]
|
MatchSSRCToStream(TUint &, TRtpSSRC, TStreamType &)
NewL(const TCreateSessionParams &, TUint &, TBool, const TRtcpParams *, RSocketServ &, RConnection &, const TRtpId, const CRtpSDES *, const TUint32 *, const TBool, const RLibrary &, MRtpErrNotify &, MRtpAsignUniqueID &)
CRtpSession
*
|
NewL
|
(
|
const
TCreateSessionParams
&
|
aParams,
|
|
TUint
&
|
aPort,
|
|
TBool
|
aEnableRtcp,
|
|
const
TRtcpParams
*
|
aRtcpParams,
|
|
RSocketServ
&
|
aSocketServ,
|
|
RConnection
&
|
aRConn,
|
|
const
TRtpId
|
aSessionId,
|
|
const
CRtpSDES
*
|
aSdes,
|
|
const
TUint32
*
|
aProfileRTPTimeRates,
|
|
const
TBool
|
aStandardRtp,
|
|
const
RLibrary
&
|
aLibrary,
|
|
MRtpErrNotify
&
|
aErrNotify,
|
|
MRtpAsignUniqueID
&
|
aAssignUniqueID
|
|
)
|
[static]
|
NextRtcpInterval()
void
|
NextRtcpInterval
|
(
|
)
|
[private]
|
OnExpiredL(TInt)
void
|
OnExpiredL
|
(
|
TInt
|
aStatus
|
)
|
|
OnPacketRejected(TPortType)
OnReceptionError(TPortType, TInt)
ProcessAPPSectionL(TInt, TInt)
Processes the APP section of an RTCP report.
ProcessBYESectionL()
Processes the BYE section of an RTCP report.
ProcessOneRTCPReportSectionL(const TRtpPacketIOParam &, TRtpSSRC)
Launches the processing of individual sections of RTCP reports.
ProcessRRSectionL(TInt)
Processes the RR section of an RTCP report.
ProcessRTCPReportL()
Processes an RTCP report.
ProcessSDESDataL(TRtpPacketStreamParam &, TRtpPacketIOParam &, TRtpSSRC)
Processes the data contained in an SDES section.
ProcessSDESSectionL(TRtpSSRC)
Processes the SDES section of an RTCP report.
ProcessSRSectionL(TInt)
Processes the SR section of an RTCP report.
Random()
TInt
|
Random
|
(
|
)
|
[private]
|
Random64()
TReal
|
Random64
|
(
|
)
|
[private]
|
RcvStreamActive(TInt)
TBool
|
RcvStreamActive
|
(
|
TInt
|
aIndex
|
)
|
[private]
|
RcvStreamReceivedRtpPacket(TInt)
TBool
|
RcvStreamReceivedRtpPacket
|
(
|
TInt
|
aIndex
|
)
|
[private]
|
RedistributeBandwidth()
void
|
RedistributeBandwidth
|
(
|
)
|
[private]
|
RegisterRtcpObserver(MRtcpObserver &)
RegisterRtpObserver(MRtpObserver &)
RemoveAllStreams()
void
|
RemoveAllStreams
|
(
|
)
|
[private]
|
RemoveSdesFromArray(TRtpSSRC)
RemoveStream(const TRtpId, TStreamType &)
ResetRxStreamStats()
void
|
ResetRxStreamStats
|
(
|
)
|
|
ResetTxStreamStats()
void
|
ResetTxStreamStats
|
(
|
)
|
|
ResumeRtcpSending()
TInt
|
ResumeRtcpSending
|
(
|
)
|
|
ScheduleRtcpSendL()
void
|
ScheduleRtcpSendL
|
(
|
)
|
[private]
|
SendData(TBool, const TDesC8 &, TRequestStatus &)
SendRTCPByewithBanedSSRCL()
void
|
SendRTCPByewithBanedSSRCL
|
(
|
)
|
[private]
|
SendRTCPReport()
void
|
SendRTCPReport
|
(
|
)
|
[private]
|
SendRtcpAppPacketL(TRtpId, const TRtcpApp &)
SendRtcpByePacketL(TRtpId, const TDesC8 &)
SendRtcpRrPacketL(TRtpId)
SendRtcpSrPacketL(TRtpId)
SendRtpPacket(TRtpId, const TRtpSendHeader &, const TDesC8 &)
SendRtpPacket(TRtpId, const TRtpSendHeader &, const TDesC8 &, TRequestStatus &)
SendRtpPacket(const TRtpSendHeader &, const TDesC8 &)
SendRtpPacket(const TRtpSendHeader &, const TDesC8 &, TRequestStatus &)
SendRtpPacket(TRtpId, TRtpSequence, const TRtpSendHeader &, const TDesC8 &, TRequestStatus &)
SendSRTCPReportL(TRtpSSRC)
void
|
SendSRTCPReportL
|
(
|
TRtpSSRC
|
aSSRC
|
)
|
[protected, virtual]
|
SetNonRTPDataObserver(MNonRTPDataObserver *)
SetParamsForFullRTCPReport(CRtpTranStream *, TRtpPacketStreamParam *, TRtpPacketIOParam *, TBool)
Determines parameters before an RTCP report with SR (RR) and SDES sections is sent.
SetRemoteAddress(TInetAddr &)
TInt
|
SetRemoteAddress
|
(
|
TInetAddr
&
|
aRemoteAddr
|
)
|
|
SetRemoteRtcpAddress(TInetAddr &)
TInt
|
SetRemoteRtcpAddress
|
(
|
TInetAddr
&
|
aRemoteAddr
|
)
|
|
SetRtcpParameters(const TRtcpParams &)
ShouldBuildEmptyRR(CRtpTranStream *)
StartReceiveRtcpPacket()
void
|
StartReceiveRtcpPacket
|
(
|
)
|
[private]
|
StopReceiveRtcpPacket()
void
|
StopReceiveRtcpPacket
|
(
|
)
|
[private]
|
StreamSendAPPPacket()
TInt
|
StreamSendAPPPacket
|
(
|
)
|
[private]
|
StreamSendBYEPacket()
TInt
|
StreamSendBYEPacket
|
(
|
)
|
[private]
|
UnregisterRtcpObserver()
void
|
UnregisterRtcpObserver
|
(
|
)
|
|
UnregisterRtpObserver()
void
|
UnregisterRtpObserver
|
(
|
)
|
|
Member Enumerations Documentation
Member Data Documentation
MRtpAsignUniqueID & iAssignUniqueID
TReal
iAverageRtcpSize
TReal
|
iAverageRtcpSize
|
[protected]
|
TUint
iBandWidth
TUint
|
iBandWidth
|
[protected]
|
MRtpErrNotify & iErrNotify
TBool
iFPortsInit
TBool
|
iFPortsInit
|
[protected]
|
TBool
iFirstRTCPSent
TBool
|
iFirstRTCPSent
|
[protected]
|
TReal
iFraction
TReal
|
iFraction
|
[protected]
|
TBool
iIsSrtp
TBool
|
iIsSrtp
|
[protected]
|
const CRtpSDES * iLocalSdes
TRtpSdesParams * iNewSdes
MNonRTPDataObserver * iNonRTPDataObserver
TUint16
iNumOfRxStreams
TUint16
|
iNumOfRxStreams
|
[protected]
|
TUint16
iNumOfTxStreams
TUint16
|
iNumOfTxStreams
|
[protected]
|
MRtpPacketExt * iPktExtRcv
MRtpPacketExt * iPktExtSnd
const TUint32 * iProfileRTPTimeRates
const
TUint32
*
|
iProfileRTPTimeRates
|
[protected]
|
TInetAddr
iRemoteAddr
TInetAddr
|
iRemoteAddr
|
[private]
|
TBool
iRemoteAddrSet
TBool
|
iRemoteAddrSet
|
[private]
|
TBool
iRtcpEnabled
TBool
|
iRtcpEnabled
|
[protected]
|
TInt
iRtcpErrors
TInt
|
iRtcpErrors
|
[protected]
|
MRtcpObserver * iRtcpObserver
TPtr8
iRtcpRecvBuf
TPtr8
|
iRtcpRecvBuf
|
[protected]
|
TBool
iRtcpSendingSuspended
TBool
|
iRtcpSendingSuspended
|
[protected]
|
TUint
iRtcpTimeInterval
TUint
|
iRtcpTimeInterval
|
[protected]
|
MRtpObserver * iRtpObserver
TPtr8
iRtpRecvBuf
TPtr8
|
iRtpRecvBuf
|
[protected]
|
RArray< TRtpSSRC > iRxSSRCArray
TInt
iSSRCJumps
TInt
|
iSSRCJumps
|
[protected]
|
CArrayPtrFlat< CRtpSDES > * iSdesArray
TInt
iSendSdesCounter
TInt
|
iSendSdesCounter
|
[private]
|
TBool
iSessionStarted
TBool
|
iSessionStarted
|
[protected]
|
CRtpTimer * iSndRtcpTimer
TBool
iStandardRtp
TBool
|
iStandardRtp
|
[private]
|
CArrayFixFlat< TStream > * iStreamRxArray
CArrayFixFlat< TStream > * iStreamTxArray
TUint
iTotalParticipantsSession
TUint
|
iTotalParticipantsSession
|
[protected]
|
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.