初步完成TWCC包的解析

This commit is contained in:
xia-chu
2021-04-22 17:34:26 +08:00
parent 5db6154707
commit 90ad90cb78
4 changed files with 144 additions and 36 deletions

View File

@@ -501,6 +501,8 @@ private:
function<void(const RtpPacket::Ptr &rtp)> _on_before_sort;
};
#include "RTCP/RtcpFCI.h"
void WebRtcTransportImp::onRtcp(const char *buf, size_t len) {
_bytes_usage += len;
auto rtcps = RtcpHeader::loadFromBytes((char *) buf, len);
@@ -546,6 +548,20 @@ void WebRtcTransportImp::onRtcp(const char *buf, size_t len) {
//todo 支持pli等更多类型的rtcp
break;
}
case RtcpType::RTCP_RTPFB: {
//todo 测试打印twcc
RtcpPli *rtpfb = (RtcpPli *)rtcp;
auto fci = (uint8_t *)rtpfb + sizeof (RtcpPli);
if(rtpfb->report_count == 15){
//TWCC
FCI_TWCC *twcc = (FCI_TWCC *) (fci);
auto fci_size = rtpfb->getSize() - 12;
InfoL << hexdump(fci, fci_size);
twcc->net2Host(fci_size);
InfoL << "\n" << twcc->dumpString(fci_size);
}
break;
}
default: break;
}
}