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 <rtpsessionsources.h>
Public Member Functions | |
RTPSessionSources (RTPSession &sess) | |
~RTPSessionSources () | |
void | ClearOwnCollisionFlag () |
bool | DetectedOwnCollision () const |
Public Member Functions inherited from qrtplib::RTPSources | |
RTPSources () | |
virtual | ~RTPSources () |
void | Clear () |
int | CreateOwnSSRC (uint32_t ssrc) |
int | DeleteOwnSSRC () |
void | SentRTPPacket () |
int | ProcessRawPacket (RTPRawPacket *rawpack, RTPTransmitter *trans, bool acceptownpackets) |
int | ProcessRawPacket (RTPRawPacket *rawpack, RTPTransmitter *trans[], int numtrans, bool acceptownpackets) |
int | ProcessRTPPacket (RTPPacket *rtppack, const RTPTime &receivetime, const RTPAddress *senderaddress, bool *stored) |
int | ProcessRTCPCompoundPacket (RTCPCompoundPacket *rtcpcomppack, const RTPTime &receivetime, const RTPAddress *senderaddress) |
int | ProcessRTCPSenderInfo (uint32_t ssrc, const RTPNTPTime &ntptime, uint32_t rtptime, uint32_t packetcount, uint32_t octetcount, const RTPTime &receivetime, const RTPAddress *senderaddress) |
int | ProcessRTCPReportBlock (uint32_t ssrc, uint8_t fractionlost, int32_t lostpackets, uint32_t exthighseqnr, uint32_t jitter, uint32_t lsr, uint32_t dlsr, const RTPTime &receivetime, const RTPAddress *senderaddress) |
int | ProcessSDESNormalItem (uint32_t ssrc, RTCPSDESPacket::ItemType t, std::size_t itemlength, const void *itemdata, const RTPTime &receivetime, const RTPAddress *senderaddress) |
int | ProcessSDESPrivateItem (uint32_t ssrc, std::size_t prefixlen, const void *prefixdata, std::size_t valuelen, const void *valuedata, const RTPTime &receivetime, const RTPAddress *senderaddress) |
int | ProcessBYE (uint32_t ssrc, std::size_t reasonlength, const void *reasondata, const RTPTime &receivetime, const RTPAddress *senderaddress) |
int | UpdateReceiveTime (uint32_t ssrc, const RTPTime &receivetime, const RTPAddress *senderaddress) |
bool | GotoFirstSource () |
bool | GotoNextSource () |
bool | GotoPreviousSource () |
bool | GotoFirstSourceWithData () |
bool | GotoNextSourceWithData () |
bool | GotoPreviousSourceWithData () |
RTPSourceData * | GetCurrentSourceInfo () |
RTPSourceData * | GetSourceInfo (uint32_t ssrc) |
RTPPacket * | GetNextPacket () |
bool | GotEntry (uint32_t ssrc) |
RTPSourceData * | GetOwnSourceInfo () |
void | Timeout (const RTPTime &curtime, const RTPTime &timeoutdelay) |
void | SenderTimeout (const RTPTime &curtime, const RTPTime &timeoutdelay) |
void | BYETimeout (const RTPTime &curtime, const RTPTime &timeoutdelay) |
void | NoteTimeout (const RTPTime &curtime, const RTPTime &timeoutdelay) |
void | MultipleTimeouts (const RTPTime &curtime, const RTPTime &sendertimeout, const RTPTime &byetimeout, const RTPTime &generaltimeout, const RTPTime ¬etimeout) |
int | GetSenderCount () const |
int | GetTotalCount () const |
int | GetActiveMemberCount () const |
Private Member Functions | |
void | OnRTPPacket (RTPPacket *pack, const RTPTime &receivetime, const RTPAddress *senderaddress) |
void | OnRTCPCompoundPacket (RTCPCompoundPacket *pack, const RTPTime &receivetime, const RTPAddress *senderaddress) |
void | OnSSRCCollision (RTPSourceData *srcdat, const RTPAddress *senderaddress, bool isrtp) |
void | OnCNAMECollision (RTPSourceData *srcdat, const RTPAddress *senderaddress, const uint8_t *cname, std::size_t cnamelength) |
void | OnNewSource (RTPSourceData *srcdat) |
void | OnRemoveSource (RTPSourceData *srcdat) |
void | OnTimeout (RTPSourceData *srcdat) |
void | OnBYETimeout (RTPSourceData *srcdat) |
void | OnBYEPacket (RTPSourceData *srcdat) |
void | OnAPPPacket (RTCPAPPPacket *apppacket, const RTPTime &receivetime, const RTPAddress *senderaddress) |
void | OnUnknownPacketType (RTCPPacket *rtcppack, const RTPTime &receivetime, const RTPAddress *senderaddress) |
void | OnUnknownPacketFormat (RTCPPacket *rtcppack, const RTPTime &receivetime, const RTPAddress *senderaddress) |
void | OnNoteTimeout (RTPSourceData *srcdat) |
void | OnValidatedRTPPacket (RTPSourceData *srcdat, RTPPacket *rtppack, bool isonprobation, bool *ispackethandled) |
void | OnRTCPSenderReport (RTPSourceData *srcdat) |
void | OnRTCPReceiverReport (RTPSourceData *srcdat) |
void | OnRTCPSDESItem (RTPSourceData *srcdat, RTCPSDESPacket::ItemType t, const void *itemdata, std::size_t itemlength) |
void | OnRTCPSDESPrivateItem (RTPSourceData *srcdat, const void *prefixdata, std::size_t prefixlen, const void *valuedata, std::size_t valuelen) |
Private Attributes | |
RTPSession & | rtpsession |
bool | owncollision |
Additional Inherited Members | |
Public Types inherited from qrtplib::RTPSources | |
enum | ProbationType { NoProbation, ProbationDiscard, ProbationStore } |
Definition at line 51 of file rtpsessionsources.h.
|
inline |
Definition at line 54 of file rtpsessionsources.h.
|
inline |
Definition at line 59 of file rtpsessionsources.h.
|
inline |
Definition at line 62 of file rtpsessionsources.h.
Referenced by qrtplib::RTPSession::ProcessPolledData().
|
inline |
Definition at line 66 of file rtpsessionsources.h.
Referenced by qrtplib::RTPSession::ProcessPolledData().
|
privatevirtual |
Is called when an RTCP APP packet apppacket
has been received at time receivetime
from address senderaddress
.
Reimplemented from qrtplib::RTPSources.
Definition at line 91 of file rtpsessionsources.cpp.
References qrtplib::RTPSession::OnAPPPacket(), and rtpsession.
|
privatevirtual |
Is called when a BYE packet has been processed for source srcdat
.
Reimplemented from qrtplib::RTPSources.
Definition at line 85 of file rtpsessionsources.cpp.
References qrtplib::RTCPScheduler::ActiveMemberDecrease(), qrtplib::RTPSession::OnBYEPacket(), qrtplib::RTPSession::rtcpsched, and rtpsession.
|
privatevirtual |
Is called when participant srcdat
is timed after having sent a BYE packet.
Reimplemented from qrtplib::RTPSources.
Definition at line 80 of file rtpsessionsources.cpp.
References qrtplib::RTPSession::OnBYETimeout(), and rtpsession.
|
privatevirtual |
Is called when another CNAME was received than the one already present for source srcdat
.
Reimplemented from qrtplib::RTPSources.
Definition at line 59 of file rtpsessionsources.cpp.
References qrtplib::RTPSession::OnCNAMECollision(), and rtpsession.
|
privatevirtual |
Is called when a new entry srcdat
is added to the source table.
Reimplemented from qrtplib::RTPSources.
Definition at line 64 of file rtpsessionsources.cpp.
References qrtplib::RTPSession::OnNewSource(), and rtpsession.
|
privatevirtual |
Is called when the SDES NOTE item for source srcdat
has been timed out.
Reimplemented from qrtplib::RTPSources.
Definition at line 106 of file rtpsessionsources.cpp.
References qrtplib::RTPSession::OnNoteTimeout(), and rtpsession.
|
privatevirtual |
Is called when the entry srcdat
is about to be deleted from the source table.
Reimplemented from qrtplib::RTPSources.
Definition at line 69 of file rtpsessionsources.cpp.
References qrtplib::RTPSession::OnRemoveSource(), and rtpsession.
|
privatevirtual |
Is called when an RTCP compound packet is about to be processed.
Reimplemented from qrtplib::RTPSources.
Definition at line 45 of file rtpsessionsources.cpp.
References qrtplib::RTCPScheduler::AnalyseIncoming(), qrtplib::RTPSession::OnRTCPCompoundPacket(), qrtplib::RTPSession::rtcpsched, and rtpsession.
|
privatevirtual |
Is called when an RTCP receiver report has been processed for this source.
Reimplemented from qrtplib::RTPSources.
Definition at line 121 of file rtpsessionsources.cpp.
References qrtplib::RTPSession::OnRTCPReceiverReport(), and rtpsession.
|
privatevirtual |
Is called when a specific SDES item was received for this source.
Reimplemented from qrtplib::RTPSources.
Definition at line 126 of file rtpsessionsources.cpp.
References qrtplib::RTPSession::OnRTCPSDESItem(), and rtpsession.
|
privatevirtual |
Is called when a specific SDES item of 'private' type was received for this source.
Reimplemented from qrtplib::RTPSources.
Definition at line 132 of file rtpsessionsources.cpp.
References qrtplib::RTPSession::OnRTCPSDESPrivateItem(), and rtpsession.
|
privatevirtual |
Is called when an RTCP sender report has been processed for this source.
Reimplemented from qrtplib::RTPSources.
Definition at line 116 of file rtpsessionsources.cpp.
References qrtplib::RTPSession::OnRTCPSenderReport(), and rtpsession.
|
privatevirtual |
Is called when an RTP packet is about to be processed.
Reimplemented from qrtplib::RTPSources.
Definition at line 40 of file rtpsessionsources.cpp.
References qrtplib::RTPSession::OnRTPPacket(), and rtpsession.
|
privatevirtual |
Is called when an SSRC collision was detected. Is called when an SSRC collision was detected. The instance srcdat
is the one present in the table, the address senderaddress
is the one that collided with one of the addresses and isrtp
indicates against which address of srcdat
the check failed.
Reimplemented from qrtplib::RTPSources.
Definition at line 52 of file rtpsessionsources.cpp.
References qrtplib::RTPSourceData::IsOwnSSRC(), qrtplib::RTPSession::OnSSRCCollision(), owncollision, and rtpsession.
|
privatevirtual |
Is called when participant srcdat
is timed out.
Reimplemented from qrtplib::RTPSources.
Definition at line 74 of file rtpsessionsources.cpp.
References qrtplib::RTCPScheduler::ActiveMemberDecrease(), qrtplib::RTPSession::OnTimeout(), qrtplib::RTPSession::rtcpsched, and rtpsession.
|
privatevirtual |
Is called when an unknown packet format for a known packet type was detected.
Reimplemented from qrtplib::RTPSources.
Definition at line 101 of file rtpsessionsources.cpp.
References qrtplib::RTPSession::OnUnknownPacketFormat(), and rtpsession.
|
privatevirtual |
Is called when an unknown RTCP packet type was detected.
Reimplemented from qrtplib::RTPSources.
Definition at line 96 of file rtpsessionsources.cpp.
References qrtplib::RTPSession::OnUnknownPacketType(), and rtpsession.
|
privatevirtual |
Allows you to use an RTP packet from the specified source directly. Allows you to use an RTP packet from the specified source directly. If ispackethandled
is set to true
, the packet will no longer be stored in this source's packet list.
Reimplemented from qrtplib::RTPSources.
Definition at line 111 of file rtpsessionsources.cpp.
References qrtplib::RTPSession::OnValidatedRTPPacket(), and rtpsession.
|
private |
Definition at line 93 of file rtpsessionsources.h.
Referenced by OnSSRCCollision().
|
private |
Definition at line 92 of file rtpsessionsources.h.
Referenced by OnAPPPacket(), OnBYEPacket(), OnBYETimeout(), OnCNAMECollision(), OnNewSource(), OnNoteTimeout(), OnRemoveSource(), OnRTCPCompoundPacket(), OnRTCPReceiverReport(), OnRTCPSDESItem(), OnRTCPSDESPrivateItem(), OnRTCPSenderReport(), OnRTPPacket(), OnSSRCCollision(), OnTimeout(), OnUnknownPacketFormat(), OnUnknownPacketType(), and OnValidatedRTPPacket().