mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2024-10-30 16:27:36 +08:00
修复判断是否为增强型rtmp协议相关bug
有符合整型右移7位可能为-1(而不是1) 这样将导致在处理增强型rtmp时,判断关键帧和配置帧失败
This commit is contained in:
parent
3e9a8b9d8b
commit
b580d6c736
@ -157,7 +157,7 @@ bool RtmpPacket::isVideoKeyFrame() const {
|
||||
return false;
|
||||
}
|
||||
RtmpFrameType frame_type;
|
||||
if (buffer[0] >> 7 == 1) {
|
||||
if (buffer[0] >> 7) {
|
||||
// IsExHeader == 1
|
||||
frame_type = (RtmpFrameType)((buffer[0] >> 4) & 0x07);
|
||||
} else {
|
||||
@ -176,7 +176,7 @@ bool RtmpPacket::isConfigFrame() const {
|
||||
if (!isVideoKeyFrame()) {
|
||||
return false;
|
||||
}
|
||||
if (buffer[0] >> 7 == 1) {
|
||||
if (buffer[0] >> 7) {
|
||||
// IsExHeader == 1
|
||||
return (RtmpPacketType)(buffer[0] & 0x0f) == RtmpPacketType::PacketTypeSequenceStart;
|
||||
}
|
||||
@ -263,7 +263,7 @@ CodecId parseVideoRtmpPacket(const uint8_t *data, size_t size, RtmpPacketInfo *i
|
||||
info->codec = CodecInvalid;
|
||||
|
||||
CHECK(size > 0);
|
||||
if (data[0] >> 7 == 1) {
|
||||
if (data[0] >> 7) {
|
||||
// IsExHeader == 1
|
||||
CHECK(size >= 5, "Invalid rtmp buffer size: ", size);
|
||||
info->is_enhanced = true;
|
||||
|
Loading…
Reference in New Issue
Block a user