ionorg / ion-sfu

Pure Go WebRTC SFU

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

sequencer.push() should return added one's pointer

Rollooo opened this issue · comments

Your environment.

  • Version: Latest (Master)
  • Client: Chrome(pubsub test)
  • Environement: OSX
  • Are you using a TURN server? No

What did you do?

Try to check retransmission.

What did you expect?

Set right metadata for vp8 packet

What happened?

sequencer.push() returns next packet metadata.
At DownTrack.writeSimulcastRTP() push packet metadata to sequencer and set vp8 payload metadata.
But at here sequencer.push() returns next packet and set vp8 payload metadata of returned value.

So I think sequencer.push should return added one's pointer.

n.seq[n.step] = packetMeta{
    sourceSeqNo: sn,
    targetSeqNo: offSn,
    timestamp:   timeStamp,
    layer:       layer,
}
n.step++ // I think should store current step before this line
if n.step >= n.max {
n.step = 0
}
return &n.seq[n.step] // Should return added one

@Rollooo hey good catch thank you will solve asap!