Commit c0d3185a by xiongziliang

添加RTP异常包处理逻辑

parent 9ce5c146
...@@ -98,7 +98,14 @@ bool RtpReceiver::handleOneRtp(int iTrackidx,SdpTrack::Ptr &track, unsigned char ...@@ -98,7 +98,14 @@ bool RtpReceiver::handleOneRtp(int iTrackidx,SdpTrack::Ptr &track, unsigned char
ext = (AV_RB16(pucData + rtppt.offset - 2) + 1) << 2; ext = (AV_RB16(pucData + rtppt.offset - 2) + 1) << 2;
rtppt.offset += ext; rtppt.offset += ext;
} }
if(rtppt.length - rtppt.offset <= 0){ if(rtppt.length - rtppt.offset <= 0){
WarnL << "无有效负载的rtp包:" << rtppt.length << "<=" << (int)rtppt.offset;
return false;
}
if(uiLen > sizeof(rtppt.payload) - 4){
WarnL << "超长的rtp包:" << uiLen << ">" << sizeof(rtppt.payload) - 4;
return false; return false;
} }
memcpy(rtppt.payload + 4, pucData, uiLen); memcpy(rtppt.payload + 4, pucData, uiLen);
......
...@@ -447,6 +447,7 @@ void RtspPlayer::onWholeRtspPacket(Parser &parser) { ...@@ -447,6 +447,7 @@ void RtspPlayer::onWholeRtspPacket(Parser &parser) {
void RtspPlayer::onRtpPacket(const char *data, uint64_t len) { void RtspPlayer::onRtpPacket(const char *data, uint64_t len) {
if(len > 1600){ if(len > 1600){
//没有大于MTU的包 //没有大于MTU的包
WarnL << "大于MTU的RTP包:" << len << ",来自:" << get_peer_ip();
return; return;
} }
int trackIdx = -1; int trackIdx = -1;
......
/* /*
* MIT License * MIT License
* *
* Copyright (c) 2016 xiongziliang <771730766@qq.com> * Copyright (c) 2016 xiongziliang <771730766@qq.com>
...@@ -188,6 +188,7 @@ void RtspSession::onRtpPacket(const char *data, uint64_t len) { ...@@ -188,6 +188,7 @@ void RtspSession::onRtpPacket(const char *data, uint64_t len) {
} }
if(len > 1600){ if(len > 1600){
//没有大于MTU的包 //没有大于MTU的包
WarnL << "大于MTU的RTP包:" << len << ",来自:" << get_peer_ip();
return; return;
} }
int trackIdx = -1; int trackIdx = -1;
......
...@@ -46,7 +46,7 @@ public: ...@@ -46,7 +46,7 @@ public:
uint32_t timeStamp; uint32_t timeStamp;
uint16_t sequence; uint16_t sequence;
uint32_t ssrc; uint32_t ssrc;
uint8_t payload[1560]; uint8_t payload[1600];
uint8_t offset; uint8_t offset;
TrackType type; TrackType type;
}; };
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论