34 #ifndef OPAL_RTP_RTP_H 35 #define OPAL_RTP_RTP_H 43 #include <ptlib/sockets.h> 44 #include <ptlib/safecoll.h> 52 class RTCP_XR_Metrics;
77 RTP_DataFrame(
const BYTE * data, PINDEX len, PBoolean dynamic =
true);
83 MaxMtuPayloadSize = (576-20-16-12)
121 MaxPayloadType = 127,
128 void SetExtension(PBoolean ext);
130 PBoolean
GetMarker()
const {
return (theArray[1]&0x80) != 0; }
131 void SetMarker(PBoolean m);
134 void SetPadding(
bool v) {
if (v) theArray[0] |= 0x20;
else theArray[0] &= 0xdf; }
135 BYTE *
GetPaddingPtr()
const {
return (BYTE *)(theArray+m_headerSize+m_payloadSize); }
138 bool SetPaddingSize(PINDEX sz);
153 DWORD GetContribSource(PINDEX idx)
const;
154 void SetContribSource(PINDEX idx, DWORD src);
158 int GetExtensionType()
const;
159 void SetExtensionType(
int type);
160 PINDEX GetExtensionSizeDWORDs()
const;
161 bool SetExtensionSizeDWORDs(PINDEX sz);
162 BYTE * GetExtensionPtr()
const;
165 bool SetPayloadSize(PINDEX sz);
169 virtual void PrintOn(ostream & strm)
const;
173 bool SetPacketSize(PINDEX sz);
197 unsigned GetVersion()
const {
return (BYTE)theArray[compoundOffset]>>6; }
199 unsigned GetCount()
const {
return (BYTE)theArray[compoundOffset]&0x1f; }
200 void SetCount(
unsigned count);
203 e_IntraFrameRequest = 192,
204 e_SenderReport = 200,
205 e_ReceiverReport = 201,
206 e_SourceDescription = 202,
209 e_TransportLayerFeedBack = 205,
210 e_PayloadSpecificFeedBack = 206,
211 e_ExtendedReport = 207
215 void SetPayloadType(
unsigned t);
217 PINDEX
GetPayloadSize()
const {
return 4*(*(PUInt16b *)&theArray[compoundOffset+2]); }
218 void SetPayloadSize(PINDEX sz);
220 BYTE * GetPayloadPtr()
const;
222 PBoolean ReadNextPacket();
223 PBoolean StartNewPacket();
226 PINDEX GetCompoundSize()
const;
228 void Reset(PINDEX size);
241 void SetLostPackets(
unsigned lost);
311 void StartSourceDescription(
315 void AddSourceDescriptionItem(
321 unsigned GetFbType()
const {
return (BYTE)theArray[compoundOffset]&0x1f; }
322 void SetFbType(
unsigned type, PINDEX fciSize);
325 e_PictureLossIndication = 1,
332 e_ApplicationLayerFbMessage = 15
455 virtual void OnTxStatistics(
465 virtual void OnRxStatistics(
475 virtual void OnTxIntraFrameRequest(
484 virtual void OnRxIntraFrameRequest(
492 virtual void SessionFailing(
547 void SetJitterBufferSize(
548 unsigned minJitterDelay,
549 unsigned maxJitterDelay,
550 unsigned timeUnits = 0,
551 PINDEX packetSize = 2048
559 unsigned GetJitterBufferSize()
const;
575 virtual PBoolean ReadBufferedData(
584 virtual PBoolean ReadData(
590 virtual void FlushData();
594 virtual PBoolean WriteData(
601 virtual PBoolean WriteOOBData(
603 bool rewriteTimeStamp =
true 608 virtual PBoolean WriteControl(
626 virtual PString GetLocalHostName() = 0;
654 void PrintOn(ostream &)
const;
669 void PrintOn(ostream &)
const;
678 virtual void OnRxSenderReport(
const SenderReport & sender,
679 const ReceiverReportArray & reports);
680 virtual void OnRxReceiverReport(DWORD src,
681 const ReceiverReportArray & reports);
682 virtual void OnReceiverReports(
const ReceiverReportArray & reports);
688 void PrintOn(ostream &)
const;
694 virtual void OnRxSourceDescription(
const SourceDescriptionArray & descriptions);
696 virtual void OnRxGoodbye(
const PDWORDArray & sources,
697 const PString & reason);
699 virtual void OnRxApplDefined(
const PString & type,
unsigned subtype, DWORD src,
700 const BYTE * data, PINDEX size);
703 class ExtendedReport :
public PObject {
704 PCLASSINFO(ExtendedReport, PObject);
706 void PrintOn(ostream &)
const;
708 DWORD sourceIdentifier;
713 DWORD roundTripDelay;
721 PARRAY(ExtendedReportArray, ExtendedReport);
723 virtual void OnRxExtendedReport(
725 const ExtendedReportArray & reports
728 RTCP_XR_Metrics * GetExtendedMetrics()
const {
return m_metrics; }
729 #endif // OPAL_RTCP_XR 754 PString GetCanonicalName()
const;
758 void SetCanonicalName(
const PString & name);
762 PString GetToolName()
const;
766 void SetToolName(
const PString & name);
776 PBoolean autoDeleteUserData =
true 791 ) { allowAnySyncSource = allow; }
797 ) { ignorePayloadTypeChanges = ignore; }
806 const PTimeInterval & interval
807 ) { m_reportTimer.RunContinuous(interval); }
815 void SetTxStatisticsInterval(
825 void SetRxStatisticsInterval(
831 void ClearStatistics();
864 DWORD GetPacketsTooLate()
const;
868 DWORD GetPacketOverruns()
const;
918 enum { JitterRoundingGuardBits = 4 };
923 DWORD
GetAvgJitterTime()
const {
return (jitterLevel>>JitterRoundingGuardBits)/GetJitterTimeUnits(); }
928 DWORD
GetMaxJitterTime()
const {
return (maximumJitterLevel>>JitterRoundingGuardBits)/GetJitterTimeUnits(); }
943 virtual void SendIntraFrameRequest(
bool rfc2032,
bool pictureLoss);
949 virtual void SendTemporalSpatialTradeOff(
unsigned tradeOff);
954 virtual void SetEncoding(
const PString & newEncoding);
980 #define PDECLARE_RTPFilterNotifier(cls, fn) PDECLARE_NOTIFIER2(RTP_DataFrame, cls, fn, RTP_Session::SendReceiveStatus &) 981 #define PCREATE_RTPFilterNotifier(fn) PCREATE_NOTIFIER2(fn, RTP_Session::SendReceiveStatus &) 983 void AddFilter(
const FilterNotifier & filter);
985 virtual void SendBYE();
988 RTP_Session::ReceiverReportArray BuildReceiverReportArray(
const RTP_ControlFrame & frame, PINDEX offset);
1069 RTCP_XR_Metrics * m_metrics;
1070 friend class RTCP_XR_Metrics;
1087 PDECLARE_NOTIFIER(PTimer,
RTP_Session, SendReport);
1127 virtual void FlushData();
1137 virtual PBoolean WriteOOBData(
RTP_DataFrame & frame,
bool setTimeStamp =
true);
1151 virtual PString GetLocalHostName();
1156 virtual PBoolean ModifyQOS(
RTP_QOS * rtpqos);
1162 virtual PBoolean Open(
1163 PIPSocket::Address localAddress,
1166 BYTE ipTypeOfService,
1167 PNatMethod * natMethod = NULL,
1174 virtual void Reopen(PBoolean isReading);
1186 const PIPSocket::Address & addr
1187 ) { localAddress = addr; }
1219 virtual PBoolean SetRemoteSocketInfo(
1220 PIPSocket::Address address,
1227 virtual void ApplyQOS(
1228 const PIPSocket::Address & addr
1233 {
return dataSocket != NULL ? dataSocket->GetHandle() : -1; }
1236 {
return controlSocket != NULL ? controlSocket->GetHandle() : -1; }
1240 virtual int WaitForPDU(PUDPSocket & dataSocket, PUDPSocket & controlSocket,
const PTimeInterval & timer);
1241 virtual int Internal_WaitForPDU(PUDPSocket & dataSocket, PUDPSocket & controlSocket,
const PTimeInterval & timer);
1253 PBoolean fromDataChannel
1257 virtual bool WriteDataOrControlPDU(
1258 const BYTE * framePtr,
1263 virtual void SetEncoding(
const PString & newEncoding);
1304 virtual void OnFinish();
1306 virtual PBoolean WriteData(
RTP_DataFrame & frame,
bool oob);
1315 virtual int WaitForPDU(PUDPSocket & dataSocket, PUDPSocket & controlSocket,
const PTimeInterval &);
1352 #endif // OPAL_RTP_RTP_H PUInt32b requestSSRC
Definition: rtp.h:348
BYTE * GetPayloadPtr() const
Definition: rtp.h:166
DWORD maximumSendTimeAccum
Definition: rtp.h:1074
DWORD timeStampOffs
Definition: rtp.h:1034
void SetSyncSource(DWORD s)
Definition: rtp.h:150
PTimeInterval lastTimestamp
Definition: rtp.h:661
BYTE noise_level
Definition: rtp.h:267
unsigned id
Session ID for RTP channel.
Definition: rtp.h:519
PUInt16b end_system_delay
Definition: rtp.h:265
DWORD GetAverageReceiveTime() const
Definition: rtp.h:904
WORD localDataPort
Definition: rtp.h:1268
Definition: rtpconn.h:525
BYTE fraction
Definition: rtp.h:233
DWORD lastTransitTime
Definition: rtp.h:1080
PTime firstPacketSent
Definition: rtp.h:1040
virtual int GetControlSocketHandle() const
Definition: rtp.h:1235
bool resequenceOutOfOrderPackets
Definition: rtp.h:1025
void SetTimestamp(DWORD t)
Definition: rtp.h:147
bool m_firstControl
Definition: rtp.h:1285
unsigned GetJitterBufferDelay() const
Definition: rtp.h:560
BYTE type_specific
Definition: rtp.h:255
RTP_Encoding * m_encodingHandler
Definition: rtp.h:995
RTP_UserData * userData
Optional data for session.
Definition: rtp.h:520
virtual RTP_Session::SendReceiveStatus OnReadTimeout(RTP_DataFrame &frame)
DWORD maximumReceiveTime
Definition: rtp.h:1055
bool shutdownWrite
Definition: rtp.h:1281
DWORD markerRecvCount
Definition: rtp.h:1062
PUInt32b jitter
Definition: rtp.h:236
virtual PIPSocket::Address GetLocalAddress() const
Definition: rtp.h:1181
BYTE rerl
Definition: rtp.h:268
virtual void ApplyStringOptions(const PStringToString &)
Definition: rtp.h:1302
DWORD packetsLostByRemote
Definition: rtp.h:1049
DWORD GetSyncSource() const
Definition: rtp.h:149
virtual void SetWriteDataIdleTimer(PTimer &)
Definition: rtp.h:1309
bool HasFailed() const
Definition: rtp.h:976
DWORD GetMaximumSendTime() const
Definition: rtp.h:892
PUInt32b psent
Definition: rtp.h:248
bool appliedQOS
Definition: rtp.h:1282
BYTE burst_density
Definition: rtp.h:260
DWORD GetMaximumReceiveTime() const
Definition: rtp.h:910
DWORD maximumJitterLevel
Definition: rtp.h:1059
bool localHasNAT
Definition: rtp.h:1284
DWORD octetsSent
Definition: rtp.h:1043
PBoolean GetMarker() const
Definition: rtp.h:130
PTimeInterval outOfOrderWaitTime
Definition: rtp.h:1027
DWORD minimumReceiveTime
Definition: rtp.h:1056
FbFCI fci
Definition: rtp.h:347
PINDEX GetPayloadSize() const
Definition: rtp.h:164
virtual PUDPSocket & GetDataSocket()
Definition: rtp.h:1211
RTP_UDP * rtpUDP
Definition: rtp.h:1321
unsigned refCount
Definition: rtp.h:1318
BYTE gap_density
Definition: rtp.h:261
PString toolName
Definition: rtp.h:1001
PTimeInterval oobTimeStampBase
Definition: rtp.h:1037
PINDEX compoundOffset
Definition: rtp.h:357
BYTE length
Definition: rtp.h:298
std::list< RTP_DataFrame > m_outOfOrderPackets
Definition: rtp.h:1030
PINDEX GetContribSrcCount() const
Definition: rtp.h:152
virtual WORD GetLocalDataPort() const
Definition: rtp.h:1195
PUInt32b ssrc
Definition: rtp.h:232
RTP_DataFrame::PayloadTypes lastReceivedPayloadType
Definition: rtp.h:1082
BYTE gmin
Definition: rtp.h:269
BYTE reserved
Definition: rtp.h:275
DWORD markerSendCount
Definition: rtp.h:1061
bool GetPadding() const
Definition: rtp.h:133
void SetReportTimeInterval(const PTimeInterval &interval)
Definition: rtp.h:805
DWORD GetTimestamp() const
Definition: rtp.h:146
DWORD octetsReceived
Definition: rtp.h:1047
virtual void SetLocalAddress(const PIPSocket::Address &addr)
Definition: rtp.h:1185
DWORD minimumSendTime
Definition: rtp.h:1053
PayloadTypes GetPayloadType() const
Definition: rtp.h:140
RTP_UserData * userData
Definition: rtp.h:1002
PBoolean allowRemoteTransmitAddressChange
Definition: rtp.h:1013
PUInt32b senderSSRC
Definition: rtp.h:336
void SetAnySyncSource(bool allow)
Definition: rtp.h:789
unsigned GetVersion() const
Definition: rtp.h:125
bool shutdownRead
Definition: rtp.h:1280
unsigned consecutiveOutOfOrderPackets
Definition: rtp.h:1026
PUInt16b length
Definition: rtp.h:256
RTP_Session & session
Definition: rtp.h:967
DWORD GetJitterTimeOnRemote() const
Definition: rtp.h:934
PTimeInterval delaySinceLastSR
Definition: rtp.h:1023
DWORD GetPacketsLost() const
Definition: rtp.h:851
DWORD averageSendTimeAccum
Definition: rtp.h:1073
PUInt16b jb_absolute
Definition: rtp.h:278
PINDEX GetPayloadSize() const
Definition: rtp.h:217
virtual PString GetEncoding() const
Definition: rtp.h:953
DWORD GetPacketsLostByRemote() const
Definition: rtp.h:856
PBoolean autoDeleteUserData
Definition: rtp.h:1003
DWORD lastSequenceNumber
Definition: rtp.h:659
DWORD jitter
Definition: rtp.h:660
PMutex m_reportMutex
Definition: rtp.h:1085
unsigned rxStatisticsInterval
Definition: rtp.h:1016
PUInt32b rtp_ts
Definition: rtp.h:247
PayloadTypes
Definition: rtp.h:86
virtual int WaitForPDU(PUDPSocket &dataSocket, PUDPSocket &controlSocket, const PTimeInterval &)
unsigned sessionID
Definition: rtp.h:997
PBoolean GetExtension() const
Definition: rtp.h:127
WORD expectedSequenceNumber
Definition: rtp.h:1018
RTP_Encoding * m_encodingHandler
Definition: rtp.h:968
DWORD packetsOutOfOrder
Definition: rtp.h:1050
unsigned GetSessionID() const
Definition: rtp.h:736
PUInt16b round_trip_delay
Definition: rtp.h:264
BYTE sequenceNUmber
Definition: rtp.h:343
const Item * GetNextItem() const
Definition: rtp.h:306
void SetFailed(bool v)
Definition: rtp.h:973
PUInt32b lsr
Definition: rtp.h:237
bool IsAudio() const
Definition: rtp.h:744
PMutex mutex
Definition: rtp.h:1317
SendReceiveStatus
Definition: rtp.h:635
PUInt16b gap_duration
Definition: rtp.h:263
BYTE type
Definition: rtp.h:297
PUInt32b ntp_frac
Definition: rtp.h:246
FbFCI fci
Definition: rtp.h:341
PBoolean ignorePayloadTypeChanges
Definition: rtp.h:1083
PayloadTypes
Definition: rtp.h:202
PFACTORY_LOAD(RTP_Encoding)
PNotifierTemplate< SendReceiveStatus & > FilterNotifier
Definition: rtp.h:979
BYTE ext_r_factor
Definition: rtp.h:271
virtual WORD GetRemoteDataPort() const
Definition: rtp.h:1203
DWORD GetSyncSourceOut() const
Definition: rtp.h:781
BYTE bt
Definition: rtp.h:254
PBoolean closeOnBye
Definition: rtp.h:1089
unsigned GetJitterTimeUnits() const
Definition: rtp.h:564
bool allowAnySyncSource
Definition: rtp.h:1011
const PTimeInterval & GetReportTimeInterval()
Definition: rtp.h:801
unsigned GetPayloadType() const
Definition: rtp.h:214
PQoS ctrlQoS
Definition: rtp.h:63
PString encoding
identifies initial RTP encoding (RTP/AVP, UDPTL etc)
Definition: rtp.h:518
BYTE * GetPaddingPtr() const
Definition: rtp.h:135
PTime lastSRReceiveTime
Definition: rtp.h:1022
DWORD GetAvgJitterTime() const
Definition: rtp.h:923
PUInt32b dlsr
Definition: rtp.h:238
PQoS dataQoS
Definition: rtp.h:62
PUInt32b osent
Definition: rtp.h:249
DWORD lastSentTimestamp
Definition: rtp.h:1010
DWORD rtpTimestamp
Definition: rtp.h:673
DWORD GetMinimumSendTime() const
Definition: rtp.h:898
unsigned txStatisticsInterval
Definition: rtp.h:1015
DWORD averageReceiveTimeAccum
Definition: rtp.h:1076
__inline RTP_Encoding * operator->() const
Definition: rtp.h:964
PUInt16b jb_maximum
Definition: rtp.h:277
DWORD packetsLostSinceLastRR
Definition: rtp.h:1079
Params()
Definition: rtp.h:510
int badTransmitCounter
Definition: rtp.h:1286
virtual WORD GetRemoteControlPort() const
Definition: rtp.h:1207
unsigned m_timeUnits
Definition: rtp.h:999
DWORD GetPacketsReceived() const
Definition: rtp.h:843
DWORD GetAverageSendTime() const
Definition: rtp.h:874
PUInt32b requestSSRC
Definition: rtp.h:342
unsigned rxStatisticsCount
Definition: rtp.h:1065
PTimer m_reportTimer
Definition: rtp.h:1086
virtual int GetDataSocketHandle() const
Definition: rtp.h:1232
DWORD GetSyncSourceIn() const
Definition: rtp.h:956
PLIST(RTP_DataFrameList, RTP_DataFrame)
WORD GetSequenceNumber() const
Definition: rtp.h:143
PUDPSocket * dataSocket
Definition: rtp.h:1277
bool remoteIsNAT
Remote is behid NAT.
Definition: rtp.h:523
JitterBufferPtr m_jitterBuffer
Definition: rtp.h:1006
unsigned GetRxStatisticsInterval()
Definition: rtp.h:821
DWORD packetsSent
Definition: rtp.h:1041
WORD lastSentSequenceNumber
Definition: rtp.h:1017
DescriptionTypes
Definition: rtp.h:281
ostream & operator<<(ostream &strm, OpalSilenceDetector::Mode mode)
void SetNextSentSequenceNumber(WORD num)
Definition: rtp.h:951
WORD remoteControlPort
Definition: rtp.h:1273
virtual RTP_Session::SendReceiveStatus ReadDataPDU(RTP_DataFrame &frame)
DWORD GetMarkerSendCount() const
Definition: rtp.h:886
virtual WORD GetLocalControlPort() const
Definition: rtp.h:1199
PTimeInterval outOfOrderPacketTime
Definition: rtp.h:1028
DWORD packetsReceived
Definition: rtp.h:1045
DWORD maximumSendTime
Definition: rtp.h:1052
PSafePtr< RTP_JitterBuffer, PSafePtrMultiThreaded > JitterBufferPtr
Definition: rtp.h:1005
PBoolean byeSent
Definition: rtp.h:1090
BYTE loss_rate
Definition: rtp.h:258
PARRAY(H323CapabilitiesList, H323Capability)
DWORD GetOctetsSent() const
Definition: rtp.h:839
PUInt32b ssrc
Definition: rtp.h:257
PIPSocket::Address localAddress
Definition: rtp.h:1267
PString canonicalName
Definition: rtp.h:1000
bool autoDelete
Delete optional data with session.
Definition: rtp.h:521
bool failed
set to true if session has received too many ICMP destination unreachable
Definition: rtp.h:1091
PMutex m_encodingMutex
Definition: rtp.h:994
DWORD fractionLost
Definition: rtp.h:657
PTimeInterval delay
Definition: rtp.h:662
DWORD minimumReceiveTimeAccum
Definition: rtp.h:1078
PUInt16b jb_nominal
Definition: rtp.h:276
BYTE r_factor
Definition: rtp.h:270
DWORD packetsLost
Definition: rtp.h:1048
BYTE signal_level
Definition: rtp.h:266
void SetPadding(bool v)
Definition: rtp.h:134
unsigned GetLostPackets() const
Definition: rtp.h:240
PTimer timerWriteDataIdle
Definition: rtp.h:1289
DWORD oobTimeStampOutBase
Definition: rtp.h:1036
PTime firstPacketReceived
Definition: rtp.h:1044
PUInt16b burst_duration
Definition: rtp.h:262
virtual PBoolean WriteDataPDU(RTP_DataFrame &frame)
PIPSocket::Address remoteAddress
Definition: rtp.h:1271
DWORD GetOctetsReceived() const
Definition: rtp.h:847
DWORD jitterLevel
Definition: rtp.h:1057
BYTE discard_rate
Definition: rtp.h:259
PTimeInterval lastReceivedPacketTime
Definition: rtp.h:1020
Item * GetNextItem()
Definition: rtp.h:307
void SetAudio(bool aud)
Definition: rtp.h:748
virtual void OnWriteDataIdle()
Definition: rtp.h:1308
DWORD GetMarkerRecvCount() const
Definition: rtp.h:880
DWORD sourceIdentifier
Definition: rtp.h:671
void SetSessionID(unsigned id)
Definition: rtp.h:740
BYTE mos_cq
Definition: rtp.h:273
DWORD GetPacketsOutOfOrder() const
Definition: rtp.h:860
unsigned GetPaddingSize() const
Definition: rtp.h:137
BYTE rx_config
Definition: rtp.h:274
PINDEX payloadSize
Definition: rtp.h:358
DWORD senderReportsReceived
Definition: rtp.h:1046
virtual PBoolean ModifyQOS(RTP_QOS *)
Definition: rtp.h:567
DWORD minimumSendTimeAccum
Definition: rtp.h:1075
DWORD syncSourceIn
Definition: rtp.h:1009
virtual PUDPSocket & GetControlSocket()
Definition: rtp.h:1215
unsigned GetTxStatisticsInterval()
Definition: rtp.h:811
DWORD maximumReceiveTimeAccum
Definition: rtp.h:1077
PTime lastSRTimestamp
Definition: rtp.h:1021
PUInt32b ntp_sec
Definition: rtp.h:245
PMutex dataMutex
Definition: rtp.h:1033
unsigned txStatisticsCount
Definition: rtp.h:1064
DWORD syncSourceOut
Definition: rtp.h:1008
virtual PObject * Clone() const
Definition: rtp.h:168
POrdinalToString items
Definition: rtp.h:691
PTimeInterval lastSentPacketTime
Definition: rtp.h:1019
PIPSocket::Address remoteTransmitAddress
Definition: rtp.h:1275
unsigned int GetLengthTotal() const
Definition: rtp.h:305
PUInt32b mediaSSRC
Definition: rtp.h:337
void SetIgnorePayloadTypeChanges(PBoolean ignore)
Definition: rtp.h:795
SourceDescription(DWORD src)
Definition: rtp.h:687
PINDEX m_headerSize
Definition: rtp.h:176
PBoolean allowSequenceChange
Definition: rtp.h:1014
bool isAudio
Definition: rtp.h:998
DWORD packetsSent
Definition: rtp.h:674
PUDPSocket * controlSocket
Definition: rtp.h:1278
void SetSequenceNumber(WORD n)
Definition: rtp.h:144
DWORD averageReceiveTime
Definition: rtp.h:1054
BYTE sequenceNUmber
Definition: rtp.h:349
BYTE mos_lq
Definition: rtp.h:272
bool allowOneSyncSourceChange
Definition: rtp.h:1012
DWORD jitterLevelOnRemote
Definition: rtp.h:1058
PINDEX GetHeaderSize() const
Definition: rtp.h:156
PINDEX m_paddingSize
Definition: rtp.h:178
bool remoteIsNAT
Definition: rtp.h:1283
WORD remoteDataPort
Definition: rtp.h:1272
bool isAudio
is audio RTP data
Definition: rtp.h:522
unsigned GetVersion() const
Definition: rtp.h:197
DWORD averageSendTime
Definition: rtp.h:1051
BYTE tradeOff
Definition: rtp.h:351
bool AllowAnySyncSource() const
Definition: rtp.h:785
PIPSocket::Address GetRemoteAddress() const
Definition: rtp.h:1191
PUInt32b src
Definition: rtp.h:295
DWORD totalLost
Definition: rtp.h:658
PTime badTransmitStart
Definition: rtp.h:1287
unsigned GetCount() const
Definition: rtp.h:199
PUInt32b last_seq
Definition: rtp.h:235
PTime realTimestamp
Definition: rtp.h:672
PINDEX m_payloadSize
Definition: rtp.h:177
virtual void SetCloseOnBYE(PBoolean v)
Definition: rtp.h:937
DWORD rtcpPacketsSent
Definition: rtp.h:1042
DWORD GetPacketsSent() const
Definition: rtp.h:835
RTP_UserData * GetUserData() const
Definition: rtp.h:770
PString m_encoding
Definition: rtp.h:993
DWORD sourceIdentifier
Definition: rtp.h:690
WORD lastRRSequenceNumber
Definition: rtp.h:1024
list< FilterNotifier > m_filters
Definition: rtp.h:1093
DWORD GetMinimumReceiveTime() const
Definition: rtp.h:916
PayloadSpecificFbTypes
Definition: rtp.h:324
DWORD sourceIdentifier
Definition: rtp.h:656
WORD localControlPort
Definition: rtp.h:1269
OpalSecurityMode * securityParms
Definition: rtp.h:1349
PBoolean oobTimeStampBaseEstablished
Definition: rtp.h:1035
DWORD octetsSent
Definition: rtp.h:675
DWORD GetMaxJitterTime() const
Definition: rtp.h:928
unsigned GetFbType() const
Definition: rtp.h:321