diff --git a/pkg/rtc/room.go b/pkg/rtc/room.go index 186ab176d..d6dd88fba 100644 --- a/pkg/rtc/room.go +++ b/pkg/rtc/room.go @@ -732,7 +732,7 @@ func (r *Room) onTrackPublished(participant types.LocalParticipant, track types. // auto track egress if r.internal != nil && r.internal.TrackEgress != nil { - StartTrackEgress( + if err := StartTrackEgress( context.Background(), r.egressLauncher, r.telemetry, @@ -740,7 +740,9 @@ func (r *Room) onTrackPublished(participant types.LocalParticipant, track types. track, r.Name(), r.ID(), - ) + ); err != nil { + r.Logger.Errorw("failed to launch track egress", err) + } } } diff --git a/pkg/rtc/room_egress.go b/pkg/rtc/room_egress.go index f5788020b..2fb680e39 100644 --- a/pkg/rtc/room_egress.go +++ b/pkg/rtc/room_egress.go @@ -25,7 +25,7 @@ func StartTrackEgress( track types.MediaTrack, roomName livekit.RoomName, roomID livekit.RoomID, -) { +) error { if req, err := startTrackEgress(ctx, launcher, opts, track, roomName, roomID); err != nil { // send egress failed webhook ts.NotifyEvent(ctx, &livekit.WebhookEvent{ @@ -38,7 +38,9 @@ func StartTrackEgress( Request: &livekit.EgressInfo_Track{Track: req}, }, }) + return err } + return nil } func startTrackEgress(