Avoid reallocating the list of local tracks at each packet.
This commit is contained in:
1 parent
87f70c4345
commit
d9a7f3d6c0
1 file changed
+8
-1
@@ -288,7 +288,15 @@ func addUpConn(c *client, id string) (*upConnection, error) {
|
|||||||
go func() {
|
go func() {
|
||||||
buf := make([]byte, 1500)
|
buf := make([]byte, 1500)
|
||||||
var packet rtp.Packet
|
var packet rtp.Packet
|
||||||
|
var local []*downTrack
|
||||||
|
var localTime time.Time
|
||||||
for {
|
for {
|
||||||
|
now := time.Now()
|
||||||
|
if now.Sub(localTime) > time.Second/2 {
|
||||||
|
local = track.getLocal()
|
||||||
|
localTime = now
|
||||||
|
}
|
||||||
|
|
||||||
i, err := remote.Read(buf)
|
i, err := remote.Read(buf)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err != io.EOF {
|
if err != io.EOF {
|
||||||
@@ -303,7 +311,6 @@ func addUpConn(c *client, id string) (*upConnection, error) {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
local := track.getLocal()
|
|
||||||
for _, l := range local {
|
for _, l := range local {
|
||||||
if l.muted() {
|
if l.muted() {
|
||||||
continue
|
continue
|
||||||
|
|||||||
Reference in new issue
Block a user