diff --git a/pkg/routing/localrouter.go b/pkg/routing/localrouter.go index b0fcbbccb..01687ef3f 100644 --- a/pkg/routing/localrouter.go +++ b/pkg/routing/localrouter.go @@ -142,7 +142,6 @@ func (r *LocalRouter) WriteNodeRTC(_ context.Context, _ string, msg *livekit.RTC } func (r *LocalRouter) writeRTCMessage(sink MessageSink, msg *livekit.RTCNodeMessage) error { - defer sink.Close() msg.SenderTime = time.Now().Unix() return sink.WriteMessage(msg) } diff --git a/pkg/routing/redisrouter.go b/pkg/routing/redisrouter.go index a3e7e8365..ace768a11 100644 --- a/pkg/routing/redisrouter.go +++ b/pkg/routing/redisrouter.go @@ -215,6 +215,7 @@ func (r *RedisRouter) WriteParticipantRTC(_ context.Context, roomName livekit.Ro rtcSink := NewRTCNodeSink(r.rc, livekit.NodeID(rtcNode), "ephemeral", pkey, pkeyB62) msg.ParticipantKey = string(ParticipantKeyLegacy(roomName, identity)) msg.ParticipantKeyB62 = string(ParticipantKey(roomName, identity)) + defer rtcSink.Close() return r.writeRTCMessage(rtcSink, msg) } @@ -230,6 +231,7 @@ func (r *RedisRouter) WriteRoomRTC(ctx context.Context, roomName livekit.RoomNam func (r *RedisRouter) WriteNodeRTC(_ context.Context, rtcNodeID string, msg *livekit.RTCNodeMessage) error { rtcSink := NewRTCNodeSink(r.rc, livekit.NodeID(rtcNodeID), "ephemeral", livekit.ParticipantKey(msg.ParticipantKey), livekit.ParticipantKey(msg.ParticipantKeyB62)) + defer rtcSink.Close() return r.writeRTCMessage(rtcSink, msg) }