diff --git a/go.mod b/go.mod index 39c2d94cc..d6fb0a64c 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/hashicorp/golang-lru/v2 v2.0.6 github.com/jxskiss/base62 v1.1.0 github.com/livekit/mageutil v0.0.0-20230125210925-54e8a70427c1 - github.com/livekit/mediatransportutil v0.0.0-20231003064835-a51e0ca1b1fd + github.com/livekit/mediatransportutil v0.0.0-20231005043905-c137afffe71c github.com/livekit/protocol v1.7.3-0.20230928065809-281e00a4a67d github.com/livekit/psrpc v0.3.3 github.com/mackerelio/go-osstat v0.2.4 diff --git a/go.sum b/go.sum index c25e8fc89..9d03bd231 100644 --- a/go.sum +++ b/go.sum @@ -125,8 +125,8 @@ github.com/lithammer/shortuuid/v4 v4.0.0 h1:QRbbVkfgNippHOS8PXDkti4NaWeyYfcBTHtw github.com/lithammer/shortuuid/v4 v4.0.0/go.mod h1:Zs8puNcrvf2rV9rTH51ZLLcj7ZXqQI3lv67aw4KiB1Y= github.com/livekit/mageutil v0.0.0-20230125210925-54e8a70427c1 h1:jm09419p0lqTkDaKb5iXdynYrzB84ErPPO4LbRASk58= github.com/livekit/mageutil v0.0.0-20230125210925-54e8a70427c1/go.mod h1:Rs3MhFwutWhGwmY1VQsygw28z5bWcnEYmS1OG9OxjOQ= -github.com/livekit/mediatransportutil v0.0.0-20231003064835-a51e0ca1b1fd h1:Dqfr8ehKCukEYE9zr0C035VAOmMq8lntE4iD/DE7504= -github.com/livekit/mediatransportutil v0.0.0-20231003064835-a51e0ca1b1fd/go.mod h1:+WIOYwiBMive5T81V8B2wdAc2zQNRjNQiJIcPxMTILY= +github.com/livekit/mediatransportutil v0.0.0-20231005043905-c137afffe71c h1:eTghhsCfx2ltyzArXZ7wiNoFFzbfLXJ4uI/IsLXFZQc= +github.com/livekit/mediatransportutil v0.0.0-20231005043905-c137afffe71c/go.mod h1:+WIOYwiBMive5T81V8B2wdAc2zQNRjNQiJIcPxMTILY= github.com/livekit/protocol v1.7.3-0.20230928065809-281e00a4a67d h1:JLc/seGGKdnv0JUDCkMprJYzud2E8ahQ3QZgP/Imb14= github.com/livekit/protocol v1.7.3-0.20230928065809-281e00a4a67d/go.mod h1:zbh0QPUcLGOeZeIO/VeigwWWbudz4Lv+Px94FnVfQH0= github.com/livekit/psrpc v0.3.3 h1:+lltbuN39IdaynXhLLxRShgYqYsRMWeeXKzv60oqyWo= diff --git a/pkg/sfu/buffer/rtpstats_sender.go b/pkg/sfu/buffer/rtpstats_sender.go index 22392ec8a..df6dd6768 100644 --- a/pkg/sfu/buffer/rtpstats_sender.go +++ b/pkg/sfu/buffer/rtpstats_sender.go @@ -243,7 +243,7 @@ func (r *RTPStatsSender) Update( r.senderSnapshots[i] = r.initSenderSnapshot(r.startTime, r.extStartSN) } - r.logger.Debugw( + r.logger.Infow( "rtp sender stream start", "startTime", r.startTime.String(), "firstTime", r.firstTime.String(), diff --git a/pkg/sfu/forwarder.go b/pkg/sfu/forwarder.go index 6324c3ecb..503d13a7f 100644 --- a/pkg/sfu/forwarder.go +++ b/pkg/sfu/forwarder.go @@ -1769,7 +1769,7 @@ func (f *Forwarder) maybeStart() { f.rtpMunger.SetLastSnTs(extPkt) f.extFirstTS = uint64(timestamp) - f.logger.Debugw( + f.logger.Infow( "starting with dummy forwarding", "sequenceNumber", extPkt.Packet.SequenceNumber, "timestamp", extPkt.Packet.Timestamp, diff --git a/pkg/sfu/sequencer.go b/pkg/sfu/sequencer.go index 9bf53de74..7dad24aea 100644 --- a/pkg/sfu/sequencer.go +++ b/pkg/sfu/sequencer.go @@ -202,7 +202,11 @@ func (s *sequencer) pushPadding(extStartSNInclusive uint64, extEndSNInclusive ui // Not recording exclusion range means a few slots (of the size of exclusion range) // are wasted in this cycle. That should be fine as the exclusion ranges should be // a few packets at a time. - s.logger.Warnw("cannot exclude old range", nil, "extHighestSN", s.extHighestSN, "startSN", extStartSNInclusive, "endSN", extEndSNInclusive) + if extEndSNInclusive >= s.extHighestSN { + s.logger.Errorw("cannot exclude overlapping range", nil, "extHighestSN", s.extHighestSN, "startSN", extStartSNInclusive, "endSN", extEndSNInclusive) + } else { + s.logger.Warnw("cannot exclude old range", nil, "extHighestSN", s.extHighestSN, "startSN", extStartSNInclusive, "endSN", extEndSNInclusive) + } // if exclusion range is before what has already been sequenced, invalidate exclusion range slots for sn := extStartSNInclusive; sn != extEndSNInclusive+1; sn++ {