Audio = 重传包 》视频包 = Fec包 》数据包二
- int GetPriorityForType(RtpPacketMediaType type) {
- // 较低的数字优先于较高的数字
- switch (type) {
- case RtpPacketMediaType::kAudio:
- // 音频始终优先于其他数据包类型
- return kFirstPriority + 1;
- case RtpPacketMediaType::kRetransmission:
- // 在新媒体之前发送重传
- return kFirstPriority + 2;
- case RtpPacketMediaType::kVideo:
- case RtpPacketMediaType::kForwardErrorCorrection:
- // 视频具有“正常”优先级,用老话说。同时向视频发送冗余。 如果延迟,它可能有一个有用的机会较低
- return kFirstPriority + 3;
- case RtpPacketMediaType::kPadding:
- // 本身可能无用的数据包,仅发送以保持BWE高
- return kFirstPriority + 4;
- }
- RTC_CHECK_NOTREACHED();
- }
- // 0 1 2 3
- // 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 32位 uint8_t* buffer size_t size
- // +-+-+-+-+