mirror of
https://github.com/livekit/livekit.git
synced 2026-10-23 08:42:46 +00:00
Release ExtPacket if dependency descriptor or other parsing fails (#4141)
This commit is contained in:
1 parent
35b0e2bc21
commit
dd598ef23f
1 file changed
+4
@@ -955,6 +955,7 @@ func (b *Buffer) getExtPacket(rtpPacket *rtp.Packet, arrivalTime int64, isBuffer
|
||||
b.createFrameRateCalculator()
|
||||
}
|
||||
} else {
|
||||
b.ReleaseExtPacket(ep)
|
||||
return nil
|
||||
}
|
||||
} else if ddVal != nil {
|
||||
@@ -970,6 +971,7 @@ func (b *Buffer) getExtPacket(rtpPacket *rtp.Packet, arrivalTime int64, isBuffer
|
||||
vp8Packet := VP8{}
|
||||
if err := vp8Packet.Unmarshal(rtpPacket.Payload); err != nil {
|
||||
b.logger.Warnw("could not unmarshal VP8 packet", err)
|
||||
b.ReleaseExtPacket(ep)
|
||||
return nil
|
||||
}
|
||||
ep.KeyFrame = vp8Packet.IsKeyFrame
|
||||
@@ -994,6 +996,7 @@ func (b *Buffer) getExtPacket(rtpPacket *rtp.Packet, arrivalTime int64, isBuffer
|
||||
_, err := vp9Packet.Unmarshal(rtpPacket.Payload)
|
||||
if err != nil {
|
||||
b.logger.Warnw("could not unmarshal VP9 packet", err)
|
||||
b.ReleaseExtPacket(ep)
|
||||
return nil
|
||||
}
|
||||
ep.VideoLayer = VideoLayer{
|
||||
@@ -1034,6 +1037,7 @@ func (b *Buffer) getExtPacket(rtpPacket *rtp.Packet, arrivalTime int64, isBuffer
|
||||
if ep.DependencyDescriptor == nil {
|
||||
if len(rtpPacket.Payload) < 2 {
|
||||
b.logger.Warnw("invalid H265 packet", nil)
|
||||
b.ReleaseExtPacket(ep)
|
||||
return nil
|
||||
}
|
||||
ep.VideoLayer = VideoLayer{
|
||||
|
||||
Reference in new issue
Block a user