美文网首页
jrtplib3.11.1之 源码分析(三):SOCKET

jrtplib3.11.1之 源码分析(三):SOCKET

作者: C_GO流媒体后台开发 | 来源:发表于2018-12-02 16:59 被阅读16次

    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连接

    参考

    jrtplib 源码分析 (三) SOCKET

    相关文章

      网友评论

          本文标题:jrtplib3.11.1之 源码分析(三):SOCKET

          本文链接:https://www.haomeiwen.com/subject/csojcqtx.html