Skip to content

Commit 62bac79

Browse files
authored
fix(sfu): revert rebaseTS (#553)
RebaseTS will only allow to set offsets on first sync, causing issues on muting using API since TS and SN would be left in wrong state
1 parent cf4a550 commit 62bac79

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

pkg/sfu/downtrack.go

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ type DownTrack struct {
4545

4646
enabled atomicBool
4747
reSync atomicBool
48-
reBaseTs atomicBool
4948
snOffset uint16
5049
tsOffset uint32
5150
lastSSRC uint32
@@ -95,7 +94,6 @@ func (d *DownTrack) Bind(t webrtc.TrackLocalContext) (webrtc.RTPCodecParameters,
9594
d.writeStream = t.WriteStream()
9695
d.mime = strings.ToLower(codec.MimeType)
9796
d.reSync.set(true)
98-
d.reBaseTs.set(true)
9997
d.enabled.set(true)
10098
if rr := d.bufferFactory.GetOrNew(packetio.RTCPBufferPacket, uint32(t.SSRC())).(*buffer.RTCPReader); rr != nil {
10199
rr.OnPacket(func(pkt []byte) {
@@ -346,11 +344,10 @@ func (d *DownTrack) writeSimpleRTP(extPkt *buffer.ExtPacket) error {
346344
return nil
347345
}
348346
}
349-
if d.reBaseTs.get() {
350-
d.snOffset = extPkt.Packet.SequenceNumber - d.lastSN - 1
351-
d.tsOffset = extPkt.Packet.Timestamp - d.lastTS - 1
352-
d.reBaseTs.set(false)
353-
}
347+
348+
d.snOffset = extPkt.Packet.SequenceNumber - d.lastSN - 1
349+
d.tsOffset = extPkt.Packet.Timestamp - d.lastTS - 1
350+
354351
atomic.StoreUint32(&d.lastSSRC, extPkt.Packet.SSRC)
355352
d.reSync.set(false)
356353
}

0 commit comments

Comments
 (0)