This class, an RTP/RTCP queue, adds audio/video profile (AVP) specific methods to the generic RTCP service queue (QueueRTCPManager).
More...
|
| void | setControlBandwidth (float fraction) |
| | Specify the bandwith available for control (RTCP) packets. More...
|
| |
| float | getControlBandwidth () const |
| |
| RTCPSenderInfo * | getMRSenderInfo (SyncSource &src) |
| | Get the most recent sender report received from a synchronization source. More...
|
| |
| RTCPReceiverInfo * | getMRReceiverInfo (SyncSource &srcFrom) |
| | Ask for the info in the most recent receiver report about the local source received from the source given as parameter. More...
|
| |
| void | setLeavingDelay (microtimeout_t delay) |
| | Set how much time the stack will wait before deleting a synchronization source that has sent an RTCP BYE packet. More...
|
| |
| void | setEnd2EndDelay (microtimeout_t t) |
| | This method sets the maximum end to end delay allowed. More...
|
| |
| microtimeout_t | getDefaultEnd2EndDelay () const |
| |
| microtimeout_t | getEnd2EndDelay () const |
| |
| void | setSendersControlFraction (float fraction) |
| | Specify the fraction of the total control bandwith to be dedicated to senders reports. More...
|
| |
| void | setMinRTCPInterval (microtimeout_t interval) |
| | Manually set the minimum interval for sending RTP compound packets. More...
|
| |
| uint32 | getSendRTCPPacketCount () const |
| | Get the total number of RTCP packets sent until now. More...
|
| |
| void | setOutQueueCryptoContextCtrl (CryptoContextCtrl *cc) |
| | Set ouput queue CryptoContext. More...
|
| |
| void | removeOutQueueCryptoContextCtrl (CryptoContextCtrl *cc) |
| | Remove output queue CryptoContext. More...
|
| |
| CryptoContextCtrl * | getOutQueueCryptoContextCtrl (uint32 ssrc) |
| | Get an output queue CryptoContext identified by SSRC. More...
|
| |
| void | setInQueueCryptoContextCtrl (CryptoContextCtrl *cc) |
| | Set input queue CryptoContext. More...
|
| |
| void | removeInQueueCryptoContextCtrl (CryptoContextCtrl *cc) |
| | Remove input queue CryptoContext. More...
|
| |
| CryptoContextCtrl * | getInQueueCryptoContextCtrl (uint32 ssrc) |
| | Get an input queue CryptoContext identified by SSRC. More...
|
| |
| void | setTypeOfService (Tos tos) |
| | Specify the kind of service the application expects to use. More...
|
| |
| void | enableStack () |
| | Enable packet queue processing in the stack. More...
|
| |
| void | disableStack () |
| | Disable packet queue processing in the stack. More...
|
| |
| bool | isActive () const |
| | Get active connection state flag. More...
|
| |
| uint32 | getCurrentTimestamp () const |
| | Get the timestamp that should be given for a packet whose payload sampling instant corresponds to the current system time. More...
|
| |
| void | setSessionBandwidth (uint32 bw) |
| | Specify the bandwidth of the current session. More...
|
| |
| uint32 | getDefaultSessionBandwidth () const |
| |
| uint32 | getSessionBandwidth () const |
| |
| void | setTimeclock () |
| | Set the packet timeclock for synchronizing timestamps. More...
|
| |
| timeout_t | getTimeclock () const |
| | Get the packet timeclock for synchronizing timestamps. More...
|
| |
| SyncSourcesIterator | begin () |
| |
| SyncSourcesIterator | end () |
| |
| const AppDataUnit * | getData (uint32 stamp, const SyncSource *src=NULL) |
| | Retreive data from a specific timestamped packet if such a packet is currently available in the receive buffer. More...
|
| |
| bool | isWaiting (const SyncSource *src=NULL) const |
| | Determine if packets are waiting in the reception queue. More...
|
| |
| uint32 | getFirstTimestamp (const SyncSource *src=NULL) const |
| | Get timestamp of first packet waiting in the queue. More...
|
| |
| void | setMinValidPacketSequence (uint8 packets) |
| | When receiving packets from a new source, it may be convenient to reject a first few packets before we are really sure the source is valid. More...
|
| |
| uint8 | getDefaultMinValidPacketSequence () const |
| |
| uint8 | getMinValidPacketSequence () const |
| | Get the minimun number of consecutive packets that must be received from a source before accepting its data packets. More...
|
| |
| void | setMaxPacketMisorder (uint16 packets) |
| |
| uint16 | getDefaultMaxPacketMisorder () const |
| |
| uint16 | getMaxPacketMisorder () const |
| |
| void | setMaxPacketDropout (uint16 packets) |
| | It also prevents packets sent after a restart of the source being immediately accepted. More...
|
| |
| uint16 | getDefaultMaxPacketDropout () const |
| |
| uint16 | getMaxPacketDropout () const |
| |
| void | setInQueueCryptoContext (CryptoContext *cc) |
| | Set input queue CryptoContext. More...
|
| |
| void | removeInQueueCryptoContext (CryptoContext *cc) |
| | Remove input queue CryptoContext. More...
|
| |
| CryptoContext * | getInQueueCryptoContext (uint32 ssrc) |
| | Get an input queue CryptoContext identified by SSRC. More...
|
| |
| size_t | getDefaultMaxRecvPacketSize () const |
| |
| size_t | getMaxRecvPacketSize () const |
| |
| void | setMaxRecvPacketSize (size_t maxsize) |
| |
| bool | setPayloadFormat (const PayloadFormat &pf) |
| | Set the payload format in use, for timing and payload type identification purposes. More...
|
| |
| uint32 | getLocalSSRC () const |
| |
| uint32 | getCurrentRTPClockRate () const |
| | Get the clock rate in RTP clock units (for instance, 8000 units per second for PCMU, or 90000 units per second for MP2T). More...
|
| |
| PayloadType | getCurrentPayloadType () const |
| |
| timeval | getInitialTime () const |
| |
| bool | addDestination (const InetHostAddress &ia, tpport_t dataPort=DefaultRTPDataPort, tpport_t controlPort=0) |
| |
| bool | addDestination (const InetMcastAddress &ia, tpport_t dataPort=DefaultRTPDataPort, tpport_t controlPort=0) |
| |
| bool | forgetDestination (const InetHostAddress &ia, tpport_t dataPort=DefaultRTPDataPort, tpport_t controlPort=0) |
| |
| bool | forgetDestination (const InetMcastAddress &ia, tpport_t dataPort=DefaultRTPDataPort, tpport_t controlPort=0) |
| |
| void | addContributor (uint32 csrc) |
| | Add csrc as the CSRC identifier of a new contributor. More...
|
| |
| bool | removeContributor (uint32 csrc) |
| | Remove CSRC from the list of contributors. More...
|
| |
| bool | isSending () const |
| | Determine if outgoing packets are waiting to send. More...
|
| |
| void | putData (uint32 stamp, const unsigned char *data=NULL, size_t len=0) |
| | This is used to create a data packet in the send queue. More...
|
| |
| void | sendImmediate (uint32 stamp, const unsigned char *data=NULL, size_t len=0) |
| | This is used to create a data packet and send it immediately. More...
|
| |
| void | setPadding (uint8 paddinglen) |
| | Set padding. More...
|
| |
| void | setMark (bool mark) |
| | Set marker bit for the packet in which the next data provided will be send. More...
|
| |
| bool | getMark () const |
| | Get wheter the mark bit will be set in the next packet. More...
|
| |
| size_t | setPartial (uint32 timestamp, unsigned char *data, size_t offset, size_t max) |
| | Set partial data for an already queued packet. More...
|
| |
| microtimeout_t | getDefaultSchedulingTimeout () const |
| |
| void | setSchedulingTimeout (microtimeout_t to) |
| | Set the default scheduling timeout to use when no data packets are waiting to be sent. More...
|
| |
| microtimeout_t | getDefaultExpireTimeout () const |
| |
| void | setExpireTimeout (microtimeout_t to) |
| | Set the "expired" timer for expiring packets pending in the send queue which have gone unsent and are already "too late" to be sent now. More...
|
| |
| microtimeout_t | getExpireTimeout () const |
| |
| uint32 | getSendPacketCount () const |
| | Get the total number of packets sent so far. More...
|
| |
| uint32 | getSendOctetCount () const |
| | Get the total number of octets (payload only) sent so far. More...
|
| |
| uint16 | getSequenceNumber () const |
| | Get the sequence number of the next outgoing packet. More...
|
| |
| void | setOutQueueCryptoContext (CryptoContext *cc) |
| | Set ouput queue CryptoContext. More...
|
| |
| void | removeOutQueueCryptoContext (CryptoContext *cc) |
| | Remove output queue CryptoContext. More...
|
| |
| CryptoContext * | getOutQueueCryptoContext (uint32 ssrc) |
| | Get an output queue CryptoContext identified by SSRC. More...
|
| |
| size_t | getDefaultMaxSendSegmentSize () |
| |
| void | setMaxSendSegmentSize (size_t size) |
| | Set maximum payload segment size before fragmenting sends. More...
|
| |
| size_t | getMaxSendSegmentSize () |
| |
|
| | AVPQueue (uint32 size=RTPDataQueue::defaultMembersHashSize, RTPApplication &app=defaultApplication()) |
| |
| | AVPQueue (uint32 ssrc, uint32 size=RTPDataQueue::defaultMembersHashSize, RTPApplication &app=defaultApplication()) |
| | Local SSRC is given instead of computed by the queue. More...
|
| |
| virtual | ~AVPQueue () |
| |
| | QueueRTCPManager (uint32 size=RTPDataQueue::defaultMembersHashSize, RTPApplication &app=defaultApplication()) |
| |
| | QueueRTCPManager (uint32 ssrc, uint32 size=RTPDataQueue::defaultMembersHashSize, RTPApplication &app=defaultApplication()) |
| |
| virtual | ~QueueRTCPManager () |
| |
| const RTPApplication & | getApplication () |
| |
| void | setControlBandwidth (float fraction) |
| |
| float | getControlBandwidth () const |
| |
| void | controlTransmissionService () |
| | Build and send RTCP packets following timing rules (including the "timer reconsideration" algorithm). More...
|
| |
| void | controlReceptionService () |
| | Process incoming RTCP packets pending in the control reception socket. More...
|
| |
| bool | checkSSRCInRTCPPkt (SyncSourceLink &sourceLink, bool is_new, InetAddress &na, tpport_t tp) |
| | Appy collision and loop detection and correction algorithm when receiving RTCP packets. More...
|
| |
| void | endQueueRTCPManager () |
| |
| virtual void | onGotSR (SyncSource &source, SendReport &SR, uint8 blocks) |
| | Plug-in for processing (acquire information carried in) an incoming RTCP Sender Report. More...
|
| |
| virtual void | onGotRR (SyncSource &source, RecvReport &RR, uint8 blocks) |
| | Plug-in for processing (acquire information carried in) an incoming RTCP Receiver Report. More...
|
| |
| bool | onGotSDES (SyncSource &source, RTCPPacket &pkt) |
| |
| virtual bool | onGotSDESChunk (SyncSource &source, SDESChunk &chunk, size_t len) |
| | Plug-in for handling of SDES chunks. More...
|
| |
| virtual void | onGotAPP (SyncSource &, RTCPCompoundHandler::APPPacket &, size_t) |
| | Plug-in for handling of APP (application specific) RTCP packets. More...
|
| |
| timeval | getRTCPCheckInterval () |
| |
| uint32 | getLastSendPacketCount () const |
| | Get the number of data packets sent at the time the last SR was generated. More...
|
| |
| void | setPrevMembersNum (uint32 n) |
| |
| uint32 | getPrevMembersCount () const |
| |
| size_t | dispatchBYE (const std::string &reason) |
| | This method is used to send an RTCP BYE packet. More...
|
| |
| size_t | sendControlToDestinations (unsigned char *buffer, size_t len) |
| |
| | RTPDataQueue (uint32 size=defaultMembersHashSize) |
| | Constructor. More...
|
| |
| | RTPDataQueue (uint32 *ssrc, uint32 size=defaultMembersHashSize) |
| | Using this constructor you can start a session with the given ssrc, instead of the usual randomly generated one. More...
|
| |
| virtual | ~RTPDataQueue () |
| | The queue destructor flushes the queue and stops all services. More...
|
| |
| virtual void | timerTick () |
| | A plugin point for timer tick driven events. More...
|
| |
| void | renewLocalSSRC () |
| |
| void | endQueue () |
| | This method ends the queue. More...
|
| |
| virtual bool | isPendingData (microtimeout_t timeout)=0 |
| | This function is used to check for and schedule against arriving packets based on the derived connection type. More...
|
| |
| | IncomingDataQueue (uint32 size) |
| |
| virtual | ~IncomingDataQueue () |
| |
| bool | checkSSRCInIncomingRTPPkt (SyncSourceLink &sourceLink, bool is_new, InetAddress &na, tpport_t tp) |
| | Apply collision and loop detection and correction algorithm when receiving RTP data packets. More...
|
| |
| void | setSourceExpirationPeriod (uint8 intervals) |
| | Set the number of RTCP intervals that the stack will wait to change the state of a source from stateActive to stateInactive, or to delete the source after being in stateInactive. More...
|
| |
| virtual size_t | takeInDataPacket () |
| | This function is used by the service thread to process the next incoming packet and place it in the receive list. More...
|
| |
| void | renewLocalSSRC () |
| |
| IncomingDataQueue::IncomingRTPPktLink * | getWaiting (uint32 timestamp, const SyncSource *src=NULL) |
| | This is used to fetch a packet in the receive queue and to expire packets older than the current timestamp. More...
|
| |
| bool | recordReception (SyncSourceLink &srcLink, const IncomingRTPPkt &pkt, const timeval recvtime) |
| | Log reception of a new RTP packet from this source. More...
|
| |
| void | recordExtraction (const IncomingRTPPkt &pkt) |
| | Log extraction of a packet from this source from the scheduled reception queue. More...
|
| |
| void | purgeIncomingQueue () |
| |
| virtual void | onNewSyncSource (const SyncSource &) |
| | Virtual called when a new synchronization source has joined the session. More...
|
| |
| virtual bool | onRTPPacketRecv (IncomingRTPPkt &) |
| | A virtual function to support parsing of arriving packets to determine if they should be kept in the queue and to dispatch events. More...
|
| |
| virtual void | onExpireRecv (IncomingRTPPkt &) |
| | A hook to filter packets in the receive queue that are being expired. More...
|
| |
| virtual bool | onSRTPPacketError (IncomingRTPPkt &pkt, int32 errorCode) |
| | A hook that gets called if the decoding of an incoming SRTP was erroneous. More...
|
| |
| virtual bool | end2EndDelayed (IncomingRTPPktLink &) |
| |
| bool | insertRecvPacket (IncomingRTPPktLink *packetLink) |
| |
Insert a just received packet in the queue (both general and source specific queues). More...
|
| |
| virtual size_t | recvData (unsigned char *buffer, size_t length, InetHostAddress &host, tpport_t &port)=0 |
| | This function performs the physical I/O for reading a packet from the source. More...
|
| |
| virtual size_t | getNextDataPacketSize () const =0 |
| |
| | IncomingDataQueueBase () |
| |
| virtual | ~IncomingDataQueueBase () |
| |
| | RTPQueueBase (uint32 *ssrc=NULL) |
| |
| void | setLocalSSRC (uint32 ssrc) |
| |
| uint32 | getLocalSSRCNetwork () const |
| |
| virtual | ~RTPQueueBase () |
| |
| | MembershipBookkeeping (uint32 initialSize=defaultMembersHashSize) |
| | The initial size is a hint to allocate the resources needed in order to keep the members' identifiers and associated information. More...
|
| |
| virtual | ~MembershipBookkeeping () |
| | Purges all RTPSource structures created during the session, as well as the hash table and the list of sources. More...
|
| |
| SyncSourceLink * | getLink (const SyncSource &source) const |
| |
| bool | isMine (const SyncSource &source) const |
| | Get whether a synchronization source is recorded in this membership controller. More...
|
| |
| bool | isRegistered (uint32 ssrc) |
| | Returns whether there is already a synchronizacion source with "ssrc" SSRC identifier. More...
|
| |
| SyncSourceLink * | getSourceBySSRC (uint32 ssrc, bool &created) |
| | Get the description of a source by its ssrc identifier. More...
|
| |
| bool | BYESource (uint32 ssrc) |
| | Mark the source identified by ssrc as having sent a BYE packet. More...
|
| |
| bool | removeSource (uint32 ssrc) |
| | Remove the description of the source identified by ssrc More...
|
| |
| SyncSourceLink * | getFirst () |
| |
| SyncSourceLink * | getLast () |
| |
| uint32 | getMembersCount () |
| |
| void | setMembersCount (uint32 n) |
| |
| uint32 | getSendersCount () |
| |
| size_t | getDefaultMembersHashSize () |
| |
Protected Member Functions inherited from SyncSourceHandler |
| | SyncSourceHandler () |
| |
| virtual | ~SyncSourceHandler () |
| |
| void * | getLink (const SyncSource &source) const |
| | This requires SyncSource - SyncSourceHandler friendship. More...
|
| |
| void | setLink (SyncSource &source, void *link) |
| |
| void | setParticipant (SyncSource &source, Participant &p) |
| |
| void | setState (SyncSource &source, SyncSource::State ns) |
| |
| void | setSender (SyncSource &source, bool active) |
| |
| void | setDataTransportPort (SyncSource &source, tpport_t p) |
| |
| void | setControlTransportPort (SyncSource &source, tpport_t p) |
| |
| void | setNetworkAddress (SyncSource &source, InetAddress addr) |
| |
Protected Member Functions inherited from ParticipantHandler |
| | ParticipantHandler () |
| |
| virtual | ~ParticipantHandler () |
| |
| void | setSDESItem (Participant *part, SDESItemType item, const std::string &val) |
| |
| void | setPRIVPrefix (Participant *part, const std::string val) |
| |
Protected Member Functions inherited from ApplicationHandler |
| | ApplicationHandler () |
| |
| virtual | ~ApplicationHandler () |
| |
| void | addParticipant (RTPApplication &app, Participant &part) |
| |
| void | removeParticipant (RTPApplication &app, RTPApplication::ParticipantLink *pl) |
| |
Protected Member Functions inherited from ConflictHandler |
| | ConflictHandler () |
| |
| virtual | ~ConflictHandler () |
| |
| ConflictingTransportAddress * | searchDataConflict (InetAddress na, tpport_t dtp) |
| |
| ConflictingTransportAddress * | searchControlConflict (InetAddress na, tpport_t ctp) |
| |
| void | updateConflict (ConflictingTransportAddress &ca) |
| |
| void | addConflict (const InetAddress &na, tpport_t dtp, tpport_t ctp) |
| |
| | OutgoingDataQueue () |
| |
| virtual | ~OutgoingDataQueue () |
| |
| void | dispatchImmediate (OutgoingRTPPkt *packet) |
| | This is used to write the RTP data packet to one or more destinations. More...
|
| |
| microtimeout_t | getSchedulingTimeout () |
| | This computes the timeout period for scheduling transmission of the next packet at the "head" of the send buffer. More...
|
| |
| size_t | dispatchDataPacket () |
| | This function is used by the service thread to process the next outgoing packet pending in the sending queue. More...
|
| |
| void | setNextSeqNum (uint32 seqNum) |
| | For thoses cases in which the application requires a method to set the sequence number for the outgoing stream (such as for implementing the RTSP PLAY command). More...
|
| |
| uint32 | getCurrentSeqNum (void) |
| |
| void | setInitialTimestamp (uint32 ts) |
| |
| uint32 | getInitialTimestamp () |
| |
| void | purgeOutgoingQueue () |
| |
| virtual void | setControlPeer (const InetAddress &host, tpport_t port) |
| |
| | OutgoingDataQueueBase () |
| |
| virtual | ~OutgoingDataQueueBase () |
| |
Protected Member Functions inherited from DestinationListHandler |
| void | writeLockDestinationList () const |
| |
| bool | addDestinationToList (const InetAddress &ia, tpport_t data, tpport_t control) |
| | Locks the object before modifying it. More...
|
| |
| bool | removeDestinationFromList (const InetAddress &ia, tpport_t dataPort, tpport_t controlPort) |
| | Locks the object before modifying it. More...
|
| |
| | DestinationListHandler () |
| |
| | ~DestinationListHandler () |
| |
| bool | isSingleDestination () const |
| | Get whether there is only a destination in the list. More...
|
| |
| TransportAddress * | getFirstDestination () const |
| |
| void | lockDestinationList () const |
| |
| void | unlockDestinationList () const |
| |
Protected Member Functions inherited from RTCPCompoundHandler |
| | RTCPCompoundHandler (uint16 mtu=defaultPathMTU) |
| |
| | ~RTCPCompoundHandler () |
| |
| bool | checkCompoundRTCPHeader (size_t len) |
| | Perform RTCP compound packet header validity check as specified in draft-ietv-avt-rtp-new. More...
|
| |
| void | setPathMTU (uint16 mtu) |
| |
| uint16 | getPathMTU () |
| |