Commit a813cc9c authored by Juliusz Chroboczek's avatar Juliusz Chroboczek

Split out sending loop into a separate function.

parent 9bd093e7
......@@ -286,10 +286,9 @@ func addUpConn(c *client, id string) (*upConnection, error) {
c.mu.Unlock()
return
}
list := packetlist.New(32)
track := &upTrack{
track: remote,
list: list,
list: packetlist.New(32),
maxBitrate: ^uint64(0),
}
u.tracks = append(u.tracks, track)
......@@ -304,7 +303,13 @@ func addUpConn(c *client, id string) (*upConnection, error) {
}
}
go func() {
go upLoop(conn, track)
})
return conn, nil
}
func upLoop(conn *upConnection, track *upTrack) {
buf := make([]byte, packetlist.BufSize)
var packet rtp.Packet
var local []*downTrack
......@@ -317,7 +322,7 @@ func addUpConn(c *client, id string) (*upConnection, error) {
localTime = now
}
i, err := remote.Read(buf)
i, err := track.track.Read(buf)
if err != nil {
if err != io.EOF {
log.Printf("%v", err)
......@@ -342,7 +347,7 @@ func addUpConn(c *client, id string) (*upConnection, error) {
}
}
list.Store(packet.SequenceNumber, buf[:i])
track.list.Store(packet.SequenceNumber, buf[:i])
for _, l := range local {
if l.muted() {
......@@ -354,10 +359,6 @@ func addUpConn(c *client, id string) (*upConnection, error) {
}
}
}
}()
})
return conn, nil
}
func delUpConn(c *client, id string) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment