文件名称:
岳维功 ortp-realease.pdf
开发工具:
文件大小: 605kb
下载次数: 0
上传时间: 2020-12-24
详细说明:oRTP分析
一:关于oRTP.................................................................................................................................2
二:源代码的构建框架...................................................................................................................2
三:有关时间戳的说明.................东了
结构体外,一个更重要的结构体是
。该结构体即是一个会话
的抽象,与会话相关的各种信息都定义在该结构体上或者能够通过该结构体找到。要使用
逑行娸体数据的传输,需要先创建一个会话,之后所有数据的传输都在会话上完成或
基于会话完成。
结构体的定义如下:
Rtpsession
ext
mask pos
inc ssrc candidate
inc same ssrc count
Iw recv pL
cha
on pay load tyre changed
Telep
on network error
signa
events
allocator
tp
Sessiorlisu
lticast ttl
multicast loopback
data
Lng
current tev
d
contribut. ing sources
use connect
ssrc set
图
可以看到,这是一个非常大的结构体,从侧面说明了要维护的与会话相关的量还是比较多的
关于该结构体的比较详细的说明会在后面给出。
的初始化通过接口
完成,外部获得一个新的
是通过调用接
完成。关」
的其他有关配置和获取信息的操作都叮以在文件
中找到定义
使用进行数据传输时,可以在一个任务上完成多个会话流的接收和发送。这得益
中调度模块的支持。要使用调度模块,应用需要在进行的初始化时对调度进
行初始化,将需要调度管理的会话注册到调度模块中,这样当进行接收和发送操作时,先向
调度询问当前会话是否可以进行发送和接收,如果不能进行收发操作,则处理下一个会话。
这有点类似接口上的操作。调度模块使用的数据结构主要为
,如下图
所示:
Reschedule
list
all sessions
r sessions
r max
w sessions
Wmaⅹ
unblock select con
thread
thread running
timer
RtpTimer
t⊥me
state
timer inc
timer inl t
LIe I
timer unini t
interval
图
保存了所有要处理的会话,的意义类似于,在这里分别代表接收、发送以及
异常
等文件实现了调度模块。
数据在底层实际的接收和发送是通过接凵完成的,这些实现在
文
件中
为了方便将移植到不同平台上,实现了对操作系统接口的封装,包括常用的
仼务的创建及销毁,条件变量及互斥锁,进程间的管道通信机制等。这些在文件中实
现
狳了操作系统相关的接口外,为了便于内部操作,实现了部分数据结构,一个是双
向链表,在文件中;一个是队列,在文件
文件中。链表的实现比较简单,
队列的实现相对较复杂一点。首先,队列数据结构由三部分组成:队列头、消息块以及数据
块,图示如下:
g stopper
gb
g count
b prev
b next
b cont
datat
datab
b rptr
reserved
db freeIn
reserved
dh ref
Buffer
图
上图中从左到右依次为队列头,消息块和数据块ε队列头指向消息块,消息块之间可以构成
双向链衣,这是队列的基本要素。消息块本身不带,数据是由专门的数据块来保存的,
并被消息块指向。上图是一个初始化后的状态,消息块的读写指针都指向数据块的
的开始位置。数据块的和指针则分别指向
空间的开始地址和结束地址处。向
中写入和读出数据后的状态变化如下图:
b pre
b next
b next
b cont
b con
b datap
b rptr
db base
b rptr
db base
b wptr
db lim
b wpt
db lim
db freen
db freef
reserve
db ref
reserved
db ref
Buffer
Buffe
图
除了向队列添加消息块外,上述数据结构设计还支持向个消息块添加新的消息块,这样可
以支持一个消息块保存较人块的数据,如下图所示
b cont
b rptr
dh base
do lim
reserv
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.