Versions in this module Expand all Collapse all v1 v1.13.7 Sep 18, 2026 v1.13.6 Sep 18, 2026 Changes in this version + const CurrentProtocol + const ParticipantCloseKeyNormal + const ParticipantCloseKeyWHIP + func IsCandidateMDNS(candidate webrtc.ICECandidateInit) bool + func IsICECandidateMDNS(candidate ice.Candidate) bool + func IsIntentionalDisconnect(reason livekit.DisconnectReason) bool + func TrafficLoadToTrafficRate(trafficLoad *TrafficLoad) (packetRateIn float64, byteRateIn float64, packetRateOut float64, ...) + type AddSubscriberParams struct + AllTracks bool + TrackIDs []livekit.TrackID + type AddTrackParams struct + Red bool + Stereo bool + type ChangeNotifier interface + AddObserver func(key string, onChanged func()) + HasObservers func() bool + NotifyChanged func() + RemoveObserver func(key string) + type DataDownTrack interface + Close func() + Handle func() uint16 + PublishDataTrack func() DataTrack + UpdateSubscriptionOptions func(subscriptionOptions *livekit.DataTrackSubscriptionOptions) + type DataMessageCache struct + Data []byte + DestIdentities []livekit.ParticipantIdentity + SenderID livekit.ParticipantID + Seq uint32 + type DataResolverResult struct + DataTrack DataTrack + PublisherID livekit.ParticipantID + PublisherIdentity livekit.ParticipantIdentity + TrackChangedNotifier ChangeNotifier + TrackRemovedNotifier ChangeNotifier + type DataTrack interface + AddDataDownTrack func(sender DataTrackSender) error + AddSubscriber func(sub LocalParticipant) (DataDownTrack, error) + Close func() + DeleteDataDownTrack func(subscriberID livekit.ParticipantID) + HandlePacket func(data []byte, packet *datatrack.Packet, arrivalTime int64) + ID func() livekit.TrackID + IsSubscriber func(subID livekit.ParticipantID) bool + Name func() string + PubHandle func() uint16 + PublisherID func() livekit.ParticipantID + PublisherIdentity func() livekit.ParticipantIdentity + RemoveSubscriber func(participantID livekit.ParticipantID) + ToProto func() *livekit.DataTrackInfo + type DataTrackResolver func(LocalParticipant, livekit.TrackID) DataResolverResult + type DataTrackSender interface + SubscriberID func() livekit.ParticipantID + WritePacket func(data []byte, packet *datatrack.Packet, arrivalTime int64) + type DataTrackTransport interface + SendDataTrackMessage func(data []byte) error + type ICECandidateExtended struct + Candidate *webrtc.ICECandidate + Filtered bool + SelectedOrder int + Trickle bool + type ICEConnectionDetails struct + func NewICEConnectionDetails(transport livekit.SignalTarget, l logger.Logger) *ICEConnectionDetails + func (d *ICEConnectionDetails) AddLocalCandidate(c *webrtc.ICECandidate, filtered, trickle bool) + func (d *ICEConnectionDetails) AddLocalICECandidate(c ice.Candidate, filtered, trickle bool) + func (d *ICEConnectionDetails) AddRemoteCandidate(c webrtc.ICECandidateInit, filtered, trickle, canUpdate bool) + func (d *ICEConnectionDetails) AddRemoteICECandidate(iceCandidate ice.Candidate, filtered, trickle, canUpdate bool) + func (d *ICEConnectionDetails) Clear() + func (d *ICEConnectionDetails) GetConnectionType() ICEConnectionType + func (d *ICEConnectionDetails) GetInfo() *ICEConnectionInfo + func (d *ICEConnectionDetails) SetSelectedPair(pair *webrtc.ICECandidatePair) + type ICEConnectionInfo struct + Local []*ICECandidateExtended + Remote []*ICECandidateExtended + Transport livekit.SignalTarget + Type ICEConnectionType + func (i *ICEConnectionInfo) HasCandidates() bool + type ICEConnectionType int + const ICEConnectionTypeTCP + const ICEConnectionTypeTURN + const ICEConnectionTypeUDP + const ICEConnectionTypeUnknown + func ICEConnectionInfosType(infos []*ICEConnectionInfo) ICEConnectionType + func (i ICEConnectionType) ReporterType() roomobs.ConnectionType + func (i ICEConnectionType) String() string + type LocalMediaTrack interface + ClearSubscriberNodes func() + GetConnectionScoreAndQuality func() (float32, livekit.ConnectionQuality) + GetTrackStats func() *livekit.RTPStats + HasSdpCid func(cid string) bool + HasSignalCid func(cid string) bool + NotifySubscriberNodeMaxQuality func(nodeID livekit.NodeID, qualities []SubscribedCodecQuality) + NotifySubscriberNodeMediaLoss func(nodeID livekit.NodeID, fractionalLoss uint8) + NotifySubscriptionNode func(nodeID livekit.NodeID, codecs []*livekit.SubscribedAudioCodec) + Restart func() + SetRTT func(rtt uint32) + type LocalParticipant interface + ActiveAt func() time.Time + AddOnClose func(key string, callback func(LocalParticipant)) + AddTrack func(req *livekit.AddTrackRequest) + AddTrackLocal func(trackLocal webrtc.TrackLocal, params AddTrackParams) (*webrtc.RTPSender, *webrtc.RTPTransceiver, error) + AddTransceiverFromTrackLocal func(trackLocal webrtc.TrackLocal, params AddTrackParams) (*webrtc.RTPSender, *webrtc.RTPTransceiver, error) + CacheDownTrack func(trackID livekit.TrackID, rtpTransceiver *webrtc.RTPTransceiver, ...) + CanPublish func() bool + CanPublishData func() bool + CanPublishSource func(source livekit.TrackSource) bool + CanSubscribe func() bool + ClaimGrants func() *auth.ClaimGrants + ClearParticipantListener func() + CloseSignalConnection func(reason SignallingCloseReason) + Disconnected func() <-chan struct{} + GetAdaptiveStream func() bool + GetAnswer func() (webrtc.SessionDescription, uint32, error) + GetBufferFactory func() *buffer.Factory + GetCachedDownTrack func(trackID livekit.TrackID) (*webrtc.RTPTransceiver, sfu.DownTrackState) + GetClientConfiguration func() *livekit.ClientConfiguration + GetClientInfo func() *livekit.ClientInfo + GetConnectionQuality func() *livekit.ConnectionQualityInfo + GetCountry func() string + GetDataTrackTransport func() DataTrackTransport + GetDisableSenderReportPassThrough func() bool + GetEnabledPublishCodecs func() []*livekit.Codec + GetICEConfig func() *livekit.ICEConfig + GetICEConnectionInfo func() []*ICEConnectionInfo + GetLastReliableSequence func(migrateOut bool) uint32 + GetLoggerResolver func() logger.DeferredFieldResolver + GetNextSubscribedDataTrackHandle func() uint16 + GetPacer func() pacer.Pacer + GetPendingTrack func(trackID livekit.TrackID) *livekit.TrackInfo + GetPlayoutDelayConfig func() *livekit.PlayoutDelay + GetPublisherICESessionUfrag func() (string, error) + GetReporter func() roomobs.ParticipantSessionReporter + GetReporterResolver func() roomobs.ParticipantReporterResolver + GetResponseSink func() routing.MessageSink + GetSubscribedParticipants func() []livekit.ParticipantID + GetSubscribedTracks func() []SubscribedTrack + GetTelemetryListener func() ParticipantTelemetryListener + GetTrailer func() []byte + HandleAnswer func(sd *livekit.SessionDescription) + HandleICERestartSDPFragment func(sdpFragment string) (string, error) + HandleICETrickle func(trickleRequest *livekit.TrickleRequest) + HandleICETrickleSDPFragment func(sdpFragment string) error + HandleLeaveRequest func(reason ParticipantCloseReason) + HandleMetrics func(senderParticipantID livekit.ParticipantID, batch *livekit.MetricsBatch) error + HandleOffer func(sd *livekit.SessionDescription) error + HandlePublishDataTrackRequest func(*livekit.PublishDataTrackRequest) + HandleReceiverReport func(dt *sfu.DownTrack, report *rtcp.ReceiverReport) + HandleReconnectAndSendResponse func(reconnectReason livekit.ReconnectReason, ...) error + HandleSignalMessage func(msg proto.Message) error + HandleSignalSourceClose func() + HandleSimulateScenario func(*livekit.SimulateScenario) error + HandleSyncState func(*livekit.SyncState) error + HandleUnpublishDataTrackRequest func(*livekit.UnpublishDataTrackRequest) + HandleUpdateDataSubscription func(*livekit.UpdateDataSubscription) + HandleUpdateSubscriptionPermission func(*livekit.SubscriptionPermission) error + HandleUpdateSubscriptions func([]livekit.TrackID, []*livekit.ParticipantTracks, bool) + HasConnected func() bool + ICERestart func(iceConfig *livekit.ICEConfig) + IsIdle func() bool + IsReady func() bool + IsReconnect func() bool + IsSubscribedTo func(sid livekit.ParticipantID) bool + IsTrackNameSubscribed func(publisherIdentity livekit.ParticipantIdentity, trackName string) bool + IsUsingSinglePeerConnection func() bool + IssueFullReconnect func(reason ParticipantCloseReason) + MaybeStartMigration func(force bool, onStart func()) bool + MoveToRoom func(params MoveToRoomParams) + Negotiate func(force bool) + NotifyMigration func() + OnClaimsChanged func(callback func(LocalParticipant)) + OnICEConfigChanged func(callback func(participant LocalParticipant, iceConfig *livekit.ICEConfig)) + PerformRpc func(req *livekit.PerformRpcRequest, resultCh chan string, errorCh chan error) + ProtocolVersion func() ProtocolVersion + RemoveTrackLocal func(sender *webrtc.RTPSender) error + SendConnectionQualityUpdate func(update *livekit.ConnectionQualityUpdate) error + SendDataMessage func(kind livekit.DataPacket_Kind, data []byte, senderID livekit.ParticipantID, ...) error + SendDataMessageUnlabeled func(data []byte, useRaw bool, sender livekit.ParticipantIdentity) error + SendDataTrackSubscriberHandles func(handles map[uint32]*livekit.DataTrackSubscriberHandles_PublishedDataTrack) error + SendJoinResponse func(joinResponse *livekit.JoinResponse) error + SendParticipantUpdate func(participants []*livekit.ParticipantInfo) error + SendRefreshToken func(token string) error + SendRoomMovedResponse func(moved *livekit.RoomMovedResponse) error + SendRoomUpdate func(room *livekit.Room) error + SendSpeakerUpdate func(speakers []*livekit.SpeakerInfo, force bool) error + SendSubscriptionPermissionUpdate func(publisherID livekit.ParticipantID, trackID livekit.TrackID, allowed bool) error + SetAttributes func(attributes map[string]string) + SetICEConfig func(iceConfig *livekit.ICEConfig) + SetMetadata func(metadata string) + SetMigrateInfo func(previousOffer *webrtc.SessionDescription, ...) + SetMigrateState func(s MigrateState) + SetName func(name string) + SetPermission func(permission *livekit.ParticipantPermission) bool + SetSignalSourceValid func(valid bool) + SetSubscriberAllowPause func(allowPause bool) + SetSubscriberChannelCapacity func(channelCapacity int64) + SetTrackMuted func(mute *livekit.MuteTrackRequest, fromAdmin bool) *livekit.TrackInfo + StopAndGetSubscribedTracksForwarderState func() map[livekit.TrackID]*livekit.RTPForwarderState + SubscribeToDataTrack func(trackID livekit.TrackID) + SubscribeToTrack func(trackID livekit.TrackID, isSync bool) + SubscriberAsPrimary func() bool + SupportsCodecChange func() bool + SupportsMoving func() error + SupportsSyncStreamID func() bool + SupportsTransceiverReuse func(mt MediaTrack) bool + SwapResponseSink func(sink routing.MessageSink, reason SignallingCloseReason) + TelemetryGuard func() *telemetry.ReferenceGuard + UncacheDownTrack func(rtpTransceiver *webrtc.RTPTransceiver) + UnsubscribeFromDataTrack func(trackID livekit.TrackID) + UnsubscribeFromTrack func(trackID livekit.TrackID) + UpdateAudioTrack func(update *livekit.UpdateLocalAudioTrack) error + UpdateDataTrackSubscriptionOptions func(trackID livekit.TrackID, ...) + UpdateLastSeenSignal func() + UpdateMediaLoss func(nodeID livekit.NodeID, trackID livekit.TrackID, fractionalLoss uint32) error + UpdateMediaRTT func(rtt uint32) + UpdateMetadata func(update *livekit.UpdateParticipantMetadata, fromAdmin bool) error + UpdateSignalingRTT func(rtt uint32) + UpdateSubscribedAudioCodecs func(nodeID livekit.NodeID, trackID livekit.TrackID, ...) error + UpdateSubscribedQuality func(nodeID livekit.NodeID, trackID livekit.TrackID, ...) error + UpdateSubscribedTrackSettings func(trackID livekit.TrackID, settings *livekit.UpdateTrackSettings) + UpdateVideoTrack func(update *livekit.UpdateLocalVideoTrack) error + Verify func() bool + VerifySubscribeParticipantInfo func(pID livekit.ParticipantID, version uint32) + WaitUntilSubscribed func(timeout time.Duration) error + WriteSubscriberRTCP func(pkts []rtcp.Packet) error + type LocalParticipantHelper interface + GetCachedReliableDataMessage func(seqs map[livekit.ParticipantID]uint32) []*DataMessageCache + GetParticipantInfo func(pID livekit.ParticipantID) *livekit.ParticipantInfo + GetRegionSettings func(ip string) *livekit.RegionSettings + GetSubscriberForwarderState func(p LocalParticipant) (map[livekit.TrackID]*livekit.RTPForwarderState, error) + ResolveDataTrack func(LocalParticipant, livekit.TrackID) DataResolverResult + ResolveMediaTrack func(LocalParticipant, livekit.TrackID) MediaResolverResult + ShouldRegressCodec func() bool + type LocalParticipantListener interface + OnDataMessage func(LocalParticipant, livekit.DataPacket_Kind, *livekit.DataPacket) + OnDataMessageUnlabeled func(LocalParticipant, []byte) + OnLeave func(LocalParticipant, ParticipantCloseReason) + OnMigrateStateChange func(LocalParticipant, MigrateState) + OnSimulateScenario func(LocalParticipant, *livekit.SimulateScenario) error + OnStateChange func(LocalParticipant) + OnSubscribeStatusChanged func(LocalParticipant, livekit.ParticipantID, bool) + OnSubscriberReady func(LocalParticipant) + OnSyncState func(LocalParticipant, *livekit.SyncState) error + OnUpdateDataSubscriptions func(LocalParticipant, *livekit.UpdateDataSubscription) + OnUpdateSubscriptionPermission func(LocalParticipant, *livekit.SubscriptionPermission) error + OnUpdateSubscriptions func(LocalParticipant, []livekit.TrackID, []*livekit.ParticipantTracks, bool) + type MediaResolverResult struct + HasPermission bool + PublisherID livekit.ParticipantID + PublisherIdentity livekit.ParticipantIdentity + Track MediaTrack + TrackChangedNotifier ChangeNotifier + TrackRemovedNotifier ChangeNotifier + type MediaTrack interface + AddOnClose func(func(isExpectedToResume bool)) + AddSubscriber func(participant LocalParticipant) (SubscribedTrack, error) + ClearAllReceivers func(isExpectedToResume bool) + Close func(isExpectedToResume bool) + GetAllSubscribers func() []livekit.ParticipantID + GetAudioLevel func() (level float64, active bool) + GetNumSubscribers func() int + GetQualityForDimension func(mimeType mime.MimeType, width, height uint32) livekit.VideoQuality + GetTemporalLayerForSpatialFps func(mimeType mime.MimeType, spatial int32, fps uint32) int32 + HasPacketTrailer func() bool + ID func() livekit.TrackID + IsEncrypted func() bool + IsMuted func() bool + IsOpen func() bool + IsSubscriber func(subID livekit.ParticipantID) bool + Kind func() livekit.TrackType + Logger func() logger.Logger + Name func() string + OnTrackSubscribed func() + PublisherID func() livekit.ParticipantID + PublisherIdentity func() livekit.ParticipantIdentity + PublisherVersion func() uint32 + Receivers func() []sfu.TrackReceiver + RemoveSubscriber func(participantID livekit.ParticipantID, isExpectedToResume bool) + RevokeDisallowedSubscribers func(allowedSubscriberIdentities []livekit.ParticipantIdentity) []livekit.ParticipantIdentity + SetMuted func(muted bool) + Source func() livekit.TrackSource + Stream func() string + ToProto func() *livekit.TrackInfo + UpdateAudioTrack func(update *livekit.UpdateLocalAudioTrack) + UpdateTrackInfo func(ti *livekit.TrackInfo) + UpdateVideoTrack func(update *livekit.UpdateLocalVideoTrack) + type MediaTrackResolver func(LocalParticipant, livekit.TrackID) MediaResolverResult + type MigrateState int32 + const MigrateStateComplete + const MigrateStateInit + const MigrateStateSync + func (m MigrateState) String() string + type MoveToRoomParams struct + Helper LocalParticipantHelper + Listener LocalParticipantListener + ParticipantID livekit.ParticipantID + RoomName livekit.RoomName + type NullLocalParticipantListener struct + func (*NullLocalParticipantListener) OnDataMessage(LocalParticipant, livekit.DataPacket_Kind, *livekit.DataPacket) + func (*NullLocalParticipantListener) OnDataMessageUnlabeled(LocalParticipant, []byte) + func (*NullLocalParticipantListener) OnLeave(LocalParticipant, ParticipantCloseReason) + func (*NullLocalParticipantListener) OnMigrateStateChange(LocalParticipant, MigrateState) + func (*NullLocalParticipantListener) OnSimulateScenario(LocalParticipant, *livekit.SimulateScenario) error + func (*NullLocalParticipantListener) OnStateChange(LocalParticipant) + func (*NullLocalParticipantListener) OnSubscribeStatusChanged(LocalParticipant, livekit.ParticipantID, bool) + func (*NullLocalParticipantListener) OnSubscriberReady(LocalParticipant) + func (*NullLocalParticipantListener) OnSyncState(LocalParticipant, *livekit.SyncState) error + func (*NullLocalParticipantListener) OnUpdateDataSubscriptions(LocalParticipant, *livekit.UpdateDataSubscription) + func (*NullLocalParticipantListener) OnUpdateSubscriptionPermission(LocalParticipant, *livekit.SubscriptionPermission) error + func (*NullLocalParticipantListener) OnUpdateSubscriptions(LocalParticipant, []livekit.TrackID, []*livekit.ParticipantTracks, bool) + type NullParticipantListener struct + func (*NullParticipantListener) OnDataTrackMessage(Participant, []byte, *datatrack.Packet) + func (*NullParticipantListener) OnDataTrackPublished(Participant, DataTrack) + func (*NullParticipantListener) OnDataTrackUnpublished(Participant, DataTrack) + func (*NullParticipantListener) OnMetrics(Participant, *livekit.DataPacket) + func (*NullParticipantListener) OnParticipantUpdate(Participant) + func (*NullParticipantListener) OnTrackPublished(Participant, MediaTrack) + func (*NullParticipantListener) OnTrackUnpublished(Participant, MediaTrack) + func (*NullParticipantListener) OnTrackUpdated(Participant, MediaTrack) + type NullParticipantTelemetryListener struct + func (NullParticipantTelemetryListener) OnTrackMaxSubscribedVideoQuality(pID livekit.ParticipantID, ti *livekit.TrackInfo, mime mime.MimeType, ...) + func (NullParticipantTelemetryListener) OnTrackMuted(pID livekit.ParticipantID, ti *livekit.TrackInfo) + func (NullParticipantTelemetryListener) OnTrackPublishRTPStats(pID livekit.ParticipantID, trackID livekit.TrackID, mimeType mime.MimeType, ...) + func (NullParticipantTelemetryListener) OnTrackPublishRequested(pID livekit.ParticipantID, identity livekit.ParticipantIdentity, ...) + func (NullParticipantTelemetryListener) OnTrackPublished(pID livekit.ParticipantID, identity livekit.ParticipantIdentity, ...) + func (NullParticipantTelemetryListener) OnTrackPublishedUpdate(pID livekit.ParticipantID, ti *livekit.TrackInfo) + func (NullParticipantTelemetryListener) OnTrackStats(key telemetry.StatsKey, stat *livekit.AnalyticsStat) + func (NullParticipantTelemetryListener) OnTrackSubscribeFailed(pID livekit.ParticipantID, trackID livekit.TrackID, err error, ...) + func (NullParticipantTelemetryListener) OnTrackSubscribeRTPStats(pID livekit.ParticipantID, trackID livekit.TrackID, mimeType mime.MimeType, ...) + func (NullParticipantTelemetryListener) OnTrackSubscribeRequested(pID livekit.ParticipantID, ti *livekit.TrackInfo) + func (NullParticipantTelemetryListener) OnTrackSubscribeStreamStarted(pID livekit.ParticipantID, ti *livekit.TrackInfo) + func (NullParticipantTelemetryListener) OnTrackSubscribed(pID livekit.ParticipantID, ti *livekit.TrackInfo, ...) + func (NullParticipantTelemetryListener) OnTrackUnmuted(pID livekit.ParticipantID, ti *livekit.TrackInfo) + func (NullParticipantTelemetryListener) OnTrackUnpublished(pID livekit.ParticipantID, identity livekit.ParticipantIdentity, ...) + func (NullParticipantTelemetryListener) OnTrackUnsubscribed(pID livekit.ParticipantID, ti *livekit.TrackInfo, shouldSendEvent bool) + type OperationMonitor interface + Check func() error + IsIdle func() bool + PostEvent func(ome OperationMonitorEvent, omd OperationMonitorData) + type OperationMonitorData any + type OperationMonitorEvent int + const OperationMonitorEventAddPendingPublication + const OperationMonitorEventClearPublishedTrack + const OperationMonitorEventPublisherPeerConnectionConnected + const OperationMonitorEventSetPublicationMute + const OperationMonitorEventSetPublishedTrack + func (o OperationMonitorEvent) String() string + type Participant interface + CanSkipBroadcast func() bool + Close func(sendLeave bool, reason ParticipantCloseReason, isExpectedToResume bool) error + CloseReason func() ParticipantCloseReason + ConnectedAt func() time.Time + DebugInfo func() map[string]any + GetAudioLevel func() (smoothedLevel float64, active bool) + GetLogger func() logger.Logger + GetParticipantListener func() ParticipantListener + GetPublishedDataTrack func(handle uint16) DataTrack + GetPublishedDataTracks func() []DataTrack + GetPublishedTrack func(trackID livekit.TrackID) MediaTrack + GetPublishedTracks func() []MediaTrack + HandleReceivedDataTrackMessage func([]byte, *datatrack.Packet, int64) + HasPermission func(trackID livekit.TrackID, subIdentity livekit.ParticipantIdentity) bool + Hidden func() bool + ID func() livekit.ParticipantID + Identity func() livekit.ParticipantIdentity + IsAgent func() bool + IsClosed func() bool + IsDependent func() bool + IsDisconnected func() bool + IsPublisher func() bool + IsRecorder func() bool + Kind func() livekit.ParticipantInfo_Kind + KindDetails func() []livekit.ParticipantInfo_KindDetail + MigrateState func() MigrateState + RemovePublishedDataTrack func(track DataTrack) + RemovePublishedTrack func(track MediaTrack, isExpectedToResume bool) + State func() livekit.ParticipantInfo_State + SubscriptionPermission func() (*livekit.SubscriptionPermission, utils.TimedVersion) + ToProto func() *livekit.ParticipantInfo + ToProtoWithVersion func() (*livekit.ParticipantInfo, utils.TimedVersion) + UpdateSubscriptionPermission func(subscriptionPermission *livekit.SubscriptionPermission, ...) error + Version func() utils.TimedVersion + type ParticipantCloseReason int + const ParticipantCloseReasonAgentError + const ParticipantCloseReasonClientRequestLeave + const ParticipantCloseReasonDataChannelError + const ParticipantCloseReasonDuplicateIdentity + const ParticipantCloseReasonJoinFailed + const ParticipantCloseReasonJoinTimeout + const ParticipantCloseReasonMessageBusFailed + const ParticipantCloseReasonMigrateCodecMismatch + const ParticipantCloseReasonMigrationComplete + const ParticipantCloseReasonMigrationRequested + const ParticipantCloseReasonMoveFailed + const ParticipantCloseReasonNegotiateFailed + const ParticipantCloseReasonNone + const ParticipantCloseReasonPeerConnectionDisconnected + const ParticipantCloseReasonPublicationError + const ParticipantCloseReasonRoomClosed + const ParticipantCloseReasonRoomManagerStop + const ParticipantCloseReasonServiceRequestDeleteRoom + const ParticipantCloseReasonServiceRequestRemoveParticipant + const ParticipantCloseReasonSignalSourceClose + const ParticipantCloseReasonSimulateLeaveRequest + const ParticipantCloseReasonSimulateMigration + const ParticipantCloseReasonSimulateNodeFailure + const ParticipantCloseReasonSimulateServerLeave + const ParticipantCloseReasonStale + const ParticipantCloseReasonSubscriptionError + const ParticipantCloseReasonUserRejected + const ParticipantCloseReasonUserUnavailable + const ParticipantCloseReasonVerifyFailed + func (p ParticipantCloseReason) String() string + func (p ParticipantCloseReason) ToDisconnectReason() livekit.DisconnectReason + type ParticipantListener interface + OnDataTrackMessage func(Participant, []byte, *datatrack.Packet) + OnDataTrackPublished func(Participant, DataTrack) + OnDataTrackUnpublished func(Participant, DataTrack) + OnMetrics func(Participant, *livekit.DataPacket) + OnParticipantUpdate func(Participant) + OnTrackPublished func(Participant, MediaTrack) + OnTrackUnpublished func(Participant, MediaTrack) + OnTrackUpdated func(Participant, MediaTrack) + type ParticipantTelemetryListener interface + OnTrackMaxSubscribedVideoQuality func(pID livekit.ParticipantID, ti *livekit.TrackInfo, mime mime.MimeType, ...) + OnTrackMuted func(pID livekit.ParticipantID, ti *livekit.TrackInfo) + OnTrackPublishRTPStats func(pID livekit.ParticipantID, trackID livekit.TrackID, mimeType mime.MimeType, ...) + OnTrackPublishRequested func(pID livekit.ParticipantID, identity livekit.ParticipantIdentity, ...) + OnTrackPublished func(pID livekit.ParticipantID, identity livekit.ParticipantIdentity, ...) + OnTrackPublishedUpdate func(pID livekit.ParticipantID, ti *livekit.TrackInfo) + OnTrackStats func(key telemetry.StatsKey, stat *livekit.AnalyticsStat) + OnTrackSubscribeFailed func(pID livekit.ParticipantID, trackID livekit.TrackID, err error, ...) + OnTrackSubscribeRTPStats func(pID livekit.ParticipantID, trackID livekit.TrackID, mimeType mime.MimeType, ...) + OnTrackSubscribeRequested func(pID livekit.ParticipantID, ti *livekit.TrackInfo) + OnTrackSubscribeStreamStarted func(pID livekit.ParticipantID, ti *livekit.TrackInfo) + OnTrackSubscribed func(pID livekit.ParticipantID, ti *livekit.TrackInfo, ...) + OnTrackUnmuted func(pID livekit.ParticipantID, ti *livekit.TrackInfo) + OnTrackUnpublished func(pID livekit.ParticipantID, identity livekit.ParticipantIdentity, ...) + OnTrackUnsubscribed func(pID livekit.ParticipantID, ti *livekit.TrackInfo, shouldSendEvent bool) + type ProtocolVersion int + func (v ProtocolVersion) HandlesDataPackets() bool + func (v ProtocolVersion) SubscriberAsPrimary() bool + func (v ProtocolVersion) SupportFastStart() bool + func (v ProtocolVersion) SupportsAsyncRoomID() bool + func (v ProtocolVersion) SupportsConnectionQuality() bool + func (v ProtocolVersion) SupportsConnectionQualityLost() bool + func (v ProtocolVersion) SupportsDisconnectedUpdate() bool + func (v ProtocolVersion) SupportsICELite() bool + func (v ProtocolVersion) SupportsIdentityBasedReconnection() bool + func (v ProtocolVersion) SupportsMoving() bool + func (v ProtocolVersion) SupportsNonErrorSignalResponse() bool + func (v ProtocolVersion) SupportsPackedStreamId() bool + func (v ProtocolVersion) SupportsPacketTrailer() bool + func (v ProtocolVersion) SupportsProtobuf() bool + func (v ProtocolVersion) SupportsRegionsInLeaveRequest() bool + func (v ProtocolVersion) SupportsSessionMigrate() bool + func (v ProtocolVersion) SupportsSpeakerChanged() bool + func (v ProtocolVersion) SupportsSyncStreamID() bool + func (v ProtocolVersion) SupportsTransceiverReuse() bool + func (v ProtocolVersion) SupportsUnpublish() bool + type Room interface + GetLocalParticipants func() []LocalParticipant + ID func() livekit.RoomID + IsDataMessageUserPacketDuplicate func(ip *livekit.UserPacket) bool + Name func() livekit.RoomName + RemoveParticipant func(identity livekit.ParticipantIdentity, pID livekit.ParticipantID, ...) + ResolveDataTrackForSubscriber func(sub LocalParticipant, trackID livekit.TrackID) DataResolverResult + ResolveMediaTrackForSubscriber func(sub LocalParticipant, trackID livekit.TrackID) MediaResolverResult + UpdateSubscriptions func(participant LocalParticipant, trackIDs []livekit.TrackID, ...) + type SignallingCloseReason int + const SignallingCloseReasonDisconnectOnResume + const SignallingCloseReasonDisconnectOnResumeNoMessages + const SignallingCloseReasonFullReconnectDataChannelError + const SignallingCloseReasonFullReconnectNegotiateFailed + const SignallingCloseReasonFullReconnectPublicationError + const SignallingCloseReasonFullReconnectSubscriptionError + const SignallingCloseReasonMigration + const SignallingCloseReasonParticipantClose + const SignallingCloseReasonResume + const SignallingCloseReasonTransportFailure + const SignallingCloseReasonUnknown + func (s SignallingCloseReason) String() string + type SubscribedCodecQuality struct + CodecMime mime.MimeType + Quality livekit.VideoQuality + type SubscribedTrack interface + AddOnBind func(f func(error)) + Close func(isExpectedToResume bool) + DownTrack func() *sfu.DownTrack + ID func() livekit.TrackID + IsBound func() bool + IsMuted func() bool + MediaTrack func() MediaTrack + NeedsNegotiation func() bool + OnClose func(f func(isExpectedToResume bool)) + PublisherID func() livekit.ParticipantID + PublisherIdentity func() livekit.ParticipantIdentity + PublisherVersion func() uint32 + RTPSender func() *webrtc.RTPSender + SetPublisherMuted func(muted bool) + Subscriber func() LocalParticipant + SubscriberID func() livekit.ParticipantID + SubscriberIdentity func() livekit.ParticipantIdentity + UpdateSubscriberSettings func(settings *livekit.UpdateTrackSettings, isImmediate bool) + UpdateVideoLayer func() + type TrafficLoad struct + TrafficTypeStats []*TrafficTypeStats + type TrafficStats struct + Bytes uint64 + EndTime time.Time + Packets uint32 + PacketsLost uint32 + PacketsOutOfOrder uint32 + PacketsPadding uint32 + StartTime time.Time + func AggregateTrafficStats(statsList ...*TrafficStats) *TrafficStats + func RTPStatsDiffToTrafficStats(before, after *livekit.RTPStats) *TrafficStats + type TrafficTypeStats struct + StreamType livekit.StreamType + TrackType livekit.TrackType + TrafficStats *TrafficStats + type WebsocketClient interface + Close func() error + ReadMessage func() (messageType int, p []byte, err error) + SetReadDeadline func(deadline time.Time) error + WriteControl func(messageType int, data []byte, deadline time.Time) error + WriteMessage func(messageType int, data []byte) error