37 #ifndef RTCPSCHEDULER_H 39 #define RTCPSCHEDULER_H 41 #include "rtpconfig.h" 48 class RTCPCompoundPacket;
60 int SetRTCPBandwidth(
double bw);
66 int SetSenderBandwidthFraction(
double fraction);
72 int SetMinimumTransmissionInterval(
const RTPTime &t);
94 double senderfraction;
96 bool usehalfatstartup;
136 void ActiveMemberDecrease();
141 void ScheduleBYEPacket(
size_t packetsize);
147 RTPTime GetTransmissionDelay();
160 RTPTime CalculateDeterministicInterval(
bool sender =
false);
162 void CalculateNextRTCPTime();
163 void PerformReverseReconsideration();
164 RTPTime CalculateBYETransmissionInterval();
165 RTPTime CalculateTransmissionInterval(
bool sender);
169 size_t headeroverhead;
170 size_t avgrtcppacksize;
179 int byemembers,pbyemembers;
180 size_t avgbyepacketsize;
188 #endif // RTCPSCHEDULER_H bool GetRequestImmediateBYE() const
Returns if the scheduler will schedule a BYE packet to be sent immediately if allowed (default is tru...
Definition: rtcpscheduler.h:91
size_t GetHeaderOverhead() const
Returns the currently used header overhead.
Definition: rtcpscheduler.h:127
This class determines when RTCP compound packets should be sent.
Definition: rtcpscheduler.h:101
Interface for generating random numbers.
Definition: rtprandom.h:51
Represents an RTCP compound packet.
Definition: rtcpcompoundpacket.h:53
void SetRequestImmediateBYE(bool v)
If v is true, the scheduler will schedule a BYE packet to be sent immediately if allowed.
Definition: rtcpscheduler.h:86
Represents a table in which information about the participating sources is kept.
Definition: rtpsources.h:74
double GetSenderBandwidthFraction() const
Returns the fraction of the RTCP bandwidth reserved for senders (default is 25%). ...
Definition: rtcpscheduler.h:69
Definition: rtpfaketransmitter.h:64
This class is used to specify wallclock time, delay intervals etc.
Definition: rtptimeutilities.h:84
void SetParameters(const RTCPSchedulerParams ¶ms)
Sets the scheduler parameters to be used to params.
Definition: rtcpscheduler.h:118
Describes parameters used by the RTCPScheduler class.
Definition: rtcpscheduler.h:53
bool GetUseHalfAtStartup() const
Returns true if only half the minimum interval should be used before sending the first RTCP compound ...
Definition: rtcpscheduler.h:83
void SetHeaderOverhead(size_t numbytes)
Sets the header overhead from underlying protocols (for example UDP and IP) to numbytes.
Definition: rtcpscheduler.h:124
RTCPSchedulerParams GetParameters() const
Returns the currently used scheduler parameters.
Definition: rtcpscheduler.h:121
RTPTime GetMinimumTransmissionInterval() const
Returns the minimum RTCP transmission interval (default is 5 seconds).
Definition: rtcpscheduler.h:75
double GetRTCPBandwidth() const
Returns the used RTCP bandwidth in bytes per second (default is 1000).
Definition: rtcpscheduler.h:63
void SetUseHalfAtStartup(bool usehalf)
If usehalf is true, only use half the minimum interval before sending the first RTCP compound packet...
Definition: rtcpscheduler.h:78