SDRAngel  4.11.5
Developer docs for <a href="https://github.com/f4exb/sdrangel">SDRangel<\a>, an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
qrtplib::RTPSourceData Class Reference

#include <rtpsourcedata.h>

+ Inheritance diagram for qrtplib::RTPSourceData:
+ Collaboration diagram for qrtplib::RTPSourceData:

Public Member Functions

RTPPacketGetNextPacket ()
 
void FlushPackets ()
 
bool HasData () const
 
uint32_t GetSSRC () const
 
bool IsOwnSSRC () const
 
bool IsCSRC () const
 
bool IsSender () const
 
bool IsValidated () const
 
bool IsActive () const
 
void SetProcessedInRTCP (bool v)
 
bool IsProcessedInRTCP () const
 
bool IsRTPAddressSet () const
 
bool IsRTCPAddressSet () const
 
const RTPAddressGetRTPDataAddress () const
 
const RTPAddressGetRTCPDataAddress () const
 
bool ReceivedBYE () const
 
uint8_tGetBYEReason (std::size_t *len) const
 
RTPTime GetBYETime () const
 
void SetTimestampUnit (double tsu)
 
double GetTimestampUnit () const
 
bool SR_HasInfo () const
 
RTPNTPTime SR_GetNTPTimestamp () const
 
uint32_t SR_GetRTPTimestamp () const
 
uint32_t SR_GetPacketCount () const
 
uint32_t SR_GetByteCount () const
 
RTPTime SR_GetReceiveTime () const
 
bool SR_Prev_HasInfo () const
 
RTPNTPTime SR_Prev_GetNTPTimestamp () const
 
uint32_t SR_Prev_GetRTPTimestamp () const
 
uint32_t SR_Prev_GetPacketCount () const
 
uint32_t SR_Prev_GetByteCount () const
 
RTPTime SR_Prev_GetReceiveTime () const
 
bool RR_HasInfo () const
 
double RR_GetFractionLost () const
 
int32_t RR_GetPacketsLost () const
 
uint32_t RR_GetExtendedHighestSequenceNumber () const
 
uint32_t RR_GetJitter () const
 
uint32_t RR_GetLastSRTimestamp () const
 
uint32_t RR_GetDelaySinceLastSR () const
 
RTPTime RR_GetReceiveTime () const
 
bool RR_Prev_HasInfo () const
 
double RR_Prev_GetFractionLost () const
 
int32_t RR_Prev_GetPacketsLost () const
 
uint32_t RR_Prev_GetExtendedHighestSequenceNumber () const
 
uint32_t RR_Prev_GetJitter () const
 
uint32_t RR_Prev_GetLastSRTimestamp () const
 
uint32_t RR_Prev_GetDelaySinceLastSR () const
 
RTPTime RR_Prev_GetReceiveTime () const
 
bool INF_HasSentData () const
 
int32_t INF_GetNumPacketsReceived () const
 
uint32_t INF_GetBaseSequenceNumber () const
 
uint32_t INF_GetExtendedHighestSequenceNumber () const
 
uint32_t INF_GetJitter () const
 
RTPTime INF_GetLastMessageTime () const
 
RTPTime INF_GetLastRTPPacketTime () const
 
double INF_GetEstimatedTimestampUnit () const
 
uint32_t INF_GetNumPacketsReceivedInInterval () const
 
uint32_t INF_GetSavedExtendedSequenceNumber () const
 
void INF_StartNewInterval ()
 
RTPTime INF_GetRoundtripTime () const
 
RTPTime INF_GetLastSDESNoteTime () const
 
uint8_tSDES_GetCNAME (std::size_t *len) const
 
uint8_tSDES_GetName (std::size_t *len) const
 
uint8_tSDES_GetEMail (std::size_t *len) const
 
uint8_tSDES_GetPhone (std::size_t *len) const
 
uint8_tSDES_GetLocation (std::size_t *len) const
 
uint8_tSDES_GetTool (std::size_t *len) const
 
uint8_tSDES_GetNote (std::size_t *len) const
 
void SDES_GotoFirstPrivateValue ()
 
bool SDES_GetNextPrivateValue (uint8_t **prefix, std::size_t *prefixlen, uint8_t **value, std::size_t *valuelen)
 
bool SDES_GetPrivateValue (uint8_t *prefix, std::size_t prefixlen, uint8_t **value, std::size_t *valuelen) const
 

Protected Member Functions

 RTPSourceData (uint32_t ssrc)
 
virtual ~RTPSourceData ()
 

Protected Attributes

std::list< RTPPacket * > packetlist
 
uint32_t ssrc
 
bool ownssrc
 
bool iscsrc
 
double timestampunit
 
bool receivedbye
 
bool validated
 
bool processedinrtcp
 
bool issender
 
RTCPSenderReportInfo SRinf
 
RTCPSenderReportInfo SRprevinf
 
RTCPReceiverReportInfo RRinf
 
RTCPReceiverReportInfo RRprevinf
 
RTPSourceStats stats
 
RTCPSDESInfo SDESinf
 
bool isrtpaddrset
 
bool isrtcpaddrset
 
RTPAddressrtpaddr
 
RTPAddressrtcpaddr
 
RTPTime byetime
 
uint8_tbyereason
 
std::size_t byereasonlen
 

Detailed Description

Describes an entry in the RTPSources source table.

Definition at line 283 of file rtpsourcedata.h.

Constructor & Destructor Documentation

◆ RTPSourceData()

qrtplib::RTPSourceData::RTPSourceData ( uint32_t  ssrc)
protected

Definition at line 198 of file rtpsourcedata.cpp.

References byereason, byereasonlen, iscsrc, isrtcpaddrset, isrtpaddrset, issender, ownssrc, processedinrtcp, receivedbye, rtcpaddr, rtpaddr, ssrc, timestampunit, and validated.

198  :
199  byetime(0, 0)
200 {
201  ssrc = s;
202  issender = false;
203  iscsrc = false;
204  timestampunit = -1;
205  receivedbye = false;
206  byereason = 0;
207  byereasonlen = 0;
208  rtpaddr = 0;
209  rtcpaddr = 0;
210  ownssrc = false;
211  validated = false;
212  processedinrtcp = false;
213  isrtpaddrset = false;
214  isrtcpaddrset = false;
215 }

◆ ~RTPSourceData()

qrtplib::RTPSourceData::~RTPSourceData ( )
protectedvirtual

Definition at line 217 of file rtpsourcedata.cpp.

References byereason, FlushPackets(), rtcpaddr, and rtpaddr.

218 {
219  FlushPackets();
220  if (byereason)
221  delete[] byereason;
222  if (rtpaddr)
223  delete rtpaddr;
224  if (rtcpaddr)
225  delete rtcpaddr;
226 }
+ Here is the call graph for this function:

Member Function Documentation

◆ FlushPackets()

void qrtplib::RTPSourceData::FlushPackets ( )
inline

Clears the participant's RTP packet list.

Definition at line 789 of file rtpsourcedata.h.

Referenced by ~RTPSourceData().

790 {
791  std::list<RTPPacket *>::const_iterator it;
792 
793  for (it = packetlist.begin(); it != packetlist.end(); ++it)
794  delete *it;
795  packetlist.clear();
796 }
std::list< RTPPacket * > packetlist
+ Here is the caller graph for this function:

◆ GetBYEReason()

uint8_t* qrtplib::RTPSourceData::GetBYEReason ( std::size_t *  len) const
inline

Returns the reason for leaving contained in the BYE packet of this participant. Returns the reason for leaving contained in the BYE packet of this participant. The length of the reason is stored in len.

Definition at line 410 of file rtpsourcedata.h.

411  {
412  *len = byereasonlen;
413  return byereason;
414  }

◆ GetBYETime()

RTPTime qrtplib::RTPSourceData::GetBYETime ( ) const
inline

Returns the time at which the BYE packet was received.

Definition at line 417 of file rtpsourcedata.h.

Referenced by qrtplib::RTPSources::BYETimeout(), and qrtplib::RTPSources::MultipleTimeouts().

418  {
419  return byetime;
420  }
+ Here is the caller graph for this function:

◆ GetNextPacket()

RTPPacket * qrtplib::RTPSourceData::GetNextPacket ( )
inline

Extracts the first packet of this participants RTP packet queue.

Definition at line 775 of file rtpsourcedata.h.

Referenced by qrtplib::RTPSources::GetNextPacket().

776 {
777  if (!validated)
778  return 0;
779 
780  RTPPacket *p;
781 
782  if (packetlist.empty())
783  return 0;
784  p = *(packetlist.begin());
785  packetlist.pop_front();
786  return p;
787 }
std::list< RTPPacket * > packetlist
+ Here is the caller graph for this function:

◆ GetRTCPDataAddress()

const RTPAddress* qrtplib::RTPSourceData::GetRTCPDataAddress ( ) const
inline

Returns the address from which this participant's RTCP packets originate. Returns the address from which this participant's RTCP packets originate. If the address has been set and the returned value is NULL, this indicates that it originated from the local participant.

Definition at line 395 of file rtpsourcedata.h.

Referenced by qrtplib::RTPSources::CheckCollision().

396  {
397  return rtcpaddr;
398  }
+ Here is the caller graph for this function:

◆ GetRTPDataAddress()

const RTPAddress* qrtplib::RTPSourceData::GetRTPDataAddress ( ) const
inline

Returns the address from which this participant's RTP packets originate. Returns the address from which this participant's RTP packets originate. If the address has been set and the returned value is NULL, this indicates that it originated from the local participant.

Definition at line 385 of file rtpsourcedata.h.

Referenced by qrtplib::RTPSources::CheckCollision().

386  {
387  return rtpaddr;
388  }
+ Here is the caller graph for this function:

◆ GetSSRC()

uint32_t qrtplib::RTPSourceData::GetSSRC ( ) const
inline

Returns the SSRC identifier for this member.

Definition at line 304 of file rtpsourcedata.h.

Referenced by qrtplib::RTPSources::DeleteOwnSSRC(), qrtplib::RTCPPacketBuilder::FillInReportBlocks(), and qrtplib::RTPSources::ProcessRTCPCompoundPacket().

305  {
306  return ssrc;
307  }
+ Here is the caller graph for this function:

◆ GetTimestampUnit()

double qrtplib::RTPSourceData::GetTimestampUnit ( ) const
inline

Returns the timestamp unit used for this participant.

Definition at line 434 of file rtpsourcedata.h.

435  {
436  return timestampunit;
437  }

◆ HasData()

bool qrtplib::RTPSourceData::HasData ( ) const
inline

Returns true if there are RTP packets which can be extracted.

Definition at line 296 of file rtpsourcedata.h.

Referenced by qrtplib::RTPSources::GotoFirstSourceWithData(), qrtplib::RTPSources::GotoNextSourceWithData(), and qrtplib::RTPSources::GotoPreviousSourceWithData().

297  {
298  if (!validated)
299  return false;
300  return packetlist.empty() ? false : true;
301  }
std::list< RTPPacket * > packetlist
+ Here is the caller graph for this function:

◆ INF_GetBaseSequenceNumber()

uint32_t qrtplib::RTPSourceData::INF_GetBaseSequenceNumber ( ) const
inline

Returns the base sequence number of this participant.

Definition at line 622 of file rtpsourcedata.h.

Referenced by qrtplib::RTCPPacketBuilder::FillInReportBlocks().

623  {
624  return stats.GetBaseSequenceNumber();
625  }
uint32_t GetBaseSequenceNumber() const
RTPSourceStats stats
+ Here is the caller graph for this function:

◆ INF_GetEstimatedTimestampUnit()

double qrtplib::RTPSourceData::INF_GetEstimatedTimestampUnit ( ) const

Returns the estimated timestamp unit, calculated from two consecutive sender reports.

Definition at line 228 of file rtpsourcedata.cpp.

References qrtplib::RTPTime::GetDouble(), qrtplib::RTCPSenderReportInfo::GetNTPTimestamp(), qrtplib::RTCPSenderReportInfo::GetRTPTimestamp(), qrtplib::RTCPSenderReportInfo::HasInfo(), qrtplib::RTPTime::IsZero(), SRinf, and SRprevinf.

Referenced by qrtplib::RTPInternalSourceData::ProcessRTPPacket().

229 {
230  if (!SRprevinf.HasInfo())
231  return -1.0;
232 
233  RTPTime t1 = RTPTime(SRinf.GetNTPTimestamp());
234  RTPTime t2 = RTPTime(SRprevinf.GetNTPTimestamp());
235  if (t1.IsZero() || t2.IsZero()) // one of the times couldn't be calculated
236  return -1.0;
237 
238  if (t1 <= t2)
239  return -1.0;
240 
241  t1 -= t2; // get the time difference
242 
244 
245  return (t1.GetDouble() / ((double) tsdiff));
246 }
uint32_t GetRTPTimestamp() const
Definition: rtpsourcedata.h:85
unsigned int uint32_t
Definition: rtptypes_win.h:46
RTCPSenderReportInfo SRprevinf
RTCPSenderReportInfo SRinf
RTPNTPTime GetNTPTimestamp() const
Definition: rtpsourcedata.h:81
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ INF_GetExtendedHighestSequenceNumber()

uint32_t qrtplib::RTPSourceData::INF_GetExtendedHighestSequenceNumber ( ) const
inline

Returns the extended highest sequence number received from this participant.

Definition at line 628 of file rtpsourcedata.h.

Referenced by qrtplib::RTCPPacketBuilder::FillInReportBlocks().

629  {
631  }
uint32_t GetExtendedHighestSequenceNumber() const
RTPSourceStats stats
+ Here is the caller graph for this function:

◆ INF_GetJitter()

uint32_t qrtplib::RTPSourceData::INF_GetJitter ( ) const
inline

Returns the current jitter value for this participant.

Definition at line 634 of file rtpsourcedata.h.

Referenced by qrtplib::RTCPPacketBuilder::FillInReportBlocks().

635  {
636  return stats.GetJitter();
637  }
RTPSourceStats stats
uint32_t GetJitter() const
+ Here is the caller graph for this function:

◆ INF_GetLastMessageTime()

RTPTime qrtplib::RTPSourceData::INF_GetLastMessageTime ( ) const
inline

Returns the time at which something was last heard from this member.

Definition at line 640 of file rtpsourcedata.h.

Referenced by qrtplib::RTPSources::MultipleTimeouts(), and qrtplib::RTPSources::Timeout().

641  {
642  return stats.GetLastMessageTime();
643  }
RTPTime GetLastMessageTime() const
RTPSourceStats stats
+ Here is the caller graph for this function:

◆ INF_GetLastRTPPacketTime()

RTPTime qrtplib::RTPSourceData::INF_GetLastRTPPacketTime ( ) const
inline

Returns the time at which the last RTP packet was received.

Definition at line 646 of file rtpsourcedata.h.

Referenced by qrtplib::RTCPPacketBuilder::FillInReportBlocks(), qrtplib::RTPSources::MultipleTimeouts(), and qrtplib::RTPSources::SenderTimeout().

647  {
648  return stats.GetLastRTPPacketTime();
649  }
RTPTime GetLastRTPPacketTime() const
RTPSourceStats stats
+ Here is the caller graph for this function:

◆ INF_GetLastSDESNoteTime()

RTPTime qrtplib::RTPSourceData::INF_GetLastSDESNoteTime ( ) const
inline

Returns the time at which the last SDES NOTE item was received.

Definition at line 678 of file rtpsourcedata.h.

Referenced by qrtplib::RTPSources::MultipleTimeouts(), and qrtplib::RTPSources::NoteTimeout().

679  {
680  return stats.GetLastNoteTime();
681  }
RTPSourceStats stats
RTPTime GetLastNoteTime() const
+ Here is the caller graph for this function:

◆ INF_GetNumPacketsReceived()

int32_t qrtplib::RTPSourceData::INF_GetNumPacketsReceived ( ) const
inline

Returns the total number of received packets from this participant.

Definition at line 616 of file rtpsourcedata.h.

Referenced by qrtplib::RTCPPacketBuilder::FillInReportBlocks().

617  {
618  return stats.GetNumPacketsReceived();
619  }
uint32_t GetNumPacketsReceived() const
RTPSourceStats stats
+ Here is the caller graph for this function:

◆ INF_GetNumPacketsReceivedInInterval()

uint32_t qrtplib::RTPSourceData::INF_GetNumPacketsReceivedInInterval ( ) const
inline

Returns the number of packets received since a new interval was started with INF_StartNewInterval.

Definition at line 655 of file rtpsourcedata.h.

Referenced by qrtplib::RTCPPacketBuilder::FillInReportBlocks().

656  {
658  }
int32_t GetNumPacketsReceivedInInterval() const
RTPSourceStats stats
+ Here is the caller graph for this function:

◆ INF_GetRoundtripTime()

RTPTime qrtplib::RTPSourceData::INF_GetRoundtripTime ( ) const

Estimates the round trip time by using the LSR and DLSR info from the last receiver report.

Definition at line 248 of file rtpsourcedata.cpp.

References qrtplib::RTCPReceiverReportInfo::GetDelaySinceLastSR(), qrtplib::RTCPReceiverReportInfo::GetLastSRTimestamp(), qrtplib::RTPNTPTime::GetLSW(), qrtplib::RTPNTPTime::GetMSW(), qrtplib::RTPTime::GetNTPTime(), qrtplib::RTCPReceiverReportInfo::GetReceiveTime(), qrtplib::RTCPReceiverReportInfo::HasInfo(), and RRinf.

249 {
250  if (!RRinf.HasInfo())
251  return RTPTime(0, 0);
252  if (RRinf.GetDelaySinceLastSR() == 0 && RRinf.GetLastSRTimestamp() == 0)
253  return RTPTime(0, 0);
254 
255  RTPNTPTime recvtime = RRinf.GetReceiveTime().GetNTPTime();
256  uint32_t rtt = ((recvtime.GetMSW() & 0xFFFF) << 16) | ((recvtime.GetLSW() >> 16) & 0xFFFF);
257  rtt -= RRinf.GetLastSRTimestamp();
258  rtt -= RRinf.GetDelaySinceLastSR();
259 
260  double drtt = (((double) rtt) / 65536.0);
261  return RTPTime(drtt);
262 }
uint32_t GetDelaySinceLastSR() const
uint32_t GetLastSRTimestamp() const
unsigned int uint32_t
Definition: rtptypes_win.h:46
RTPNTPTime GetNTPTime() const
RTCPReceiverReportInfo RRinf
+ Here is the call graph for this function:

◆ INF_GetSavedExtendedSequenceNumber()

uint32_t qrtplib::RTPSourceData::INF_GetSavedExtendedSequenceNumber ( ) const
inline

Returns the extended sequence number which was stored by the INF_StartNewInterval call.

Definition at line 661 of file rtpsourcedata.h.

Referenced by qrtplib::RTCPPacketBuilder::FillInReportBlocks().

662  {
664  }
uint32_t GetSavedExtendedSequenceNumber() const
RTPSourceStats stats
+ Here is the caller graph for this function:

◆ INF_HasSentData()

bool qrtplib::RTPSourceData::INF_HasSentData ( ) const
inline

Returns true if validated RTP packets have been received from this participant.

Definition at line 610 of file rtpsourcedata.h.

Referenced by qrtplib::RTCPPacketBuilder::FillInReportBlocks().

611  {
612  return stats.HasSentData();
613  }
RTPSourceStats stats
+ Here is the caller graph for this function:

◆ INF_StartNewInterval()

void qrtplib::RTPSourceData::INF_StartNewInterval ( )
inline

Starts a new interval to count received packets in; this also stores the current extended highest sequence number to be able to calculate the packet loss during the interval.

Definition at line 669 of file rtpsourcedata.h.

Referenced by qrtplib::RTCPPacketBuilder::FillInReportBlocks().

670  {
672  }
RTPSourceStats stats
+ Here is the caller graph for this function:

◆ IsActive()

bool qrtplib::RTPSourceData::IsActive ( ) const
inline

Returns true if the source was validated and had not yet sent a BYE packet.

Definition at line 339 of file rtpsourcedata.h.

Referenced by qrtplib::RTPSources::BYETimeout(), qrtplib::RTPSources::DeleteOwnSSRC(), qrtplib::RTPSources::MultipleTimeouts(), qrtplib::RTPSources::NoteTimeout(), qrtplib::RTPSources::ProcessBYE(), qrtplib::RTPSources::ProcessRTPPacket(), qrtplib::RTPSources::ProcessSDESNormalItem(), qrtplib::RTPSources::SenderTimeout(), and qrtplib::RTPSources::Timeout().

340  {
341  if (!validated)
342  return false;
343  if (receivedbye)
344  return false;
345  return true;
346  }
+ Here is the caller graph for this function:

◆ IsCSRC()

bool qrtplib::RTPSourceData::IsCSRC ( ) const
inline

Returns true if the source identifier is actually a CSRC from an RTP packet.

Definition at line 318 of file rtpsourcedata.h.

Referenced by qrtplib::RTCPPacketBuilder::FillInReportBlocks().

319  {
320  return iscsrc;
321  }
+ Here is the caller graph for this function:

◆ IsOwnSSRC()

bool qrtplib::RTPSourceData::IsOwnSSRC ( ) const
inline

Returns true if the participant was added using the RTPSources member function CreateOwnSSRC and returns false otherwise.

Definition at line 312 of file rtpsourcedata.h.

Referenced by qrtplib::RTCPPacketBuilder::FillInReportBlocks(), and qrtplib::RTPSessionSources::OnSSRCCollision().

313  {
314  return ownssrc;
315  }
+ Here is the caller graph for this function:

◆ IsProcessedInRTCP()

bool qrtplib::RTPSourceData::IsProcessedInRTCP ( ) const
inline

This function is used by the RTCPPacketBuilder class and returns whether this participant has been processed in a report block or not.

Definition at line 359 of file rtpsourcedata.h.

Referenced by qrtplib::RTCPPacketBuilder::FillInReportBlocks().

360  {
361  return processedinrtcp;
362  }
+ Here is the caller graph for this function:

◆ IsRTCPAddressSet()

bool qrtplib::RTPSourceData::IsRTCPAddressSet ( ) const
inline

Returns true if the address from which this participant's RTCP packets originate has already been set.

Definition at line 375 of file rtpsourcedata.h.

Referenced by qrtplib::RTPSources::CheckCollision().

376  {
377  return isrtcpaddrset;
378  }
+ Here is the caller graph for this function:

◆ IsRTPAddressSet()

bool qrtplib::RTPSourceData::IsRTPAddressSet ( ) const
inline

Returns true if the address from which this participant's RTP packets originate has already been set.

Definition at line 367 of file rtpsourcedata.h.

Referenced by qrtplib::RTPSources::CheckCollision().

368  {
369  return isrtpaddrset;
370  }
+ Here is the caller graph for this function:

◆ IsSender()

bool qrtplib::RTPSourceData::IsSender ( ) const
inline

◆ IsValidated()

bool qrtplib::RTPSourceData::IsValidated ( ) const
inline

Returns true if the participant is validated, which is the case if a number of consecutive RTP packets have been received or if a CNAME item has been received for this participant.

Definition at line 333 of file rtpsourcedata.h.

Referenced by qrtplib::RTPSources::ProcessRTPPacket().

334  {
335  return validated;
336  }
+ Here is the caller graph for this function:

◆ ReceivedBYE()

bool qrtplib::RTPSourceData::ReceivedBYE ( ) const
inline

Returns true if we received a BYE message for this participant and false otherwise.

Definition at line 401 of file rtpsourcedata.h.

Referenced by qrtplib::RTPSources::BYETimeout(), and qrtplib::RTPSources::MultipleTimeouts().

402  {
403  return receivedbye;
404  }
+ Here is the caller graph for this function:

◆ RR_GetDelaySinceLastSR()

uint32_t qrtplib::RTPSourceData::RR_GetDelaySinceLastSR ( ) const
inline

Returns the DLSR value from the last report.

Definition at line 548 of file rtpsourcedata.h.

549  {
550  return RRinf.GetDelaySinceLastSR();
551  }
uint32_t GetDelaySinceLastSR() const
RTCPReceiverReportInfo RRinf

◆ RR_GetExtendedHighestSequenceNumber()

uint32_t qrtplib::RTPSourceData::RR_GetExtendedHighestSequenceNumber ( ) const
inline

Returns the extended highest sequence number contained in the last report.

Definition at line 530 of file rtpsourcedata.h.

531  {
533  }
uint32_t GetExtendedHighestSequenceNumber() const
RTCPReceiverReportInfo RRinf

◆ RR_GetFractionLost()

double qrtplib::RTPSourceData::RR_GetFractionLost ( ) const
inline

Returns the fraction lost value from the last report.

Definition at line 518 of file rtpsourcedata.h.

519  {
520  return RRinf.GetFractionLost();
521  }
RTCPReceiverReportInfo RRinf

◆ RR_GetJitter()

uint32_t qrtplib::RTPSourceData::RR_GetJitter ( ) const
inline

Returns the jitter value from the last report.

Definition at line 536 of file rtpsourcedata.h.

537  {
538  return RRinf.GetJitter();
539  }
RTCPReceiverReportInfo RRinf

◆ RR_GetLastSRTimestamp()

uint32_t qrtplib::RTPSourceData::RR_GetLastSRTimestamp ( ) const
inline

Returns the LSR value from the last report.

Definition at line 542 of file rtpsourcedata.h.

543  {
544  return RRinf.GetLastSRTimestamp();
545  }
uint32_t GetLastSRTimestamp() const
RTCPReceiverReportInfo RRinf

◆ RR_GetPacketsLost()

int32_t qrtplib::RTPSourceData::RR_GetPacketsLost ( ) const
inline

Returns the number of lost packets contained in the last report.

Definition at line 524 of file rtpsourcedata.h.

525  {
526  return RRinf.GetPacketsLost();
527  }
RTCPReceiverReportInfo RRinf

◆ RR_GetReceiveTime()

RTPTime qrtplib::RTPSourceData::RR_GetReceiveTime ( ) const
inline

Returns the time at which the last report was received.

Definition at line 554 of file rtpsourcedata.h.

555  {
556  return RRinf.GetReceiveTime();
557  }
RTCPReceiverReportInfo RRinf

◆ RR_HasInfo()

bool qrtplib::RTPSourceData::RR_HasInfo ( ) const
inline

Returns true if this participant sent a receiver report with information about the reception of our data.

Definition at line 512 of file rtpsourcedata.h.

513  {
514  return RRinf.HasInfo();
515  }
RTCPReceiverReportInfo RRinf

◆ RR_Prev_GetDelaySinceLastSR()

uint32_t qrtplib::RTPSourceData::RR_Prev_GetDelaySinceLastSR ( ) const
inline

Returns the DLSR value from the second to last report.

Definition at line 598 of file rtpsourcedata.h.

599  {
601  }
uint32_t GetDelaySinceLastSR() const
RTCPReceiverReportInfo RRprevinf

◆ RR_Prev_GetExtendedHighestSequenceNumber()

uint32_t qrtplib::RTPSourceData::RR_Prev_GetExtendedHighestSequenceNumber ( ) const
inline

Returns the extended highest sequence number contained in the second to last report.

Definition at line 580 of file rtpsourcedata.h.

581  {
583  }
uint32_t GetExtendedHighestSequenceNumber() const
RTCPReceiverReportInfo RRprevinf

◆ RR_Prev_GetFractionLost()

double qrtplib::RTPSourceData::RR_Prev_GetFractionLost ( ) const
inline

Returns the fraction lost value from the second to last report.

Definition at line 568 of file rtpsourcedata.h.

569  {
570  return RRprevinf.GetFractionLost();
571  }
RTCPReceiverReportInfo RRprevinf

◆ RR_Prev_GetJitter()

uint32_t qrtplib::RTPSourceData::RR_Prev_GetJitter ( ) const
inline

Returns the jitter value from the second to last report.

Definition at line 586 of file rtpsourcedata.h.

587  {
588  return RRprevinf.GetJitter();
589  }
RTCPReceiverReportInfo RRprevinf

◆ RR_Prev_GetLastSRTimestamp()

uint32_t qrtplib::RTPSourceData::RR_Prev_GetLastSRTimestamp ( ) const
inline

Returns the LSR value from the second to last report.

Definition at line 592 of file rtpsourcedata.h.

593  {
594  return RRprevinf.GetLastSRTimestamp();
595  }
uint32_t GetLastSRTimestamp() const
RTCPReceiverReportInfo RRprevinf

◆ RR_Prev_GetPacketsLost()

int32_t qrtplib::RTPSourceData::RR_Prev_GetPacketsLost ( ) const
inline

Returns the number of lost packets contained in the second to last report.

Definition at line 574 of file rtpsourcedata.h.

575  {
576  return RRprevinf.GetPacketsLost();
577  }
RTCPReceiverReportInfo RRprevinf

◆ RR_Prev_GetReceiveTime()

RTPTime qrtplib::RTPSourceData::RR_Prev_GetReceiveTime ( ) const
inline

Returns the time at which the second to last report was received.

Definition at line 604 of file rtpsourcedata.h.

605  {
606  return RRprevinf.GetReceiveTime();
607  }
RTCPReceiverReportInfo RRprevinf

◆ RR_Prev_HasInfo()

bool qrtplib::RTPSourceData::RR_Prev_HasInfo ( ) const
inline

Returns true if this participant sent more than one receiver report with information about the reception of our data.

Definition at line 562 of file rtpsourcedata.h.

563  {
564  return RRprevinf.HasInfo();
565  }
RTCPReceiverReportInfo RRprevinf

◆ SDES_GetCNAME()

uint8_t* qrtplib::RTPSourceData::SDES_GetCNAME ( std::size_t *  len) const
inline

Returns a pointer to the SDES CNAME item of this participant and stores its length in len.

Definition at line 684 of file rtpsourcedata.h.

685  {
686  return SDESinf.GetCNAME(len);
687  }
uint8_t * GetCNAME(std::size_t *len) const
Definition: rtcpsdesinfo.h:123

◆ SDES_GetEMail()

uint8_t* qrtplib::RTPSourceData::SDES_GetEMail ( std::size_t *  len) const
inline

Returns a pointer to the SDES e-mail item of this participant and stores its length in len.

Definition at line 696 of file rtpsourcedata.h.

697  {
698  return SDESinf.GetEMail(len);
699  }
uint8_t * GetEMail(std::size_t *len) const
Definition: rtcpsdesinfo.h:135

◆ SDES_GetLocation()

uint8_t* qrtplib::RTPSourceData::SDES_GetLocation ( std::size_t *  len) const
inline

Returns a pointer to the SDES location item of this participant and stores its length in len.

Definition at line 708 of file rtpsourcedata.h.

709  {
710  return SDESinf.GetLocation(len);
711  }
uint8_t * GetLocation(std::size_t *len) const
Definition: rtcpsdesinfo.h:147

◆ SDES_GetName()

uint8_t* qrtplib::RTPSourceData::SDES_GetName ( std::size_t *  len) const
inline

Returns a pointer to the SDES name item of this participant and stores its length in len.

Definition at line 690 of file rtpsourcedata.h.

691  {
692  return SDESinf.GetName(len);
693  }
uint8_t * GetName(std::size_t *len) const
Definition: rtcpsdesinfo.h:129

◆ SDES_GetNextPrivateValue()

bool qrtplib::RTPSourceData::SDES_GetNextPrivateValue ( uint8_t **  prefix,
std::size_t *  prefixlen,
uint8_t **  value,
std::size_t *  valuelen 
)
inline

If available, returns true and stores the next SDES private item prefix in prefix and its length in prefixlen; the associated value and its length are then stored in value and valuelen.

Definition at line 735 of file rtpsourcedata.h.

736  {
737  return SDESinf.GetNextPrivateValue(prefix, prefixlen, value, valuelen);
738  }
bool GetNextPrivateValue(uint8_t **prefix, std::size_t *prefixlen, uint8_t **value, std::size_t *valuelen)

◆ SDES_GetNote()

uint8_t* qrtplib::RTPSourceData::SDES_GetNote ( std::size_t *  len) const
inline

Returns a pointer to the SDES note item of this participant and stores its length in len.

Definition at line 720 of file rtpsourcedata.h.

Referenced by qrtplib::RTPSources::MultipleTimeouts(), and qrtplib::RTPSources::NoteTimeout().

721  {
722  return SDESinf.GetNote(len);
723  }
uint8_t * GetNote(std::size_t *len) const
Definition: rtcpsdesinfo.h:159
+ Here is the caller graph for this function:

◆ SDES_GetPhone()

uint8_t* qrtplib::RTPSourceData::SDES_GetPhone ( std::size_t *  len) const
inline

Returns a pointer to the SDES phone item of this participant and stores its length in len.

Definition at line 702 of file rtpsourcedata.h.

703  {
704  return SDESinf.GetPhone(len);
705  }
uint8_t * GetPhone(std::size_t *len) const
Definition: rtcpsdesinfo.h:141

◆ SDES_GetPrivateValue()

bool qrtplib::RTPSourceData::SDES_GetPrivateValue ( uint8_t prefix,
std::size_t  prefixlen,
uint8_t **  value,
std::size_t *  valuelen 
) const
inline

Looks for the entry which corresponds to the SDES private item prefix prefix with length prefixlen; if found, the function returns true and stores the associated value and its length in value and valuelen respectively.

Definition at line 744 of file rtpsourcedata.h.

745  {
746  return SDESinf.GetPrivateValue(prefix, prefixlen, value, valuelen);
747  }
bool GetPrivateValue(const uint8_t *prefix, std::size_t prefixlen, uint8_t **value, std::size_t *valuelen) const

◆ SDES_GetTool()

uint8_t* qrtplib::RTPSourceData::SDES_GetTool ( std::size_t *  len) const
inline

Returns a pointer to the SDES tool item of this participant and stores its length in len.

Definition at line 714 of file rtpsourcedata.h.

715  {
716  return SDESinf.GetTool(len);
717  }
uint8_t * GetTool(std::size_t *len) const
Definition: rtcpsdesinfo.h:153

◆ SDES_GotoFirstPrivateValue()

void qrtplib::RTPSourceData::SDES_GotoFirstPrivateValue ( )
inline

Starts the iteration over the stored SDES private item prefixes and their associated values.

Definition at line 727 of file rtpsourcedata.h.

728  {
730  }

◆ SetProcessedInRTCP()

void qrtplib::RTPSourceData::SetProcessedInRTCP ( bool  v)
inline

This function is used by the RTCPPacketBuilder class to mark whether this participant's information has been processed in a report block or not.

Definition at line 351 of file rtpsourcedata.h.

Referenced by qrtplib::RTCPPacketBuilder::ClearAllSourceFlags(), and qrtplib::RTCPPacketBuilder::FillInReportBlocks().

352  {
353  processedinrtcp = v;
354  }
+ Here is the caller graph for this function:

◆ SetTimestampUnit()

void qrtplib::RTPSourceData::SetTimestampUnit ( double  tsu)
inline

Sets the value for the timestamp unit to be used in jitter calculations for data received from this participant. Sets the value for the timestamp unit to be used in jitter calculations for data received from this participant. If not set, the library uses an approximation for the timestamp unit which is calculated from two consecutive RTCP sender reports. The timestamp unit is defined as a time interval divided by the corresponding timestamp interval. For 8000 Hz audio this would be 1/8000. For video, often a timestamp unit of 1/90000 is used.

Definition at line 428 of file rtpsourcedata.h.

429  {
430  timestampunit = tsu;
431  }

◆ SR_GetByteCount()

uint32_t qrtplib::RTPSourceData::SR_GetByteCount ( ) const
inline

Returns the octet count contained in the last sender report.

Definition at line 464 of file rtpsourcedata.h.

465  {
466  return SRinf.GetByteCount();
467  }
uint32_t GetByteCount() const
Definition: rtpsourcedata.h:93
RTCPSenderReportInfo SRinf

◆ SR_GetNTPTimestamp()

RTPNTPTime qrtplib::RTPSourceData::SR_GetNTPTimestamp ( ) const
inline

Returns the NTP timestamp contained in the last sender report.

Definition at line 446 of file rtpsourcedata.h.

Referenced by qrtplib::RTCPPacketBuilder::FillInReportBlocks().

447  {
448  return SRinf.GetNTPTimestamp();
449  }
RTCPSenderReportInfo SRinf
RTPNTPTime GetNTPTimestamp() const
Definition: rtpsourcedata.h:81
+ Here is the caller graph for this function:

◆ SR_GetPacketCount()

uint32_t qrtplib::RTPSourceData::SR_GetPacketCount ( ) const
inline

Returns the packet count contained in the last sender report.

Definition at line 458 of file rtpsourcedata.h.

459  {
460  return SRinf.GetPacketCount();
461  }
RTCPSenderReportInfo SRinf
uint32_t GetPacketCount() const
Definition: rtpsourcedata.h:89

◆ SR_GetReceiveTime()

RTPTime qrtplib::RTPSourceData::SR_GetReceiveTime ( ) const
inline

Returns the time at which the last sender report was received.

Definition at line 470 of file rtpsourcedata.h.

Referenced by qrtplib::RTCPPacketBuilder::FillInReportBlocks().

471  {
472  return SRinf.GetReceiveTime();
473  }
RTPTime GetReceiveTime() const
Definition: rtpsourcedata.h:97
RTCPSenderReportInfo SRinf
+ Here is the caller graph for this function:

◆ SR_GetRTPTimestamp()

uint32_t qrtplib::RTPSourceData::SR_GetRTPTimestamp ( ) const
inline

Returns the RTP timestamp contained in the last sender report.

Definition at line 452 of file rtpsourcedata.h.

453  {
454  return SRinf.GetRTPTimestamp();
455  }
uint32_t GetRTPTimestamp() const
Definition: rtpsourcedata.h:85
RTCPSenderReportInfo SRinf

◆ SR_HasInfo()

bool qrtplib::RTPSourceData::SR_HasInfo ( ) const
inline

Returns true if an RTCP sender report has been received from this participant.

Definition at line 440 of file rtpsourcedata.h.

Referenced by qrtplib::RTCPPacketBuilder::FillInReportBlocks().

441  {
442  return SRinf.HasInfo();
443  }
RTCPSenderReportInfo SRinf
+ Here is the caller graph for this function:

◆ SR_Prev_GetByteCount()

uint32_t qrtplib::RTPSourceData::SR_Prev_GetByteCount ( ) const
inline

Returns the octet count contained in the second to last sender report.

Definition at line 500 of file rtpsourcedata.h.

501  {
502  return SRprevinf.GetByteCount();
503  }
uint32_t GetByteCount() const
Definition: rtpsourcedata.h:93
RTCPSenderReportInfo SRprevinf

◆ SR_Prev_GetNTPTimestamp()

RTPNTPTime qrtplib::RTPSourceData::SR_Prev_GetNTPTimestamp ( ) const
inline

Returns the NTP timestamp contained in the second to last sender report.

Definition at line 482 of file rtpsourcedata.h.

483  {
484  return SRprevinf.GetNTPTimestamp();
485  }
RTCPSenderReportInfo SRprevinf
RTPNTPTime GetNTPTimestamp() const
Definition: rtpsourcedata.h:81

◆ SR_Prev_GetPacketCount()

uint32_t qrtplib::RTPSourceData::SR_Prev_GetPacketCount ( ) const
inline

Returns the packet count contained in the second to last sender report.

Definition at line 494 of file rtpsourcedata.h.

495  {
496  return SRprevinf.GetPacketCount();
497  }
RTCPSenderReportInfo SRprevinf
uint32_t GetPacketCount() const
Definition: rtpsourcedata.h:89

◆ SR_Prev_GetReceiveTime()

RTPTime qrtplib::RTPSourceData::SR_Prev_GetReceiveTime ( ) const
inline

Returns the time at which the second to last sender report was received.

Definition at line 506 of file rtpsourcedata.h.

507  {
508  return SRprevinf.GetReceiveTime();
509  }
RTCPSenderReportInfo SRprevinf
RTPTime GetReceiveTime() const
Definition: rtpsourcedata.h:97

◆ SR_Prev_GetRTPTimestamp()

uint32_t qrtplib::RTPSourceData::SR_Prev_GetRTPTimestamp ( ) const
inline

Returns the RTP timestamp contained in the second to last sender report.

Definition at line 488 of file rtpsourcedata.h.

489  {
490  return SRprevinf.GetRTPTimestamp();
491  }
uint32_t GetRTPTimestamp() const
Definition: rtpsourcedata.h:85
RTCPSenderReportInfo SRprevinf

◆ SR_Prev_HasInfo()

bool qrtplib::RTPSourceData::SR_Prev_HasInfo ( ) const
inline

Returns true if more than one RTCP sender report has been received.

Definition at line 476 of file rtpsourcedata.h.

477  {
478  return SRprevinf.HasInfo();
479  }
RTCPSenderReportInfo SRprevinf

Member Data Documentation

◆ byereason

uint8_t* qrtplib::RTPSourceData::byereason
protected

◆ byereasonlen

std::size_t qrtplib::RTPSourceData::byereasonlen
protected

◆ byetime

RTPTime qrtplib::RTPSourceData::byetime
protected

Definition at line 770 of file rtpsourcedata.h.

Referenced by qrtplib::RTPInternalSourceData::ProcessBYEPacket().

◆ iscsrc

bool qrtplib::RTPSourceData::iscsrc
protected

Definition at line 755 of file rtpsourcedata.h.

Referenced by RTPSourceData().

◆ isrtcpaddrset

bool qrtplib::RTPSourceData::isrtcpaddrset
protected

Definition at line 767 of file rtpsourcedata.h.

Referenced by RTPSourceData().

◆ isrtpaddrset

bool qrtplib::RTPSourceData::isrtpaddrset
protected

Definition at line 767 of file rtpsourcedata.h.

Referenced by RTPSourceData().

◆ issender

bool qrtplib::RTPSourceData::issender
protected

◆ ownssrc

bool qrtplib::RTPSourceData::ownssrc
protected

◆ packetlist

std::list<RTPPacket *> qrtplib::RTPSourceData::packetlist
protected

Definition at line 751 of file rtpsourcedata.h.

Referenced by qrtplib::RTPInternalSourceData::ProcessRTPPacket().

◆ processedinrtcp

bool qrtplib::RTPSourceData::processedinrtcp
protected

Definition at line 759 of file rtpsourcedata.h.

Referenced by RTPSourceData().

◆ receivedbye

bool qrtplib::RTPSourceData::receivedbye
protected

◆ RRinf

RTCPReceiverReportInfo qrtplib::RTPSourceData::RRinf
protected

Definition at line 763 of file rtpsourcedata.h.

Referenced by INF_GetRoundtripTime().

◆ RRprevinf

RTCPReceiverReportInfo qrtplib::RTPSourceData::RRprevinf
protected

Definition at line 763 of file rtpsourcedata.h.

◆ rtcpaddr

RTPAddress * qrtplib::RTPSourceData::rtcpaddr
protected

Definition at line 768 of file rtpsourcedata.h.

Referenced by RTPSourceData(), and ~RTPSourceData().

◆ rtpaddr

RTPAddress* qrtplib::RTPSourceData::rtpaddr
protected

Definition at line 768 of file rtpsourcedata.h.

Referenced by RTPSourceData(), and ~RTPSourceData().

◆ SDESinf

RTCPSDESInfo qrtplib::RTPSourceData::SDESinf
protected

◆ SRinf

RTCPSenderReportInfo qrtplib::RTPSourceData::SRinf
protected

Definition at line 762 of file rtpsourcedata.h.

Referenced by INF_GetEstimatedTimestampUnit().

◆ SRprevinf

RTCPSenderReportInfo qrtplib::RTPSourceData::SRprevinf
protected

Definition at line 762 of file rtpsourcedata.h.

Referenced by INF_GetEstimatedTimestampUnit().

◆ ssrc

uint32_t qrtplib::RTPSourceData::ssrc
protected

Definition at line 753 of file rtpsourcedata.h.

Referenced by RTPSourceData().

◆ stats

RTPSourceStats qrtplib::RTPSourceData::stats
protected

◆ timestampunit

double qrtplib::RTPSourceData::timestampunit
protected

◆ validated

bool qrtplib::RTPSourceData::validated
protected

The documentation for this class was generated from the following files: