From bfa350451e8b32a14abb6f8386f31163de1e1792 Mon Sep 17 00:00:00 2001 From: Raja Subramanian Date: Wed, 2 Mar 2022 17:05:11 +0530 Subject: [PATCH] Start connection stats only after bind (#480) --- pkg/sfu/buffer/buffer.go | 2 +- pkg/sfu/downtrack.go | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pkg/sfu/buffer/buffer.go b/pkg/sfu/buffer/buffer.go index b2613fbd7..0d40cf488 100644 --- a/pkg/sfu/buffer/buffer.go +++ b/pkg/sfu/buffer/buffer.go @@ -268,7 +268,7 @@ func (b *Buffer) Close() error { b.audioPool.Put(b.bucket.src) } b.closed.Store(true) - b.onClose() + b.callbacksQueue.Enqueue(b.onClose) b.callbacksQueue.Stop() }) return nil diff --git a/pkg/sfu/downtrack.go b/pkg/sfu/downtrack.go index 39f596f01..9fd9f2c76 100644 --- a/pkg/sfu/downtrack.go +++ b/pkg/sfu/downtrack.go @@ -194,7 +194,6 @@ func NewDownTrack( }) } }) - d.connectionStats.Start() return d, nil } @@ -212,6 +211,8 @@ func (d *DownTrack) Bind(t webrtc.TrackLocalContext) (webrtc.RTPCodecParameters, return webrtc.RTPCodecParameters{}, webrtc.ErrUnsupportedCodec } + d.callbacksQueue.Start() + d.ssrc = uint32(t.SSRC()) d.payloadType = uint8(codec.PayloadType) d.writeStream = t.WriteStream() @@ -231,7 +232,7 @@ func (d *DownTrack) Bind(t webrtc.TrackLocalContext) (webrtc.RTPCodecParameters, go d.requestFirstKeyframe() - d.callbacksQueue.Start() + d.connectionStats.Start() return codec, nil }