From b24d3a0204c1dbf07d1450628af2d36952e27271 Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 6 May 2026 10:32:38 -0700 Subject: [PATCH 1/2] changing some tarck* logs --- pkg/sip/room.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkg/sip/room.go b/pkg/sip/room.go index a63c15b1..f09922b6 100644 --- a/pkg/sip/room.go +++ b/pkg/sip/room.go @@ -16,7 +16,6 @@ package sip import ( "context" - "errors" "io" "math" "sync" @@ -25,6 +24,7 @@ import ( "github.com/frostbyte73/core" "github.com/pion/webrtc/v4" + "github.com/pkg/errors" msdk "github.com/livekit/media-sdk" "github.com/livekit/media-sdk/dtmf" @@ -336,19 +336,19 @@ func (r *Room) Connect(ctx context.Context, conf *config.Config, rconf RoomConfi r.subscribeTo(pub, rp) }, OnTrackSubscribed: func(track *webrtc.TrackRemote, pub *lksdk.RemoteTrackPublication, rp *lksdk.RemoteParticipant) { - log := r.roomLog.WithValues("participant", rp.Identity(), "participantID", rp.SID(), "trackID", track.ID(), "trackName", pub.Name()) - if !r.ready.IsBroken() { - log.Warnw("ignoring track, room not ready", nil) - return - } - log.Infow("mixing track") + go func(rconf *RoomConfig, conf *config.Config, track *webrtc.TrackRemote, pub *lksdk.RemoteTrackPublication, rp *lksdk.RemoteParticipant) { + subscribedAt := time.Now().UnixMilli() + log := r.roomLog.WithValues("participant", rp.Identity(), "participantID", rp.SID(), "trackID", track.ID(), "trackName", pub.Name(), "subscribedAt", subscribedAt) + if !r.ready.IsBroken() { + log.Warnw("ignoring track, room not ready", nil) + return + } + defer log.Infow("track closed", "closedAt", time.Now().UnixMilli()) - go func() { mTrack := r.NewTrack() if mTrack == nil { return // closed } - defer log.Infow("track closed") defer mTrack.Close() var out msdk.PCM16Writer = mTrack @@ -385,7 +385,7 @@ func (r *Room) Connect(ctx context.Context, conf *config.Config, rconf RoomConfi if err != nil && !errors.Is(err, io.EOF) { log.Infow("room track rtp handler returned with failure", "error", err) } - }() + }(&rconf, conf, track, pub, rp) }, OnDataPacket: func(data lksdk.DataPacket, params lksdk.DataReceiveParams) { switch data := data.(type) { From 99b318ea72f0cf599213936cd5184198df963f6a Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 6 May 2026 11:04:36 -0700 Subject: [PATCH 2/2] proper time keeping --- pkg/sip/room.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/sip/room.go b/pkg/sip/room.go index f09922b6..d1bdcc70 100644 --- a/pkg/sip/room.go +++ b/pkg/sip/room.go @@ -336,14 +336,14 @@ func (r *Room) Connect(ctx context.Context, conf *config.Config, rconf RoomConfi r.subscribeTo(pub, rp) }, OnTrackSubscribed: func(track *webrtc.TrackRemote, pub *lksdk.RemoteTrackPublication, rp *lksdk.RemoteParticipant) { - go func(rconf *RoomConfig, conf *config.Config, track *webrtc.TrackRemote, pub *lksdk.RemoteTrackPublication, rp *lksdk.RemoteParticipant) { + go func() { subscribedAt := time.Now().UnixMilli() log := r.roomLog.WithValues("participant", rp.Identity(), "participantID", rp.SID(), "trackID", track.ID(), "trackName", pub.Name(), "subscribedAt", subscribedAt) if !r.ready.IsBroken() { log.Warnw("ignoring track, room not ready", nil) return } - defer log.Infow("track closed", "closedAt", time.Now().UnixMilli()) + defer func() { log.Infow("track closed", "closedAt", time.Now().UnixMilli()) }() mTrack := r.NewTrack() if mTrack == nil { @@ -385,7 +385,7 @@ func (r *Room) Connect(ctx context.Context, conf *config.Config, rconf RoomConfi if err != nil && !errors.Is(err, io.EOF) { log.Infow("room track rtp handler returned with failure", "error", err) } - }(&rconf, conf, track, pub, rp) + }() }, OnDataPacket: func(data lksdk.DataPacket, params lksdk.DataReceiveParams) { switch data := data.(type) {