mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2026-07-03 17:27:33 +08:00
修复TCP RTP 2字节头被误判为4字节头的问题 (#2499)
当RFC4571封装的RTP包大小在0x2400到0x24ff之间时,会被误认为是RTSP Interleaved 封装的数据。因为0x24正好是'$'的ASCII码,而RtpSplitter::onSearchPacketTail通过'$'来识别RTSP Interleaved数据。暂时没有想到什么好的办法能够百分之百的正确区分RFC4571数据和RTSP Interleaved数据。增加一个状态变量记录之前的状态,一旦检测到数据不是RTSP Interleaved格式,则后续不再进行尝试,以减小误判的可能性。
This commit is contained in:
@@ -36,6 +36,7 @@ protected:
|
||||
|
||||
private:
|
||||
bool _is_ehome = false;
|
||||
bool _is_rtsp_interleaved = true;
|
||||
size_t _offset = 0;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user