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.
|
#include <rtpsourcedata.h>
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 |
RTPAddress * | rtpaddr |
RTPAddress * | rtcpaddr |
RTPTime | byetime |
uint8_t * | byereason |
std::size_t | byereasonlen |
Describes an entry in the RTPSources source table.
Definition at line 283 of file rtpsourcedata.h.
|
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.
|
protectedvirtual |
Definition at line 217 of file rtpsourcedata.cpp.
References byereason, FlushPackets(), rtcpaddr, and rtpaddr.
|
inline |
Clears the participant's RTP packet list.
Definition at line 789 of file rtpsourcedata.h.
Referenced by ~RTPSourceData().
|
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.
|
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().
|
inline |
Extracts the first packet of this participants RTP packet queue.
Definition at line 775 of file rtpsourcedata.h.
Referenced by qrtplib::RTPSources::GetNextPacket().
|
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().
|
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().
|
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().
|
inline |
Returns the timestamp unit used for this participant.
Definition at line 434 of file rtpsourcedata.h.
|
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().
|
inline |
Returns the base sequence number of this participant.
Definition at line 622 of file rtpsourcedata.h.
Referenced by qrtplib::RTCPPacketBuilder::FillInReportBlocks().
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().
|
inline |
Returns the extended highest sequence number received from this participant.
Definition at line 628 of file rtpsourcedata.h.
Referenced by qrtplib::RTCPPacketBuilder::FillInReportBlocks().
|
inline |
Returns the current jitter value for this participant.
Definition at line 634 of file rtpsourcedata.h.
Referenced by qrtplib::RTCPPacketBuilder::FillInReportBlocks().
|
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().
|
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().
|
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().
|
inline |
Returns the total number of received packets from this participant.
Definition at line 616 of file rtpsourcedata.h.
Referenced by qrtplib::RTCPPacketBuilder::FillInReportBlocks().
|
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().
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.
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
inline |
Returns true
if this member is marked as a sender and false
if not.
Definition at line 324 of file rtpsourcedata.h.
Referenced by qrtplib::RTCPPacketBuilder::BuildBYEPacket(), qrtplib::RTCPPacketBuilder::BuildNextPacket(), qrtplib::RTPSources::BYETimeout(), qrtplib::RTCPScheduler::CalculateNextRTCPTime(), qrtplib::RTPSources::DeleteOwnSSRC(), qrtplib::RTCPScheduler::IsTime(), qrtplib::RTPSources::MultipleTimeouts(), qrtplib::RTPSources::NoteTimeout(), qrtplib::RTPSources::ProcessRTPPacket(), qrtplib::RTPSources::SenderTimeout(), qrtplib::RTPSources::SentRTPPacket(), and qrtplib::RTPSources::Timeout().
|
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().
|
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().
|
inline |
Returns the DLSR value from the last report.
Definition at line 548 of file rtpsourcedata.h.
|
inline |
Returns the extended highest sequence number contained in the last report.
Definition at line 530 of file rtpsourcedata.h.
|
inline |
Returns the fraction lost value from the last report.
Definition at line 518 of file rtpsourcedata.h.
|
inline |
|
inline |
Returns the LSR value from the last report.
Definition at line 542 of file rtpsourcedata.h.
|
inline |
Returns the number of lost packets contained in the last report.
Definition at line 524 of file rtpsourcedata.h.
|
inline |
Returns the time at which the last report was received.
Definition at line 554 of file rtpsourcedata.h.
|
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.
|
inline |
Returns the DLSR value from the second to last report.
Definition at line 598 of file rtpsourcedata.h.
|
inline |
Returns the extended highest sequence number contained in the second to last report.
Definition at line 580 of file rtpsourcedata.h.
|
inline |
Returns the fraction lost value from the second to last report.
Definition at line 568 of file rtpsourcedata.h.
|
inline |
Returns the jitter value from the second to last report.
Definition at line 586 of file rtpsourcedata.h.
|
inline |
Returns the LSR value from the second to last report.
Definition at line 592 of file rtpsourcedata.h.
|
inline |
Returns the number of lost packets contained in the second to last report.
Definition at line 574 of file rtpsourcedata.h.
|
inline |
Returns the time at which the second to last report was received.
Definition at line 604 of file rtpsourcedata.h.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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().
|
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.
|
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.
|
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.
|
inline |
Starts the iteration over the stored SDES private item prefixes and their associated values.
Definition at line 727 of file rtpsourcedata.h.
|
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().
|
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.
|
inline |
Returns the octet count contained in the last sender report.
Definition at line 464 of file rtpsourcedata.h.
|
inline |
Returns the NTP timestamp contained in the last sender report.
Definition at line 446 of file rtpsourcedata.h.
Referenced by qrtplib::RTCPPacketBuilder::FillInReportBlocks().
|
inline |
Returns the packet count contained in the last sender report.
Definition at line 458 of file rtpsourcedata.h.
|
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().
|
inline |
Returns the RTP timestamp contained in the last sender report.
Definition at line 452 of file rtpsourcedata.h.
|
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().
|
inline |
Returns the octet count contained in the second to last sender report.
Definition at line 500 of file rtpsourcedata.h.
|
inline |
Returns the NTP timestamp contained in the second to last sender report.
Definition at line 482 of file rtpsourcedata.h.
|
inline |
Returns the packet count contained in the second to last sender report.
Definition at line 494 of file rtpsourcedata.h.
|
inline |
Returns the time at which the second to last sender report was received.
Definition at line 506 of file rtpsourcedata.h.
|
inline |
Returns the RTP timestamp contained in the second to last sender report.
Definition at line 488 of file rtpsourcedata.h.
|
inline |
Returns true
if more than one RTCP sender report has been received.
Definition at line 476 of file rtpsourcedata.h.
|
protected |
Definition at line 771 of file rtpsourcedata.h.
Referenced by qrtplib::RTPInternalSourceData::ProcessBYEPacket(), RTPSourceData(), and ~RTPSourceData().
|
protected |
Definition at line 772 of file rtpsourcedata.h.
Referenced by qrtplib::RTPInternalSourceData::ProcessBYEPacket(), and RTPSourceData().
|
protected |
Definition at line 770 of file rtpsourcedata.h.
Referenced by qrtplib::RTPInternalSourceData::ProcessBYEPacket().
|
protected |
Definition at line 755 of file rtpsourcedata.h.
Referenced by RTPSourceData().
|
protected |
Definition at line 767 of file rtpsourcedata.h.
Referenced by RTPSourceData().
|
protected |
Definition at line 767 of file rtpsourcedata.h.
Referenced by RTPSourceData().
|
protected |
Definition at line 760 of file rtpsourcedata.h.
Referenced by qrtplib::RTPInternalSourceData::ProcessRTPPacket(), and RTPSourceData().
|
protected |
Definition at line 754 of file rtpsourcedata.h.
Referenced by qrtplib::RTPInternalSourceData::ProcessRTPPacket(), and RTPSourceData().
|
protected |
Definition at line 751 of file rtpsourcedata.h.
Referenced by qrtplib::RTPInternalSourceData::ProcessRTPPacket().
|
protected |
Definition at line 759 of file rtpsourcedata.h.
Referenced by RTPSourceData().
|
protected |
Definition at line 757 of file rtpsourcedata.h.
Referenced by qrtplib::RTPInternalSourceData::ProcessBYEPacket(), and RTPSourceData().
|
protected |
Definition at line 763 of file rtpsourcedata.h.
Referenced by INF_GetRoundtripTime().
|
protected |
Definition at line 763 of file rtpsourcedata.h.
|
protected |
Definition at line 768 of file rtpsourcedata.h.
Referenced by RTPSourceData(), and ~RTPSourceData().
|
protected |
Definition at line 768 of file rtpsourcedata.h.
Referenced by RTPSourceData(), and ~RTPSourceData().
|
protected |
Definition at line 765 of file rtpsourcedata.h.
Referenced by qrtplib::RTPInternalSourceData::ProcessPrivateSDESItem(), and qrtplib::RTPInternalSourceData::ProcessSDESItem().
|
protected |
Definition at line 762 of file rtpsourcedata.h.
Referenced by INF_GetEstimatedTimestampUnit().
|
protected |
Definition at line 762 of file rtpsourcedata.h.
Referenced by INF_GetEstimatedTimestampUnit().
|
protected |
Definition at line 753 of file rtpsourcedata.h.
Referenced by RTPSourceData().
|
protected |
|
protected |
Definition at line 756 of file rtpsourcedata.h.
Referenced by qrtplib::RTPInternalSourceData::ProcessRTPPacket(), and RTPSourceData().
|
protected |
Definition at line 758 of file rtpsourcedata.h.
Referenced by qrtplib::RTPInternalSourceData::ProcessRTPPacket(), qrtplib::RTPInternalSourceData::ProcessSDESItem(), and RTPSourceData().