Go to the documentation of this file.
43 #ifndef CCXX_RTP_SOURCES_H_
44 #define CCXX_RTP_SOURCES_H_
70 inline const std::string&
150 inline const std::string&
255 {
return activeSender; }
269 {
return participant; }
272 {
return dataTransportPort; }
275 {
return controlTransportPort; }
278 {
return networkAddress; }
301 { activeSender = active; }
305 { participant = &p; }
308 { dataTransportPort = p; }
311 { controlTransportPort = p; }
314 { networkAddress = addr; }
334 InetAddress networkAddress;
335 tpport_t dataTransportPort;
336 tpport_t controlTransportPort;
367 struct ParticipantLink;
393 inline const std::string&
419 {
return *(link->getParticipant()); }
422 {
return link->getParticipant(); }
425 link = link->getNext();
436 {
return l.link == r.link; }
440 {
return l.link != r.link; }
442 ParticipantLink *link;
452 getParticipant(
const std::string& cname)
const;
457 struct ParticipantLink {
459 ParticipantLink* l) :
460 participant(&p), next(l)
462 inline ~ParticipantLink() {
delete participant; }
463 inline Participant* getParticipant() {
return participant; }
464 inline ParticipantLink* getPrev() {
return prev; }
465 inline ParticipantLink* getNext() {
return next; }
466 inline void setPrev(ParticipantLink* l) { prev = l; }
467 inline void setNext(ParticipantLink* l) { next = l; }
469 ParticipantLink* next, *prev;
476 removeParticipant(ParticipantLink* part);
486 static const size_t defaultParticipantsNum;
489 ParticipantLink* firstPart, * lastPart;
507 #endif //CCXX_RTP_SOURCES_H_
SDESItemsHolder()
Definition: sources.h:82
void setControlTransportPort(SyncSource &source, tpport_t p)
Definition: iqueue.h:158
void * getLink(const SyncSource &source) const
This requires SyncSource - SyncSourceHandler friendship.
Definition: iqueue.h:134
const std::string & getPRIVPrefix() const
Get the prefix value for the PRIV SDES item.
Definition: sources.h:151
std::ptrdiff_t difference_type
Definition: sources.h:406
reference operator*() const
Definition: sources.h:418
@ SDESItemTypeLast
Last defined code.
Definition: rtcppkt.h:76
const typedef Participant * pointer
Definition: sources.h:407
ParticipantsIterator(const ParticipantsIterator &pi)
Definition: sources.h:414
Synchronization source in an RTP session.
Definition: sources.h:192
const typedef Participant & reference
Definition: sources.h:408
Participant value_type
Definition: sources.h:405
__EXPORT RTPApplication & defaultApplication()
Get the RTPApplication object for the "default" application (the only one used by common applications...
void setState(SyncSource &source, SyncSource::State ns)
Definition: iqueue.h:146
pointer operator->() const
Definition: sources.h:421
void setLink(SyncSource &source, void *link)
Definition: iqueue.h:138
void setSender(SyncSource &source, bool active)
Definition: iqueue.h:150
@ statePrevalid
Some packets have been.
Definition: sources.h:227
void setItem(SDESItemType item, const std::string &val)
uint32 getID() const
Definition: sources.h:257
Application objects modification methods.
Definition: iqueue.h:205
const InetAddress & getNetworkAddress() const
Definition: sources.h:277
const std::string & getItem(SDESItemType type) const
std::forward_iterator_tag iterator_category
Definition: sources.h:404
Iterator through the list of participants in this session.
Definition: sources.h:401
ParticipantsIterator & operator++()
Definition: sources.h:424
virtual ~SDESItemsHolder()
Definition: sources.h:85
Participant objects modification methods.
Definition: iqueue.h:179
const std::string & getPRIVPrefix() const
Definition: sources.h:394
tpport_t getControlTransportPort() const
Definition: sources.h:274
@ SDESItemTypeEND
END of SDES item list.
Definition: rtcppkt.h:66
@ stateUnknown
No valid packet has been received.
Definition: sources.h:226
A class of objects representing remote participants (RTP applications) in a multimedia session.
Definition: sources.h:124
State
Synchronization source states during an RTP session.
Definition: sources.h:225
void setPRIVPrefix(const std::string &val)
Definition: sources.h:78
ParticipantsIterator operator++(int)
Definition: sources.h:429
ParticipantsIterator end()
Definition: sources.h:448
const std::string & getSDESItem(SDESItemType item) const
Definition: sources.h:390
bool isSender() const
Whether this source sends RTP data packets.
Definition: sources.h:254
friend bool operator==(const ParticipantsIterator &l, const ParticipantsIterator &r)
Definition: sources.h:434
void setNetworkAddress(SyncSource &source, InetAddress addr)
Definition: iqueue.h:162
friend bool operator!=(const ParticipantsIterator &l, const ParticipantsIterator &r)
Definition: sources.h:438
SyncSource objects modification methods.
Definition: iqueue.h:124
void setPRIVPrefix(const std::string &val)
Definition: sources.h:386
void setSDESItem(SDESItemType item, const std::string &val)
Definition: sources.h:382
const std::string & getSDESItem(SDESItemType type) const
Get the value of an SDES item.
Definition: sources.h:140
Participant * getParticipant() const
Get the participant this synchronization source is asociated to.
Definition: sources.h:268
ParticipantsIterator begin()
Definition: sources.h:445
State getState() const
Definition: sources.h:248
An RTP application, holding identifying RTCP SDES item values. Represents local participants.
Definition: sources.h:364
tpport_t getDataTransportPort() const
Definition: sources.h:271
void setSDESItem(Participant *part, SDESItemType item, const std::string &val)
Definition: iqueue.h:183
ParticipantsIterator(ParticipantLink *p=NULL)
Definition: sources.h:410
void setDataTransportPort(SyncSource &source, tpport_t p)
Definition: iqueue.h:154
const std::string & getPRIVPrefix() const
Definition: sources.h:71
void setParticipant(SyncSource &source, Participant &p)
Definition: iqueue.h:142
SDESItemType
SDES items that may be carried in a Source DEScription RTCP packet.
Definition: rtcppkt.h:64