JRTPLIB 3.5.2手册中文版---part13

3.2.18 RTPCollisionList

---------------------------------------------------------------------------头文件:rtpcollisionlist.h

       类代表一个SSRC冲突检测到的一个地址列表。接口如下:

void Clear()

-----清除地址列表。

int UpdateAddress(const RTPAddress *addr, const RTPTime &receivetime, bool *created)

-----更新在receivetime时刻检测到的由addr指出的一个冲突的(相关)项,如果没有该项则created将被设为true,否则设为false。

bool HasAddress(const RTPAddress *addr) const

-----如果addr在地址列表中则返回true。

void Timeout(const RTPTime &currenttime, const RTPTime &timeoutdelay)

-----假设当前时间由currenttime给出,函数将timeoutdelay指定的上个时间间隔中没有更新的项设为超时。

 

3.2.19 RTCPScheduler

---------------------------------------------------------------------------头文件:rtcpscheduler.h

       该类决定何时应该发送一个RTCP复合数据包,类接口如下:

RTCPScheduler(RTPSources &sources)

-----使用源表RTPSources创建一个(调度器)对象来决策什么时候应该调度一个RTCP复合数据包。为正确保证执行(创建)动作sources对象应该有关于自己的SSRC的信息(通过CreateOwnSSRC加入的)。

void Reset()

-----重置调度器。

void SetParameters(const RTCPSchedulerParams &params)

-----将调度参数设为params,RTCPSchedulerParams类将在后面介绍。

RTCPSchedulerParams GetParameters() const

-----返回当前使用的调度参数。

void SetHeaderOverhead(size_t numbytes)

-----将底层协议头开销设为numbytes(例如UDP 和IP)【译注:原文Set the header overhead from underlying protocols to numbytes.】。

size t GetHeaderOverhead() const

-----返回当前头开销。

void AnalyseIncoming(RTCPCompoundPacket &rtcpcomppack)

-----对于每一个接收到的RTCP复合数据包,为使调度器正常工作都要调用该函数。

void AnalyseOutgoing(RTCPCompoundPacket &rtcpcomppack)

-----对于每一个发送的RTCP复合数据包,为使调度器正常工作都要调用该函数。

void ActiveMemberDecrease()

-----每次有成员超时或者发送了BYE数据包都要调用该函数。

void ScheduleBYEPacket(size_t packetsize)

-----请求调度器调度一个包含BYE包的RTCP复合数据包,复合数据包长度为packetsize。

RTPTime GetTransmissionDelay()

-----返回一个RTCP复合包应该被发送后的延迟,IsTime成员函数需要随后调用,以确保确实是发送一个RTCP复合包的时候到了。

bool IsTime()

-----当确实是应该发送一个RTCP复合包时函数返回true,否则返回false。如何返回true则下一次一个包应该发送的时间也已经计算好了,所以如果函数又被立刻调用则返回false。

RTPTime CalculateDeterministicInterval(bool sender = false)

-----计算此时决定性的时间间隔,这将和一个乘数一起被用来作为成员,发送器等的超时(标准)。

RTCPSchedulerParams

--------------------------------------------------------------------------头文件:rtcpscheduler.h

       类RTCPSchedulerParams描述了被调度器使用的参数,接口如下:

int SetRTCPBandwidth(double bw)

------将RTCP使用的带宽设为bw(单位为比特每秒)。

double GetRTCPBandwidth() const

-----返回以比特每秒为单位的RTCP当前使用的带宽。

int SetSenderBandwidthFraction(double fraction)

-----将RTCP为发送器保留的带宽比率设为fraction

double GetSenderBandwidthFraction() const

-----返回RTCP为发送器保留的带宽比率。

int SetMinimumTransmissionInterval(const RTPTime &t)

-----设置两个RTCP复合包的最小(决定性的)时间间隔为t。

RTPTime GetMinimumTransmissionInterval() const

-----返回两个RTCP复合包的最小时间间隔。

void SetUseHalfAtStartup(bool usehalf)

-----如果usehalf为true,则在发送第一个RTCP复合包之前只使用一半的最小间隔。

bool GetUseHalfAtStartup() const

-----返回在发送第一个RTCP复合包之前是否只使用一半的最小间隔。

void SetRequestImmediateBYE(bool v)

-----如果v为true,则调度器将在允许时立刻调度一个BYE包发送。

bool GetRequestImmediateBYE()

-----如果调度器在允许时立刻调度一个BYE包发送则返回true。

       参数的默认值为:

RTCP带宽:1000字节每秒。

发送器带宽比率:25%。

最小时间间隔:5秒。

在开始时使用半个最小间隔:是。

允许时立刻发送BYE包:是。

【to be continued!】

你可能感兴趣的:(JRTPLIB 3.5.2手册中文版---part13)