【Live555】live555源码详解(六):FramedSource、RTPSource、RTPSink

【Live555】live555源码详解系列笔记

继承协作关系图

下面红色表示本博客将要介绍的三个类所在的位置:
FramedSource、RTPSource、RTPSink
【Live555】live555源码详解(六):FramedSource、RTPSource、RTPSink_第1张图片

11、FramedSource

FramedSource 继承自 MediaSource,下面是实现 FramedSource 的依赖关系图
【Live555】live555源码详解(六):FramedSource、RTPSource、RTPSink_第2张图片
使用 FramedSource 的关系图
在这里插入图片描述
FramedSource 协作图
【Live555】live555源码详解(六):FramedSource、RTPSource、RTPSink_第3张图片
FramedSource 继承关系图
【Live555】live555源码详解(六):FramedSource、RTPSource、RTPSink_第4张图片

主要接口:

lookupByName	:静态函数,由名字,获取 FramedSource
getNextFrame	:调用 doGetNextFrame
handleClosure	:处理关闭
stopGettingFrames	:停止获取帧,调用 doStopGettingFrames
isCurrentlyAwaitingData	:是否正在等待数据
afterGetting	:静态函数,应该在读取帧之后调用它

虚函数:

doGetNextFrame	:纯虚函数,获取下一帧,由 getNextFrame 调用
maxFrameSize	;最大帧数
doStopGettingFrames	:停止获取帧,由 stopGettingFrames 调用

12、RTPSource

RTPSource 继承自 FramedSource,下面是实现 RTPSource 的依赖关系图
【Live555】live555源码详解(六):FramedSource、RTPSource、RTPSink_第5张图片
使用 RTPSource 的关系图
在这里插入图片描述
RTPSource 协作图
【Live555】live555源码详解(六):FramedSource、RTPSource、RTPSink_第6张图片
RTPSource 继承关系图
【Live555】live555源码详解(六):FramedSource、RTPSource、RTPSink_第7张图片

主要接口:

RTPgs	:返回 RTP 的 网络连接socket(Groupsock)
SSRC	:返回 SSRC
lookupByName	:静态函数,由名字,获取 RTPSource
curPacketMarkerBit	:当前包是否有标记位 Marker Bit
rtpPayloadFormat	:返回负载类型
hasBeenSynchronizedUsingRTCP	:当前包是否与 RTCP 同步
registerForMultiplexedRTCPPackets 	:注册多路复用的 RTCP
deregisterForMultiplexedRTCPPackets	:注销
timestampFrequency	:返回时间戳频率
receptionStatsDB	:返回 RTPReceptionStatsDB
lastReceivedSSRC	:返回最近的SSRC
enableRTCPReports	:是否使能 RTCP 报告
setStreamSocket		:设置流的 socket,可以使用TCP发送RTP包
setAuxilliaryReadHandler	:设置辅助读的处理
curPacketRTPSeqNum	:当前包的RTP序列号

虚函数:

setPacketReorderingThresholdTime :纯虚函数

13、RTPSink

RTPSink 继承自 MediaSink,下面是实现 RTPSink 的依赖关系图
【Live555】live555源码详解(六):FramedSource、RTPSource、RTPSink_第8张图片
使用 RTPSink 的关系图
在这里插入图片描述
RTPSink 协作图
【Live555】live555源码详解(六):FramedSource、RTPSource、RTPSink_第9张图片
RTPSink 继承关系图
【Live555】live555源码详解(六):FramedSource、RTPSource、RTPSink_第10张图片

主要接口:

lookupByName	:静态函数,由名字,获取 RTPSink
groupsockBeingUsed	:返回 Groupsock
SSRC	:返回 SSRC

RTP相关接口

rtpPayloadType	:返回负载类型
rtpTimestampFrequency 	:返回时间戳频率
setRTPTimestampFrequency:设置时间戳频率
rtpPayloadFormatName	:返回负载格式的名称
numChannels	:返回通道号
currentSeqNo	:当前序列号
transmissionStatsDB	:返回RTP传输状态集合 RTPTransmissionStatsDB
enableRTCPReports	:返回是否使能了RTCP报告
getTotalBitrate	:返回自上次调用以来发送的字节数,并重置计数器。

虚函数:

sdpMediaType	:返回SDP媒体类型,SDP全称是Session Description Protocol,描述会话的协议。
rtpmapLine	:???
auxSDPLine	:???

时间相关接口:

nextTimestampHasBeenPreset :判断下一个时间戳是否有预测
presetNextTimestamp	:返回下一个时间戳,确保下一个要使用的时间戳与当前“挂钟”时间对应。
creationTime	:返回创建时间
initialPresentationTime	:返回最初展示时间
mostRecentPresentationTime:返回最近展示时间
resetPresentationTimes:重置展示时间

使用 TCP 传视 RTP 的接口:

setStreamSocket
addStreamSocket
removeStreamSocket

【Live555】live555源码详解系列笔记

你可能感兴趣的:(视频)