jrtplib重要类的含义

转载 2013年12月03日 11:06:12

重要类的含义:

class RTPSession

该类属于RTP使用的高级层。客户最终通过该类或派生类使用RTP。该类完全把RTCP的实现细节封装内部,并提供读取和发送数据的接口,使用者只需关心实际数据的收发。

 

class RTPSessionParams是对其参数控制类。

 

class RTPPollThread

RTP线程类。

线程功能:接收 RTP和RTCP数据包,然后自动发送RTCP包。

 

class RTPUDPv4Transmitter

UDP OVER IPV4的传输模块。 此类继承了RTPTransmitter 类,并实现了在UDP over IPv4 上的 RTP和RTCP数据的收发。该模块的参数由RTPUDPv4TransmissionParams 类设置。该模块用RTPRawPacket 类来存储到达的RTCP和RTP数据。收到的数据包都放到rawpacketlist对列中。

 

class RTPSources

该类维护一个哈希散列表,列表里包含参加者的源信息。该类提供函数 用来轮询处理每个参与者的RTCP和RTCP 数据包。每次收到包 都会根据该包的SSRC 把该包塞入到哈希表中,而进一步的数据处理则交给更下层的RTPInternalSourceData类。该类的设计是为了更好的管理来自不同SSRC的数据。

 

class RTPSessionSources : public RTPSources

该类继承了RTPSources,重载了RTPSources中的一些纯虚函数。为RTPSession会话类提供数据服务。即类RTPSession通过 类RTPSessionSources 操作内部数据。

 

RTPInternalSourceData  RTPSourceData   RTPSourceStats

这些类管理 数据包的存储以及 参数信息:包括RTP数据包和包的参数、RTCP 的发送者报告信息、接收者报告信息、源描述符信息,数据源发送的地址,时间等。

RTPSourceStats管理接收到包的状态参数。对它的操作被封装在RTPSourceData的接口函数中。

 RTPSourceData是管理接收到的源数据包的具体实现类。

 

RTPInternalSourceData 继承了RTPSourceData,上层是他通过它来配置参数的以及读取数据的。

 

class RTPRawPacket

传输模块此类用来存储管理到达的RTP和RTCP数据。其实只是存储了指向实际数据的在指针,因此数据实体还是在传输模块里面。该类在传输模块中用std::list<RTPRawPacket*> rawpacketlist 容器队列的方式使用。

 

class RTPPacket

该类是RTP包的完整描述类,该类完全对应RFC3550协议里的RTP包格式。RTP包的生成有两种方式:

1 从原始的RTPRawPacket实例中粘贴。

int ParseRawPacket(RTPRawPacket &rawpack);

2根据RTP格式所需的所有参数生成。

int BuildPacket(所有参数)

 

class RTCPCompoundPacket(复合包)

 一个实例代表一个RTCP复合包。

 

class    RTCPCompoundPacketBuilder(创建RTCP复合包)

此类用于构建RTCP复合包,从基类RTCPCompoundPacket继承。该类维维系了RTCP复合包所需的全部信息,如各种包信息队列:报告包(发送、接收)、源描述包、离开包、应用包。等需要创建的时候组合成完整的RTCPCompoundPacket。

 

class RTCPPacketBuilder

该类是RTCPCompoundPacketBuilder的更高层封装。该类根据RTPPacketBuilder实例 和RTPSources实例 来自动生成下一个要发送的复合包;另外,也提供函数 决定什么时候该发送 SDES选项 ,而不是 规范名。

相关文章推荐

JRTPLIB的几个重要类说明

虽然JRTPLIB提供文档,但是对于我这种英语实在不咋滴人来说,看着还是有点吃力的。偶尔看到网上这篇文章,赶紧转载下。这是JRTPLIB@Conference系列的第三编《JRTPLIB的几个重要类说...

JRTPLIB@Conference DIY视频会议系统 三、JRTPLIB的几个重要类说明(续二)

这是JRTPLIB@Conference系列的第三编《JRTPLIB的几个重要类说明》,本系列的主要工作是实现一个基于JRTPLIB的,建立在RTP组播基础上的多媒体视频会议系统。这只是一个实验系统,...

JRTPLIB@Conference DIY视频会议系统 三、JRTPLIB的几个重要类说明

这是JRTPLIB@Conference系列的第三编《JRTPLIB的几个重要类说明》,本系列的主要工作是实现一个基于JRTPLIB的,建立在RTP组播基础上的多媒体视频会议系统。这只是一个实验系统,...

JRTPLIB 3.9.1 类层次图

RTCP复合包

分析jrtplib库的内存管理类

http://blog.chinaunix.net/uid-8489474-id-3011297.html jrtplib允许用户自己管理内存. 默认情况下, 该库会调用运算符new/delet...

Static和final修饰变量、方法、类的时候含义分别是什么?

一、final  根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 fin...

038集-Intent类的重要成员变量

  • 2015年10月25日 15:14
  • 28.61MB
  • 下载

opencv2.0版本比较重要的类汇总

  • 2016年06月12日 17:29
  • 210KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:jrtplib重要类的含义
举报原因:
原因补充:

(最多只允许输入30个字)