RTP/RTCP源
rtpsource: 与来源的信息被保存表中。类有成员 函数来处理RTP和RTCP数据和遍历与会者。请注意,一个空地址 用于识别数据包从我们自己的会议。
类还提供了一些可重写功能 它可以用来捕获某些事件(SSRC的碰撞,新的SSRC,...)。RTPSourceData 记录则源的统计信息
-
RTPSession RTP会话,每个RTP会话包含了一个RTP通道,一个RTCP通道,当继承RTPSession 时,可以捕获:
- OnRTCPSenderReport
- OnRTCPReceiverReport
- OnRTCPSDESItem
- 等等信息
网络传输
rtptransmitter: 抽象类。 发送udp包 目前有两种机制 IPv4UDP和UDPover IPv6
RTPUDPv4TransmissionParams:IP地址 端口 接收发生buffer大小
RTPUDPv4TransmissionInfo : rtp 和 rtcp 的socket
RTPIPv4Destination: 目的地的soket地址 rtp和rtcp ip相同。 rtp端口号为rtpportbase , rtcp端口号为rtpportbase+1
RTPUDPv4Trans_GetHashIndex_IPv4Dest: 根据IP 得到哈希值 IP %RTPUDPV4TRANS_HASHSIZE (8317)
-
rtpudpv4transmitter: 继承自 rtpudptransmitter
- WaitForIncomingData():select 得到socket数据到达情况
- SendRTPData() : 发生数据 根据RTPHashTable 中的地址 依次循环发送。
- CreateAbortDescriptors: 创建SOCKET abortdesc[2] , abortdesc[0] 与 abortdesc[1] tcp连接