#include <iqueue.h>
Public Member Functions | |
SyncSourceLink (MembershipBookkeeping *m, SyncSource *s, IncomingRTPPktLink *fp=NULL, IncomingRTPPktLink *lp=NULL, SyncSourceLink *ps=NULL, SyncSourceLink *ns=NULL, SyncSourceLink *ncollis=NULL) | |
~SyncSourceLink () | |
Note it deletes the source. | |
MembershipBookkeeping * | getMembership () |
SyncSource * | getSource () |
Get the synchronization source object this link objet holds information for. | |
IncomingRTPPktLink * | getFirst () |
Get first RTP (data) packet in the queue of packets received from this socket. | |
void | setFirst (IncomingRTPPktLink *fp) |
IncomingRTPPktLink * | getLast () |
Get last RTP (data) packet in the queue of packets received from this socket. | |
void | setLast (IncomingRTPPktLink *lp) |
SyncSourceLink * | getPrev () |
Get the link object for the previous RTP source. | |
void | setPrev (SyncSourceLink *ps) |
SyncSourceLink * | getNext () |
Get the link object for the next RTP source. | |
void | setNext (SyncSourceLink *ns) |
SyncSourceLink * | getNextCollis () |
Get the link object for the next RTP source in the hash table entry collision list. | |
void | setNextCollis (SyncSourceLink *ns) |
ConflictingTransportAddress * | getPrevConflict () const |
void | setPrevConflict (InetAddress &addr, tpport_t dataPort, tpport_t controlPort) |
Get conflicting address. | |
unsigned char * | getSenderInfo () |
void | setSenderInfo (unsigned char *si) |
unsigned char * | getReceiverInfo () |
void | setReceiverInfo (unsigned char *ri) |
timeval | getLastPacketTime () const |
timeval | getLastRTCPPacketTime () const |
timeval | getLastRTCPSRTime () const |
uint32 | getObservedPacketCount () const |
Get the total number of RTP packets received from this source. | |
void | incObservedPacketCount () |
uint32 | getObservedOctetCount () const |
Get the total number of payload octets received from this source. | |
void | incObservedOctetCount (uint32 n) |
uint16 | getMaxSeqNum () const |
Get the highest valid sequence number received. | |
void | setMaxSeqNum (uint16 max) |
Set the highest valid sequence number recived. | |
uint32 | getExtendedMaxSeqNum () const |
void | setExtendedMaxSeqNum (uint32 seq) |
uint32 | getCumulativePacketLost () const |
void | setCumulativePacketLost (uint32 pl) |
uint8 | getFractionLost () const |
void | setFractionLost (uint8 fl) |
uint32 | getLastPacketTransitTime () |
void | setLastPacketTransitTime (uint32 time) |
float | getJitter () const |
void | setJitter (float j) |
uint32 | getInitialDataTimestamp () const |
void | setInitialDataTimestamp (uint32 ts) |
timeval | getInitialDataTime () const |
void | setInitialDataTime (timeval it) |
bool | getGoodbye () |
Mark this source as having sent a BYE control packet. | |
bool | getHello () |
Mark this source as having sent some packet. | |
uint32 | getBadSeqNum () const |
void | setBadSeqNum (uint32 seq) |
uint8 | getProbation () const |
void | setProbation (uint8 p) |
void | decProbation () |
bool | isValid () const |
uint16 | getBaseSeqNum () const |
uint32 | getSeqNumAccum () const |
void | incSeqNumAccum () |
void | initSequence (uint16 seqnum) |
Start a new sequence of received packets. | |
void | recordInsertion (const IncomingRTPPktLink &pl) |
Record the insertion of an RTP packet from this source into the scheduled reception queue. | |
void | initStats () |
void | computeStats () |
Compute cumulative packet lost and fraction of packets lost during the last reporting interval. | |
Public Attributes | |
MembershipBookkeeping * | membership |
SyncSource * | source |
IncomingRTPPktLink * | first |
IncomingRTPPktLink * | last |
SyncSourceLink * | prev |
SyncSourceLink * | next |
SyncSourceLink * | nextCollis |
ConflictingTransportAddress * | prevConflict |
unsigned char * | senderInfo |
unsigned char * | receiverInfo |
timeval | lastPacketTime |
timeval | lastRTCPPacketTime |
timeval | lastRTCPSRTime |
uint32 | obsPacketCount |
uint32 | obsOctetCount |
uint16 | maxSeqNum |
uint32 | extendedMaxSeqNum |
uint32 | cumulativePacketLost |
uint8 | fractionLost |
uint32 | lastPacketTransitTime |
float | jitter |
uint32 | initialDataTimestamp |
timeval | initialDataTime |
bool | flag |
uint32 | badSeqNum |
uint8 | probation |
uint16 | baseSeqNum |
uint32 | expectedPrior |
uint32 | receivedPrior |
uint32 | seqNumAccum |
Static Public Attributes | |
static const uint32 | SEQNUMMOD |
Incoming packets queue objects hold a hash table and a linked list of synchronization sources. For each of these sources, there is also a linked list of incoming rtp packets, which are linked in an "all incoming packets" list as well. SyncSourceLink objects hold the necessary data to maintain these data estructures, as well as source specific information and statistics for RTCP,
MembershipBookkeeping::SyncSourceLink::SyncSourceLink | ( | MembershipBookkeeping * | m, | |
SyncSource * | s, | |||
IncomingRTPPktLink * | fp = NULL , |
|||
IncomingRTPPktLink * | lp = NULL , |
|||
SyncSourceLink * | ps = NULL , |
|||
SyncSourceLink * | ns = NULL , |
|||
SyncSourceLink * | ncollis = NULL | |||
) | [inline] |
MembershipBookkeeping::SyncSourceLink::~SyncSourceLink | ( | ) |
Note it deletes the source.
MembershipBookkeeping* MembershipBookkeeping::SyncSourceLink::getMembership | ( | ) | [inline] |
SyncSource* MembershipBookkeeping::SyncSourceLink::getSource | ( | ) | [inline] |
Get the synchronization source object this link objet holds information for.
IncomingRTPPktLink* MembershipBookkeeping::SyncSourceLink::getFirst | ( | ) | [inline] |
Get first RTP (data) packet in the queue of packets received from this socket.
void MembershipBookkeeping::SyncSourceLink::setFirst | ( | IncomingRTPPktLink * | fp | ) | [inline] |
IncomingRTPPktLink* MembershipBookkeeping::SyncSourceLink::getLast | ( | ) | [inline] |
Get last RTP (data) packet in the queue of packets received from this socket.
void MembershipBookkeeping::SyncSourceLink::setLast | ( | IncomingRTPPktLink * | lp | ) | [inline] |
SyncSourceLink* MembershipBookkeeping::SyncSourceLink::getPrev | ( | ) | [inline] |
Get the link object for the previous RTP source.
void MembershipBookkeeping::SyncSourceLink::setPrev | ( | SyncSourceLink * | ps | ) | [inline] |
SyncSourceLink* MembershipBookkeeping::SyncSourceLink::getNext | ( | ) | [inline] |
Get the link object for the next RTP source.
void MembershipBookkeeping::SyncSourceLink::setNext | ( | SyncSourceLink * | ns | ) | [inline] |
SyncSourceLink* MembershipBookkeeping::SyncSourceLink::getNextCollis | ( | ) | [inline] |
Get the link object for the next RTP source in the hash table entry collision list.
Note that collision does not refer to SSRC collision, but hash table collision.
void MembershipBookkeeping::SyncSourceLink::setNextCollis | ( | SyncSourceLink * | ns | ) | [inline] |
ConflictingTransportAddress* MembershipBookkeeping::SyncSourceLink::getPrevConflict | ( | ) | const [inline] |
void MembershipBookkeeping::SyncSourceLink::setPrevConflict | ( | InetAddress & | addr, | |
tpport_t | dataPort, | |||
tpport_t | controlPort | |||
) |
Get conflicting address.
unsigned char* MembershipBookkeeping::SyncSourceLink::getSenderInfo | ( | ) | [inline] |
void MembershipBookkeeping::SyncSourceLink::setSenderInfo | ( | unsigned char * | si | ) |
unsigned char* MembershipBookkeeping::SyncSourceLink::getReceiverInfo | ( | ) | [inline] |
void MembershipBookkeeping::SyncSourceLink::setReceiverInfo | ( | unsigned char * | ri | ) |
timeval MembershipBookkeeping::SyncSourceLink::getLastPacketTime | ( | ) | const [inline] |
timeval MembershipBookkeeping::SyncSourceLink::getLastRTCPPacketTime | ( | ) | const [inline] |
timeval MembershipBookkeeping::SyncSourceLink::getLastRTCPSRTime | ( | ) | const [inline] |
uint32 MembershipBookkeeping::SyncSourceLink::getObservedPacketCount | ( | ) | const [inline] |
Get the total number of RTP packets received from this source.
void MembershipBookkeeping::SyncSourceLink::incObservedPacketCount | ( | ) | [inline] |
uint32 MembershipBookkeeping::SyncSourceLink::getObservedOctetCount | ( | ) | const [inline] |
Get the total number of payload octets received from this source.
void MembershipBookkeeping::SyncSourceLink::incObservedOctetCount | ( | uint32 | n | ) | [inline] |
uint16 MembershipBookkeeping::SyncSourceLink::getMaxSeqNum | ( | ) | const [inline] |
Get the highest valid sequence number received.
void MembershipBookkeeping::SyncSourceLink::setMaxSeqNum | ( | uint16 | max | ) | [inline] |
Set the highest valid sequence number recived.
max | Sequence number. |
uint32 MembershipBookkeeping::SyncSourceLink::getExtendedMaxSeqNum | ( | ) | const [inline] |
void MembershipBookkeeping::SyncSourceLink::setExtendedMaxSeqNum | ( | uint32 | seq | ) | [inline] |
uint32 MembershipBookkeeping::SyncSourceLink::getCumulativePacketLost | ( | ) | const [inline] |
void MembershipBookkeeping::SyncSourceLink::setCumulativePacketLost | ( | uint32 | pl | ) | [inline] |
uint8 MembershipBookkeeping::SyncSourceLink::getFractionLost | ( | ) | const [inline] |
void MembershipBookkeeping::SyncSourceLink::setFractionLost | ( | uint8 | fl | ) | [inline] |
uint32 MembershipBookkeeping::SyncSourceLink::getLastPacketTransitTime | ( | ) | [inline] |
void MembershipBookkeeping::SyncSourceLink::setLastPacketTransitTime | ( | uint32 | time | ) | [inline] |
float MembershipBookkeeping::SyncSourceLink::getJitter | ( | ) | const [inline] |
void MembershipBookkeeping::SyncSourceLink::setJitter | ( | float | j | ) | [inline] |
uint32 MembershipBookkeeping::SyncSourceLink::getInitialDataTimestamp | ( | ) | const [inline] |
void MembershipBookkeeping::SyncSourceLink::setInitialDataTimestamp | ( | uint32 | ts | ) | [inline] |
timeval MembershipBookkeeping::SyncSourceLink::getInitialDataTime | ( | ) | const [inline] |
void MembershipBookkeeping::SyncSourceLink::setInitialDataTime | ( | timeval | it | ) | [inline] |
bool MembershipBookkeeping::SyncSourceLink::getGoodbye | ( | ) | [inline] |
Mark this source as having sent a BYE control packet.
bool MembershipBookkeeping::SyncSourceLink::getHello | ( | ) | [inline] |
Mark this source as having sent some packet.
uint32 MembershipBookkeeping::SyncSourceLink::getBadSeqNum | ( | ) | const [inline] |
void MembershipBookkeeping::SyncSourceLink::setBadSeqNum | ( | uint32 | seq | ) | [inline] |
uint8 MembershipBookkeeping::SyncSourceLink::getProbation | ( | ) | const [inline] |
void MembershipBookkeeping::SyncSourceLink::setProbation | ( | uint8 | p | ) | [inline] |
void MembershipBookkeeping::SyncSourceLink::decProbation | ( | ) | [inline] |
bool MembershipBookkeeping::SyncSourceLink::isValid | ( | ) | const [inline] |
uint16 MembershipBookkeeping::SyncSourceLink::getBaseSeqNum | ( | ) | const [inline] |
uint32 MembershipBookkeeping::SyncSourceLink::getSeqNumAccum | ( | ) | const [inline] |
void MembershipBookkeeping::SyncSourceLink::incSeqNumAccum | ( | ) | [inline] |
void MembershipBookkeeping::SyncSourceLink::initSequence | ( | uint16 | seqnum | ) | [inline] |
Start a new sequence of received packets.
void MembershipBookkeeping::SyncSourceLink::recordInsertion | ( | const IncomingRTPPktLink & | pl | ) |
Record the insertion of an RTP packet from this source into the scheduled reception queue.
All received packets should be registered with recordReception(), but only those actually inserted into the queue should be registered via this method.
pl | Link structure for packet inserted into the queue. |
void MembershipBookkeeping::SyncSourceLink::initStats | ( | ) |
void MembershipBookkeeping::SyncSourceLink::computeStats | ( | ) |
Compute cumulative packet lost and fraction of packets lost during the last reporting interval.
const uint32 MembershipBookkeeping::SyncSourceLink::SEQNUMMOD [static] |
ConflictingTransportAddress* MembershipBookkeeping::SyncSourceLink::prevConflict |
unsigned char* MembershipBookkeeping::SyncSourceLink::senderInfo |
unsigned char* MembershipBookkeeping::SyncSourceLink::receiverInfo |