MCPcopy
hub / github.com/livekit/livekit / TrackPublished

Method TrackPublished

pkg/telemetry/events.go:245–277  ·  view source on GitHub ↗
(
	ctx context.Context,
	roomID livekit.RoomID,
	roomName livekit.RoomName,
	participantID livekit.ParticipantID,
	identity livekit.ParticipantIdentity,
	track *livekit.TrackInfo,
	shouldSendEvent bool,
)

Source from the content-addressed store, hash-verified

243}
244
245func (t *telemetryService) TrackPublished(
246 ctx context.Context,
247 roomID livekit.RoomID,
248 roomName livekit.RoomName,
249 participantID livekit.ParticipantID,
250 identity livekit.ParticipantIdentity,
251 track *livekit.TrackInfo,
252 shouldSendEvent bool,
253) {
254 t.enqueue(func() {
255 prometheus.AddPublishedTrack(track.Type.String())
256 prometheus.RecordTrackPublishSuccess(track.Type.String())
257 if !shouldSendEvent {
258 return
259 }
260
261 room := toMinimalRoomProto(roomID, roomName)
262 participant := &livekit.ParticipantInfo{
263 Sid: string(participantID),
264 Identity: string(identity),
265 }
266 t.NotifyEvent(ctx, &livekit.WebhookEvent{
267 Event: webhook.EventTrackPublished,
268 Room: room,
269 Participant: participant,
270 Track: track,
271 })
272
273 ev := newTrackEvent(livekit.AnalyticsEventType_TRACK_PUBLISHED, room, participantID, track)
274 ev.Participant = participant
275 t.SendEvent(ctx, ev)
276 })
277}
278
279func (t *telemetryService) TrackPublishedUpdate(
280 ctx context.Context,

Callers

nothing calls this directly

Calls 8

enqueueMethod · 0.95
NotifyEventMethod · 0.95
AddPublishedTrackFunction · 0.92
toMinimalRoomProtoFunction · 0.85
newTrackEventFunction · 0.85
SendEventMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected