- 如果想复用peerconnection (pc),或者使用pc的一些组件,那么搞清楚pc目录下的一些设计非常必要。
- rtp的传输是加密的, 因此 srtp的就是传输rtp的。
- 传输包括了收发,因此RtpTransportInternal 这个内部的方法 包括了包的 发送和demuxer(接收回调)的声明。
- 而且继承 sigslot:has_slots<> ,具备了处理 event 的能力。
- 而 RtpTransport 继承了 RtpTransportInternal
- RtpTransport 实现了demuxer的sink 的注册和反注册,sinker给到内部的demux方法用
- RtpTransport 作为rtc::PacketTransportInternal set、 get 和使用的封装层,处理了外部对rtp rtcp 包的发送和接收、各种event 的处理。
- 并关联了demuxer和 基于 rtc::PacketTransportInternal 的数据处理流程。
- 这里并没有看到加密的处理情况,可能在别的类里。
- RtpTransport 拥有一个unitest文件,可以了解其核心应用场景。
- PacketTransportInternal 是个包传输的抽象类,关联到了底层的传输channel,但是代码里并么有体现到是哪个 channel 。
- RtpTransport 实现了PacketTransportInternal ,细化了rtp rtcp 包处理,实际包的传输
【webrtc】PC :RtpTransport :封装 RtpTransportInternal 并调用 PacketTransportInternal 包传输(抽象类)
于 2022-08-22 16:26:23 首次发布