JRTPLIB 3.5.2手册中文版---part3

 

3.2 全部的API描述

       本部分将解释库的所有API,将采用从下到上的方式。

3.2.1 库版本

------------------------------------------------------------头文件:rtplibraryversion.h

       RTPLibraryVersion类有一个静态成员创建了该类的一个对象。

static RTPLibraryVersion GetVersion()

使用者可以通过下面的函数获取版本信息。

int GetMajorNumber() const

-----返回主版本号。

int GetMinorNumber() const

-----返回副版本号。

int GetDebugNumber() const

-----返回调试版本号。

std::string GetVersionString() const

-----返回版本描述字符串。

3.2.2 错误码

--------------------------------------------------------------------头文件:rtperrors.h

       除非特别指出,否则返回int的函数如果返回值为负则表明出现了一个错误,为0或者正则标志成功。一个关于错误码的描述可以通过使用下面的函数获取:

std::string RTPGetErrorString(int errcode)

3.2.3 实用时间工具

--------------------------------------------------------------------头文件:rtptimeutilities.h

RTPNTPTime

这是NTP时间戳的MSW(最高有效字)和LSW(最低有效字)的一个简单的包装,该类有下列成员。

RTPNTPTime(uint32_t m, uint32_t l);

-----该构造函数创建一个MSW为m,LSW为l的类对象。

uint32_t GetMSW() const

-----返回最高有效字。

uint32_t GetLSW() const

-----返回最低有效字。

RTPTime

该类用于描述时钟时间,延迟间隔等。其中保存一个以秒s数据和一个毫秒ms数据,接口如下:

RTPTime(uint32_t seconds, uint32_t microseconds)

-----创建一个对应s和ms分别为seconds和microseconds的对象。

RTPTime(double t)

-----创建一个代表以秒为单位的时间t的RTPTime实例。

RTPTime(RTPNTPTime ntptime)

-----创建一个对应时间为ntptime的对象,如果无法完成转换那么,对象的秒和毫秒都将设为0。

uint32_t GetSeconds() const

-----返回对象中保存的秒数值。

uint32_t GetMicroSeconds() const

----返回对象中保存的毫秒数值。

Double GetDouble() const

-----返回对象中存储的以秒为单位的时间。

RTPNTPTime GetNTPTime() const

-----返回对象中保存时间的对应NTP时间。

Static RTPTime CurrentTime()

-----返回代表当前时钟时间的RTPTime对象,该值是自从1970年1月1日00:00:00 UTC 以来的秒数。

Static void Wait(const RTPTime &delay)

-----该函数等待一段由delay指定的时间。

       RTPTime类还定义了以下操作符:

operator-=

operator+=

operator<

operator>

operator<=

operator>=

3.2.4 RTPRandom

--------------------------------------------------------------------------头文件:rtprandom.h

       RTPRandom类可用来产生随机数,成员函数如下:

uint8_t GetRandom8()

-----返回随机8比特值。

uint16_t GetRandom16()

-----返回随机16比特值。

uint32_t GetRandom32()

-----返回随机32比特值。

double GetRandomDouble()

-----返回0.0到1.0之间的随机数。

3.2.5 RTPSDESInfo

-------------------------------------------------------------------------头文件:rtcpsdesinfo.h

       类RTPSDESInfo是RTCP中SDES信息的一个容器,接口如下:

void Clear()

-----清除所有的SDES信息。

int SetCNAME(const uint8_t *s, size_t l)

-----设置SDES的CNAME项为指向s的长度为l一块内存的值。

int SetName(const uint8_t *s, size_t l)

-----设置SDES的name项为指向s的长度为l一块内存的值。

int SetEMail(const uint8_t *s, size_t l)

-----设置SDES的e-mail项为指向s的长度为l一块内存的值。

int SetPhone(const uint8_t *s, size_t l)

-----设置SDES的phone项为指向s的长度为l一块内存的值。

int SetLocation(const uint8_t *s, size_t l)

-----设置SDES的location项为指向s的长度为l一块内存的值。

int SetTool(const uint8_t *s, size_t l)

-----设置SDES的tool项为指向s的长度为l一块内存的值。

int SetNote(const uint8_t *s, size_t l)

-----设置SDES的note项为指向s的长度为l一块内存的值。

uint8_t *GetCNAME(size_t *len) const

-----返回SDES的CNAME项的,并把长度存放到len中。

uint8_t *GetName(size_t *len) const

-----返回SDES的name项的,并把长度存放到len中。

uint8_t *GetEMail(size_t *len) const

-----返回SDES的e-mail项的,并把长度存放到len中。

uint8_t *GetPhone(size_t *len) const

-----返回SDES的phone项的,并把长度存放到len中。

uint8_t *GetLocation(size_t *len) const

-----返回SDES的location项的,并把长度存放到len中。

uint8_t *GetTool(size_t *len) const

-----返回SDES的tool项的,并把长度存放到len中。

uint8_t *GetNote(size_t *len) const

-----返回SDES的Note项的,并把长度存放到len中。

       如果编译库的时候使能了SDES的私有项支持,那么下面的函数也可以使用。

int SetPrivateValue(const uint8_t *prefix, size_t prefixlen, const uint8_t *value, size_t valuelen)

-----设置前缀串的输入为长度为prefixlen的prefix指向的内容,用于包含长度为valuelen的由value指向的值串,如果达到了前缀串的最大允许长度,则将返回错误码ERR_RTP_SDES_MAXPRIVITEMS。

int DeletePrivatePrefix(const uint8_t *s, size_t len)

-----删除由s指向的长度为len的前缀串的输入。

void GotoFirstPrivateValue()

-----开始遍历SDES中存储的前缀条目和它们相关联的数据。

bool GetNextPrivateValue(uint8_t **prefix, size_t *prefixlen, uint8_t **value, size_t *valuelen)

-----如果可用将返回true,并且将下一个SDES私有前缀条目存入prefix,将长度存入prefixlen,将相关数据和长度存入value和valuelen。若不可用则返回false。

bool GetPrivateValue(const uint8_t *prefix, size_t prefixlen, uint8_t **value, size_t *valuelen) const

-----查找SDES中私有条目为prefix长度为prefixlen的输入,如果找到返回true,并且将相关联的值和长度分别存入value和valuelen中。

【to be continued!】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值