3.2.15 RTPSourceData
-------------------------------------------------------------------------头文件:rtpsourcedata.h
类RTPSourceData包含会话成员的所有信息,类接口如下:
uint32_t GetSSRC() const
-----返回该成员的SSRC标识符。
bool HasData() const
-----如果RTP数据包可以提取,则返回true。
RTPPacket *GetNextPacket()
-----提取参与者RTP数据包队列的第一个数据包。
void FlushPackets()
-----清除参与者RTP包列表。
bool IsOwnSSRC() const
-----如果参与者是通过RTPSources的成员函数CreateOwnSSRC加入的,则返回true,否则返回false。
bool IsCSRC() const
-----如果源标识符实际是来自RTP数据包的CSRC则返回true。
bool IsSender() const
-----如果该成员被标记为发送者,则返回true,否则返回false。
bool IsValidated() const
-----如果参与者是有效的则返回true,即连续收到了该参与者的一定数量的RTP包或者收到了该参与者的CNAME项。
bool IsActive() const
-----如果源是有效的并且没有发送BYE包则返回true。
void SetProcessedInRTCP(bool v)
-----函数在RTCPPacketBuilder类中被调用来标记参与者信息是否已经在报告数据块中处理过了。
bool IsProcessedInRTCP() const
-----函数在RTCPPacketBuilder类中被调用来标记参与者是否已经在报告数据块中处理过了。
bool IsRTPAddressSet() const
-----如果该参与者的RTP数据包发送源地址已经设定好了则返回true。
bool IsRTCPAddressSet() const
-----如果该参与者的RTCP数据包发送源地址已经设定好了则返回true。
const RTPAddress *GetRTPDataAddress() const
-----返回发送该参与者RTP包的源地址。如果该地址已经设定了返回值为NULL,这表示数据包时来自本地参与者。
const RTPAddress *GetRTCPDataAddress() const
------返回发送该参与者RTCP包的源地址。如果该地址已经设定了返回值为NULL,这表示数据包时来自本地参与者。
bool ReceivedBYE() const
-----如果收到了该参与者的BYE信息则返回true,否则返回false。
uint8_t *GetBYEReason(size t *len) const
-----返回在BYE包中的参与者的离开原因,原因字符串的长度由len指出。
RTPTime GetBYETime() const
-----返回发送BYE包的时间。
void SetTimestampUnit(double tsu)
-----设置收到该参与者数据时用于抖动计算的时间戳单位数值。如果没有设置,库计算两个连续的RTCP发送者报告(中的信息)来估计时间戳单位。时间戳定义为:一段时间的采样数除以这段时间间隔,对于8000Hz的音频来说是1.0/8000.0。
double GetTimestampUnit() const
-----返回该参与者的时间戳单位。
bool SR_HasInfo() const
-----如果收到了该参与者的发送者报告则返回true。
RTPNTPTime SR_GetNTPTimestamp() const
-----返回在上一个发送者报告中的NTP时间戳。
uint32_t SR_GetRTPTimestamp() const
-----返回在上一个发送者报告中的RTP时间戳。
uint32_t SR_GetPacketCount() const
-----返回上一个发送者报告中的包个数。
uint32_t SR_GetByteCount() const
-----返回上一个发送者报告中的字节个数。
RTPTime SR_GetReceiveTime() const
-----返回上个发送者报告的收到时间。
bool SR_Prev HasInfo() const
-----如果收到了不止一个RTCP发送者报告则返回true。
RTPNTPTime SR_Prev_GetNTPTimestamp() const
-----返回收到的倒数第二个发送者报告中的NTP时间戳。
uint32_t SR_Prev_GetRTPTimestamp() const
-----返回倒数第二个发送者报告中的RTP时间戳。
uint32_t SR_Prev_GetPacketCount() const
-----返回倒数第二个发送者报告中数据包个数。
uint32_t SR_Prev_GetByteCount() const
-----返回倒数第二个发送者报告中字节数。
RTPTime SR_Prev_GetReceiveTime() const
-----返回倒数第二个发送者报告的接收时间。
bool RR_HasInfo() const
-----如果参与者发送了一个关于我们接收数据的信息的接受者报告则返回true。
double RR_GetFractionLost() const
-----返回上一个报告中的丢包率。
int32_t RR_GetPacketsLost() const
-----返回上一个报告中的丢包数。
uint32_t RR_GetExtendedHighestSequenceNumber() const
-----返回上个报告中的扩展最高序列号。
uint32_t RR_GetJitter() const
-----返回上个报告中的抖动值。
uint32_t RR_GetLastSRTimestamp() const
-----返回上个报告中的LSR值。
uint32_t RR_GetDelaySinceLastSR() const
-----返回上个报告中的DLSR值。
RTPTime RR_GetReceiveTime() const
-----返回上个报告的接收时间。
bool RR_Prev_HasInfo() const
-----如果参与者发送了不止一个关于我们接受数据信息的接受者报告则返回true。
double RR_Prev_GetFractionLost() const
-----返回倒数第二个(接收者)报告中的丢包率。
int32_t RR_Prev_GetPacketsLost() const
-----返回倒数第二个(接收者)报告中的丢包个数。
uint32_t RR_Prev_GetExtendedHighestSequenceNumber() const
-----返回倒数第二个(接收者)报告中的扩展最高序列号。
uint32_t RR_Prev_GetJitter() const
-----返回倒数第二个(接收者)报告中的抖动值。
uint32_t RR_Prev_GetLastSRTimestamp() const
-----返回倒数第二个(接收者)报告中的
uint32_t RR_Prev_GetDelaySinceLastSR() const
-----返回倒数第二个(接收者)报告中的LSR值。
RTPTime RR_Prev_GetReceiveTime() const
-----返回倒数第二个(接收者)报告中的DLSR。
bool INF_HasSentData() const
-----如果收到了该参与者的有效RTP数据包则返回true。
int32_t INF_GetNumPacketsReceived() const
-----返回从该参与者收到的所有的数据包数。
uint32_t INF_GetBaseSequenceNumber() const
-----返回该参与者的基数序列号。
uint32_t INF_GetExtendedHighestSequenceNumber() const
-----返回从该参与者收到的扩展最高序列号。
uint32_t INF_GetJitter() const
-----返回该参与者的当前抖动值。
RTPTime INF_GetLastMessageTime() const
-----返回上次从该成员听到【收到?】任何消息的时间。
RTPTime INF_GetLastRTPPacketTime() const
-----返回上次收到RTP数据包的时间。
double INF_GetEstimatedTimestampUnit() const
-----返回估计的时间戳单位。该估计是基于两个连续的发送者报告(来计算的)。
uint32_t INF_GetNumPacketsReceivedInInterval() const
-----返回由INF_StartNewInterval启动的新的时间间隔期间收到的数据包数量。
uint32_t INF_GetSavedExtendedSequenceNumber() const
-----返回调用INF_StartNewInterval()保存的扩展序列号。
void INF_StartNewInterval()
-----开始一个新的用于计数接收到的数据包的时间间隔。同时还保存当前的扩展最高序列号以用于计算时间间隔内的丢包。
RTPTime INF_GetRoundtripTime() const
-----使用上一个接受者报告的LSR和DLSR估计往返时间。
RTPTime INF_GetLastSDESNoteTime() const
-----返回上次收到SDES NOTE项时的时间。
uint8_t *SDES_GetCNAME(size_t *len) const
-----返回一个指向该参与者的SDES CNAME项的指针,并将其长度存入len。
uint8_t *SDES_GetName(size_t *len) const
-----返回一个指向该参与者的SDES 名字项的指针,并将其长度存入len。
uint8_t *SDES_GetEMail(size_t *len) const
-----返回一个指向该参与者的SDES e-mail项的指针,并将其长度存入len。
uint8_t *SDES_GetPhone(size_t *len) const
-----返回一个指向该参与者的SDES phone项的指针,并将其长度存入len。
uint8_t *SDES_GetLocation(size_t *len) const
-----返回一个指向该参与者的SDES 位置项的指针,并将其长度存入len。
uint8_t *SDES_GetTool(size_t *len) const
-----返回一个指向该参与者的SDES 工具项的指针,并将其长度存入len。
uint8_t *SDES_GetNote(size_t *len) const
-----返回一个指向该参与者的SDES 通知项的指针,并将其长度存入len。
如果在编译时选择了SDES私有项支持,则下列成员函数也是可用的。
void SDES GotoFirstPrivat_Value()
-----开始遍历保存的SDES私有项的前缀以及它们关联的值。
bool SDES_GetNextPrivateValue(uint8 t **prefix, size_t *prefixlen, uint8_t **value, size_t *valuelen)
-----如果有效,则返回true,并且将SDES的私有项前缀存入prefix,长度存入prefixlen,关联的值以及长度分别存入value和valuelen。否则返回false。
bool SDES_GetPrivateValue(uint8_t *prefix, size_t prefixlen, uint8_t **value, size_t *valuelen) const
-----查找与SDES的私有项前缀为prefix长度为prefixlen对应的项,如果找到则返回true并且将关联的值和长度分别存入value和valuelen中。
【to be continued!】