44 #ifndef CCXX_RTP_CQUEUE_H_
45 #define CCXX_RTP_CQUEUE_H_
49 #ifdef CCXX_NAMESPACES
116 { leavingDelay = delay; }
134 { end2EndDelay = t; }
137 getDefaultEnd2EndDelay()
const
138 {
return defaultEnd2EndDelay; }
141 getEnd2EndDelay()
const
142 {
return end2EndDelay; }
158 setSendersControlFraction(
float fraction)
159 { sendControlBwFract = fraction; recvControlBwFract = 1 - fraction;}
172 { rtcpMinInterval = interval; }
178 getSendRTCPPacketCount()
const
179 {
return ctrlSendCount; }
194 {
return queueApplication; }
197 setControlBandwidth(
float fraction)
198 { controlBwFract = fraction; }
201 getControlBandwidth()
const
202 {
return controlBwFract; }
209 controlTransmissionService();
216 controlReceptionService();
230 bool checkSSRCInRTCPPkt(SyncSourceLink& sourceLink,
bool is_new,
231 InetAddress& na, tpport_t tp);
234 endQueueRTCPManager();
247 onGotSR(
SyncSource& source, SendReport& SR, uint8 blocks);
260 onGotRR(
SyncSource& source, RecvReport& RR, uint8 blocks);
267 onGotSDES(
SyncSource& source, RTCPPacket& pkt);
279 onGotSDESChunk(
SyncSource& source, SDESChunk& chunk,
size_t len);
296 getRTCPCheckInterval()
297 {
return rtcpCheckInterval; }
304 getLastSendPacketCount()
const
305 {
return lastSendPacketCount; }
311 setPrevMembersNum(uint32 n)
312 { reconsInfo.rtcpPMembers = n; }
315 getPrevMembersCount()
const
316 {
return reconsInfo.rtcpPMembers; }
337 dispatchBYE(
const std::string& reason);
340 sendControlToDestinations(
unsigned char* buffer,
size_t len);
354 dispatchControlPacket();
368 takeInControlPacket();
384 computeRTCPInterval();
409 end2EndDelayed(IncomingRTPPktLink& p);
420 onGotRRSRExtension(
unsigned char*,
size_t)
433 onGotGoodbye(
const SyncSource&,
const std::string&)
449 getBYE(RTCPPacket &pkt,
size_t &pointer,
size_t len);
455 packReportBlocks(RRBlock* blocks, uint16& len, uint16& available);
466 packSDES(uint16& len);
480 updateAvgRTCPSize(
size_t len);
488 reverseReconsideration();
491 timerReconsideration();
516 const char*
const value,
size_t len);
523 setPRIVPrefix(
Participant* part,
const char*
const value,
size_t len);
536 inline virtual uint16
551 inline virtual uint16
552 transportHeaderSize()
559 sendControl(
const unsigned char*
const buffer,
size_t len) = 0;
562 recvControl(
unsigned char* buffer,
size_t len,
563 InetHostAddress& na, tpport_t& tp) = 0;
569 volatile bool controlServiceActive;
570 float controlBwFract, sendControlBwFract, recvControlBwFract;
572 uint32 ctrlSendCount;
576 uint16 lowerHeadersSize;
594 timeval rtcpLastCheck;
596 timeval rtcpCheckInterval;
598 timeval rtcpNextCheck;
602 uint32 lastSendPacketCount;
618 static const uint16 TIMEOUT_MULTIPLIER;
619 static const double RECONSIDERATION_COMPENSATION;
648 setControlBandwidth(
float fraction)
652 getControlBandwidth()
const
675 #ifdef CCXX_NAMESPACES
679 #endif //CCXX_RTP_CQUEUE_H_