Versions in this module Expand all Collapse all v2 v2.0.0 Jan 2, 2025 Changes in this version + const LIVEKIT_HKDF_INFO_BYTES + const LIVEKIT_IV_LENGTH + const LIVEKIT_KEY_SIZE_BYTES + const LIVEKIT_PBKDF_ITERATIONS + const LIVEKIT_SDK_SALT + const PROTOCOL + const ParticipantAgent + const ParticipantEgress + const ParticipantIngress + const ParticipantSIP + const ParticipantStandard + const SimulateSpeakerUpdateInterval + const Version + var ErrAborted = errors.New("operation was aborted") + var ErrCannotConnectSignal = errors.New("could not establish signal connection") + var ErrCannotDetermineMime = errors.New("cannot determine mimetype from file extension") + var ErrCannotDialSignal = errors.New("could not dial signal connection") + var ErrCannotFindTrack = errors.New("could not find the track") + var ErrConnectionTimeout = errors.New("could not connect after timeout") + var ErrIncorrectIVLength = errors.New("incorrect iv length") + var ErrIncorrectKeyLength = errors.New("incorrect key length for encryption/decryption") + var ErrIncorrectSaltLength = errors.New("input salt provided to derivation function cannot be empty or nil") + var ErrIncorrectSecretLength = errors.New("input secret provided to derivation function cannot be empty or nil") + var ErrInvalidParameter = errors.New("invalid parameter") + var ErrInvalidSimulcastTrack = errors.New("simulcast track was not initiated correctly") + var ErrNoPeerConnection = errors.New("peer connection not established") + var ErrTrackPublishTimeout = errors.New("timed out publishing track") + var ErrURLNotProvided = errors.New("URL was not provided") + var ErrUnableGenerateIV = errors.New("unable to generate iv for encryption") + var ErrUnsupportedFileType = errors.New("ReaderSampleProvider does not support this mime type") + var ErrUnsupportedSimulcastKind = errors.New("simulcast is only supported for video") + func DecryptGCMAudioSample(sample, key, sifTrailer []byte) ([]byte, error) + func DeriveKeyFromBytes(secret []byte) ([]byte, error) + func DeriveKeyFromBytesCustomSalt(secret []byte, salt string) ([]byte, error) + func DeriveKeyFromString(password string) ([]byte, error) + func DeriveKeyFromStringCustomSalt(password, salt string) ([]byte, error) + func EncryptGCMAudioSample(sample, key []byte, kid uint8) ([]byte, error) + func FromProtoIceServers(iceservers []*livekit.ICEServer) []webrtc.ICEServer + func FromProtoSessionDescription(sd *livekit.SessionDescription) webrtc.SessionDescription + func FromProtoTrickle(trickle *livekit.TrickleRequest) webrtc.ICECandidateInit + func ReaderTrackWithFrameDuration(duration time.Duration) func(provider *ReaderSampleProvider) + func ReaderTrackWithMime(mime string) func(provider *ReaderSampleProvider) + func ReaderTrackWithOnWriteComplete(f func()) func(provider *ReaderSampleProvider) + func ReaderTrackWithRTCPHandler(f func(rtcp.Packet)) func(provider *ReaderSampleProvider) + func ReaderTrackWithSampleOptions(opts ...LocalTrackOptions) func(provider *ReaderSampleProvider) + func SetLogger(l protoLogger.Logger) + func ToHttpURL(url string) string + func ToProtoSessionDescription(sd webrtc.SessionDescription) *livekit.SessionDescription + func ToProtoTrickle(candidateInit webrtc.ICECandidateInit, target livekit.SignalTarget) *livekit.TrickleRequest + func ToWebsocketURL(url string) string + type AgentDispatchClient struct + func NewAgentDispatchServiceClient(url string, apiKey string, secretKey string, opts ...twirp.ClientOption) *AgentDispatchClient + func (c *AgentDispatchClient) CreateDispatch(ctx context.Context, req *livekit.CreateAgentDispatchRequest) (*livekit.AgentDispatch, error) + func (c *AgentDispatchClient) DeleteDispatch(ctx context.Context, req *livekit.DeleteAgentDispatchRequest) (*livekit.AgentDispatch, error) + func (c *AgentDispatchClient) ListDispatch(ctx context.Context, req *livekit.ListAgentDispatchRequest) (*livekit.ListAgentDispatchResponse, error) + type AudioSampleProvider interface + CurrentAudioLevel func() uint8 + type BaseSampleProvider struct + func (p *BaseSampleProvider) Close() error + func (p *BaseSampleProvider) OnBind() error + func (p *BaseSampleProvider) OnUnbind() error + type ConnectInfo struct + APIKey string + APISecret string + ParticipantAttributes map[string]string + ParticipantIdentity string + ParticipantKind ParticipantKind + ParticipantMetadata string + ParticipantName string + RoomName string + type ConnectOption func(*SignalClientConnectParams) + func WithAutoSubscribe(val bool) ConnectOption + func WithDisableRegionDiscovery() ConnectOption + func WithICETransportPolicy(iceTransportPolicy webrtc.ICETransportPolicy) ConnectOption + func WithInterceptors(interceptors []interceptor.Factory) ConnectOption + func WithPacer(pacer pacer.Factory) ConnectOption + func WithRetransmitBufferSize(val uint16) ConnectOption + type ConnectionState string + const ConnectionStateConnected + const ConnectionStateDisconnected + const ConnectionStateReconnecting + type DataPacket interface + ToProto func() *livekit.DataPacket + type DataPublishOption func(*dataPublishOptions) + func WithDataPublishDestination(identities []string) DataPublishOption + func WithDataPublishReliable(reliable bool) DataPublishOption + func WithDataPublishTopic(topic string) DataPublishOption + type DataReceiveParams struct + Sender *RemoteParticipant + SenderIdentity string + Topic string + type DisconnectionReason string + const Failed + const LeaveRequested + const RejectedByUser + const UserUnavailable + func GetDisconnectionReason(reason livekit.DisconnectReason) DisconnectionReason + type EgressClient struct + func NewEgressClient(url string, apiKey string, secretKey string, opts ...twirp.ClientOption) *EgressClient + func (c *EgressClient) ListEgress(ctx context.Context, req *livekit.ListEgressRequest) (*livekit.ListEgressResponse, error) + func (c *EgressClient) StartParticipantEgress(ctx context.Context, req *livekit.ParticipantEgressRequest) (*livekit.EgressInfo, error) + func (c *EgressClient) StartRoomCompositeEgress(ctx context.Context, req *livekit.RoomCompositeEgressRequest) (*livekit.EgressInfo, error) + func (c *EgressClient) StartTrackCompositeEgress(ctx context.Context, req *livekit.TrackCompositeEgressRequest) (*livekit.EgressInfo, error) + func (c *EgressClient) StartTrackEgress(ctx context.Context, req *livekit.TrackEgressRequest) (*livekit.EgressInfo, error) + func (c *EgressClient) StartWebEgress(ctx context.Context, req *livekit.WebEgressRequest) (*livekit.EgressInfo, error) + func (c *EgressClient) StopEgress(ctx context.Context, req *livekit.StopEgressRequest) (*livekit.EgressInfo, error) + func (c *EgressClient) UpdateLayout(ctx context.Context, req *livekit.UpdateLayoutRequest) (*livekit.EgressInfo, error) + func (c *EgressClient) UpdateStream(ctx context.Context, req *livekit.UpdateStreamRequest) (*livekit.EgressInfo, error) + type IngressClient struct + func NewIngressClient(url string, apiKey string, secretKey string, opts ...twirp.ClientOption) *IngressClient + func (c *IngressClient) CreateIngress(ctx context.Context, in *livekit.CreateIngressRequest) (*livekit.IngressInfo, error) + func (c *IngressClient) DeleteIngress(ctx context.Context, in *livekit.DeleteIngressRequest) (*livekit.IngressInfo, error) + func (c *IngressClient) ListIngress(ctx context.Context, in *livekit.ListIngressRequest) (*livekit.ListIngressResponse, error) + func (c *IngressClient) UpdateIngress(ctx context.Context, in *livekit.UpdateIngressRequest) (*livekit.IngressInfo, error) + type LocalParticipant struct + func (p *LocalParticipant) Attributes() map[string]string + func (p *LocalParticipant) AudioLevel() float32 + func (p *LocalParticipant) GetPublisherPeerConnection() *webrtc.PeerConnection + func (p *LocalParticipant) GetSubscriberPeerConnection() *webrtc.PeerConnection + func (p *LocalParticipant) GetTrackPublication(source livekit.TrackSource) TrackPublication + func (p *LocalParticipant) Identity() string + func (p *LocalParticipant) IsCameraEnabled() bool + func (p *LocalParticipant) IsMicrophoneEnabled() bool + func (p *LocalParticipant) IsScreenShareAudioEnabled() bool + func (p *LocalParticipant) IsScreenShareEnabled() bool + func (p *LocalParticipant) IsSpeaking() bool + func (p *LocalParticipant) Kind() ParticipantKind + func (p *LocalParticipant) Metadata() string + func (p *LocalParticipant) Name() string + func (p *LocalParticipant) Permissions() *livekit.ParticipantPermission + func (p *LocalParticipant) PublishData(payload []byte, opts ...DataPublishOption) error + func (p *LocalParticipant) PublishDataPacket(pck DataPacket, opts ...DataPublishOption) error + func (p *LocalParticipant) PublishSimulcastTrack(tracks []*LocalTrack, opts *TrackPublicationOptions) (*LocalTrackPublication, error) + func (p *LocalParticipant) PublishTrack(track webrtc.TrackLocal, opts *TrackPublicationOptions) (*LocalTrackPublication, error) + func (p *LocalParticipant) SID() string + func (p *LocalParticipant) SetAttributes(attrs map[string]string) + func (p *LocalParticipant) SetMetadata(metadata string) + func (p *LocalParticipant) SetName(name string) + func (p *LocalParticipant) SetSubscriptionPermission(sp *livekit.SubscriptionPermission) + func (p *LocalParticipant) TrackPublications() []TrackPublication + func (p *LocalParticipant) UnpublishTrack(sid string) error + type LocalSampleTrack = LocalTrack + type LocalSampleTrackOptions = LocalTrackOptions + type LocalTrack struct + func NewLocalFileTrack(file string, options ...ReaderSampleProviderOption) (*LocalTrack, error) + func NewLocalReaderTrack(in io.ReadCloser, mime string, options ...ReaderSampleProviderOption) (*LocalTrack, error) + func NewLocalSampleTrack(c webrtc.RTPCodecCapability, opts ...LocalTrackOptions) (*LocalTrack, error) + func NewLocalTrack(c webrtc.RTPCodecCapability, opts ...LocalTrackOptions) (*LocalTrack, error) + func (s *LocalTrack) Bind(t webrtc.TrackLocalContext) (webrtc.RTPCodecParameters, error) + func (s *LocalTrack) Close() error + func (s *LocalTrack) Codec() webrtc.RTPCodecCapability + func (s *LocalTrack) ID() string + func (s *LocalTrack) IsBound() bool + func (s *LocalTrack) Kind() webrtc.RTPCodecType + func (s *LocalTrack) OnBind(f func()) + func (s *LocalTrack) OnUnbind(f func()) + func (s *LocalTrack) RID() string + func (s *LocalTrack) SSRC() webrtc.SSRC + func (s *LocalTrack) SetLogger(l protoLogger.Logger) + func (s *LocalTrack) SetTransceiver(transceiver *webrtc.RTPTransceiver) + func (s *LocalTrack) StartWrite(provider SampleProvider, onComplete func()) error + func (s *LocalTrack) StreamID() string + func (s *LocalTrack) Unbind(t webrtc.TrackLocalContext) error + func (s *LocalTrack) WriteRTP(p *rtp.Packet, opts *SampleWriteOptions) error + func (s *LocalTrack) WriteSample(sample media.Sample, opts *SampleWriteOptions) error + type LocalTrackOptions func(s *LocalTrack) + func WithRTCPHandler(cb func(rtcp.Packet)) LocalTrackOptions + func WithSimulcast(simulcastID string, layer *livekit.VideoLayer) LocalTrackOptions + type LocalTrackPublication struct + func NewLocalTrackPublication(kind TrackKind, track Track, opts TrackPublicationOptions, ...) *LocalTrackPublication + func (p *LocalTrackPublication) CloseTrack() + func (p *LocalTrackPublication) GetSimulcastTrack(quality livekit.VideoQuality) *LocalTrack + func (p *LocalTrackPublication) IsMuted() bool + func (p *LocalTrackPublication) IsSubscribed() bool + func (p *LocalTrackPublication) Kind() TrackKind + func (p *LocalTrackPublication) MimeType() string + func (p *LocalTrackPublication) Name() string + func (p *LocalTrackPublication) PublicationOptions() TrackPublicationOptions + func (p *LocalTrackPublication) SID() string + func (p *LocalTrackPublication) SetMuted(muted bool) + func (p *LocalTrackPublication) SimulateDisconnection(duration time.Duration) + func (p *LocalTrackPublication) Source() livekit.TrackSource + func (p *LocalTrackPublication) Track() Track + func (p *LocalTrackPublication) TrackInfo() *livekit.TrackInfo + func (p *LocalTrackPublication) TrackLocal() webrtc.TrackLocal + type LocalTrackWithClose interface + Close func() error + type NullSampleProvider struct + BytesPerSample uint32 + SampleDuration time.Duration + func NewNullSampleProvider(bitrate uint32) *NullSampleProvider + func (p *NullSampleProvider) NextSample(ctx context.Context) (media.Sample, error) + type PCTransport struct + OnOffer func(description webrtc.SessionDescription) + func NewPCTransport(params PCTransportParams) (*PCTransport, error) + func NewPCTransportMine(params PCTransportParams, codecSelector *mediadevices.CodecSelector) (*PCTransport, error) + func (t *PCTransport) AddICECandidate(candidate webrtc.ICECandidateInit) error + func (t *PCTransport) Close() error + func (t *PCTransport) GetSelectedCandidatePair() (*webrtc.ICECandidatePair, error) + func (t *PCTransport) IsConnected() bool + func (t *PCTransport) Negotiate() + func (t *PCTransport) OnRemoteDescriptionSettled(f func() error) + func (t *PCTransport) PeerConnection() *webrtc.PeerConnection + func (t *PCTransport) SetConfiguration(config webrtc.Configuration) error + func (t *PCTransport) SetLogger(l protoLogger.Logger) + func (t *PCTransport) SetRTT(rtt uint32) + func (t *PCTransport) SetRemoteDescription(sd webrtc.SessionDescription) error + type PCTransportParams struct + Configuration webrtc.Configuration + Interceptors []interceptor.Factory + IsSender bool + OnRTTUpdate func(rtt uint32) + Pacer pacer.Factory + RetransmitBufferSize uint16 + type PLIWriter func(webrtc.SSRC) + type Participant interface + Attributes func() map[string]string + AudioLevel func() float32 + GetTrackPublication func(source livekit.TrackSource) TrackPublication + Identity func() string + IsCameraEnabled func() bool + IsMicrophoneEnabled func() bool + IsScreenShareAudioEnabled func() bool + IsScreenShareEnabled func() bool + IsSpeaking func() bool + Kind func() ParticipantKind + Metadata func() string + Name func() string + Permissions func() *livekit.ParticipantPermission + SID func() string + TrackPublications func() []TrackPublication + type ParticipantAttributesChangedFunc func(changed map[string]string, p Participant) + type ParticipantCallback struct + OnAttributesChanged ParticipantAttributesChangedFunc + OnConnectionQualityChanged func(update *livekit.ConnectionQualityInfo, p Participant) + OnDataPacket func(data DataPacket, params DataReceiveParams) + OnDataReceived func(data []byte, params DataReceiveParams) + OnIsSpeakingChanged func(p Participant) + OnLocalTrackPublished func(publication *LocalTrackPublication, lp *LocalParticipant) + OnLocalTrackUnpublished func(publication *LocalTrackPublication, lp *LocalParticipant) + OnMetadataChanged func(oldMetadata string, p Participant) + OnTrackMuted func(pub TrackPublication, p Participant) + OnTrackPublished func(publication *RemoteTrackPublication, rp *RemoteParticipant) + OnTrackSubscribed func(track *webrtc.TrackRemote, publication *RemoteTrackPublication, ...) + OnTrackSubscriptionFailed func(sid string, rp *RemoteParticipant) + OnTrackUnmuted func(pub TrackPublication, p Participant) + OnTrackUnpublished func(publication *RemoteTrackPublication, rp *RemoteParticipant) + OnTrackUnsubscribed func(track *webrtc.TrackRemote, publication *RemoteTrackPublication, ...) + OnTranscriptionReceived func(transcriptionSegments []*TranscriptionSegment, p Participant, ...) + func NewParticipantCallback() *ParticipantCallback + func (cb *ParticipantCallback) Merge(other *ParticipantCallback) + type ParticipantKind int + type PubCallback func(pub TrackPublication, participant *RemoteParticipant) + type RTCEngine struct + CbGetLocalParticipantSID func() string + JoinTimeout time.Duration + OnConnectionQuality func([]*livekit.ConnectionQualityInfo) + OnDataPacket func(identity string, dataPacket DataPacket) + OnDataReceived func(userPacket *livekit.UserPacket) + OnDisconnected func(reason DisconnectionReason) + OnLocalTrackUnpublished func(response *livekit.TrackUnpublishedResponse) + OnMediaTrack func(track *webrtc.TrackRemote, receiver *webrtc.RTPReceiver) + OnParticipantUpdate func([]*livekit.ParticipantInfo) + OnRestarted func(*livekit.JoinResponse) + OnRestarting func() + OnResumed func() + OnResuming func() + OnRoomUpdate func(room *livekit.Room) + OnSpeakersChanged func([]*livekit.SpeakerInfo) + OnTrackRemoteMuted func(request *livekit.MuteTrackRequest) + OnTranscription func(*livekit.Transcription) + func NewRTCEngine() *RTCEngine + func (e *RTCEngine) Close() + func (e *RTCEngine) GetDataChannel(kind livekit.DataPacket_Kind) *webrtc.DataChannel + func (e *RTCEngine) GetDataChannelSub(kind livekit.DataPacket_Kind) *webrtc.DataChannel + func (e *RTCEngine) IsConnected() bool + func (e *RTCEngine) Join(url string, token string, params *SignalClientConnectParams) (*livekit.JoinResponse, error) + func (e *RTCEngine) JoinMine(url string, token string, params *SignalClientConnectParams, ...) (*livekit.JoinResponse, error) + func (e *RTCEngine) Publisher() (*PCTransport, bool) + func (e *RTCEngine) RegisterTrackPublishedListener(cid string, c chan *livekit.TrackPublishedResponse) + func (e *RTCEngine) SetLogger(l protoLogger.Logger) + func (e *RTCEngine) Subscriber() (*PCTransport, bool) + func (e *RTCEngine) UnregisterTrackPublishedListener(cid string) + type ReaderSampleProvider struct + AudioLevel uint8 + FrameDuration time.Duration + Mime string + OnWriteComplete func() + func (p *ReaderSampleProvider) Close() error + func (p *ReaderSampleProvider) CurrentAudioLevel() uint8 + func (p *ReaderSampleProvider) NextSample(ctx context.Context) (media.Sample, error) + func (p *ReaderSampleProvider) OnBind() error + func (p *ReaderSampleProvider) OnUnbind() error + type ReaderSampleProviderOption func(*ReaderSampleProvider) + type RemoteParticipant struct + func (p *RemoteParticipant) Attributes() map[string]string + func (p *RemoteParticipant) AudioLevel() float32 + func (p *RemoteParticipant) GetTrackPublication(source livekit.TrackSource) TrackPublication + func (p *RemoteParticipant) Identity() string + func (p *RemoteParticipant) IsCameraEnabled() bool + func (p *RemoteParticipant) IsMicrophoneEnabled() bool + func (p *RemoteParticipant) IsScreenShareAudioEnabled() bool + func (p *RemoteParticipant) IsScreenShareEnabled() bool + func (p *RemoteParticipant) IsSpeaking() bool + func (p *RemoteParticipant) Kind() ParticipantKind + func (p *RemoteParticipant) Metadata() string + func (p *RemoteParticipant) Name() string + func (p *RemoteParticipant) Permissions() *livekit.ParticipantPermission + func (p *RemoteParticipant) SID() string + func (p *RemoteParticipant) TrackPublications() []TrackPublication + func (p *RemoteParticipant) WritePLI(ssrc webrtc.SSRC) + type RemoteTrackPublication struct + func (p *RemoteTrackPublication) IsEnabled() bool + func (p *RemoteTrackPublication) IsMuted() bool + func (p *RemoteTrackPublication) IsSubscribed() bool + func (p *RemoteTrackPublication) Kind() TrackKind + func (p *RemoteTrackPublication) MimeType() string + func (p *RemoteTrackPublication) Name() string + func (p *RemoteTrackPublication) OnRTCP(cb func(rtcp.Packet)) + func (p *RemoteTrackPublication) Receiver() *webrtc.RTPReceiver + func (p *RemoteTrackPublication) SID() string + func (p *RemoteTrackPublication) SetEnabled(enabled bool) + func (p *RemoteTrackPublication) SetSubscribed(subscribed bool) error + func (p *RemoteTrackPublication) SetVideoDimensions(width uint32, height uint32) + func (p *RemoteTrackPublication) SetVideoQuality(quality livekit.VideoQuality) error + func (p *RemoteTrackPublication) Source() livekit.TrackSource + func (p *RemoteTrackPublication) Track() Track + func (p *RemoteTrackPublication) TrackInfo() *livekit.TrackInfo + func (p *RemoteTrackPublication) TrackRemote() *webrtc.TrackRemote + type Room struct + LocalParticipant *LocalParticipant + func ConnectToRoom(url string, info ConnectInfo, callback *RoomCallback, opts ...ConnectOption) (*Room, error) + func ConnectToRoomMine(url string, info ConnectInfo, codecSelector *mediadevices.CodecSelector, ...) (*Room, error) + func ConnectToRoomWithToken(url, token string, callback *RoomCallback, opts ...ConnectOption) (*Room, error) + func ConnectToRoomWithTokenMine(url, token string, callback *RoomCallback, ...) (*Room, error) + func NewRoom(callback *RoomCallback) *Room + func (r *Room) ActiveSpeakers() []Participant + func (r *Room) ConnectionState() ConnectionState + func (r *Room) Disconnect() + func (r *Room) DisconnectWithReason(reason livekit.DisconnectReason) + func (r *Room) GetParticipantByIdentity(identity string) *RemoteParticipant + func (r *Room) GetParticipantBySID(sid string) *RemoteParticipant + func (r *Room) GetRemoteParticipants() []*RemoteParticipant + func (r *Room) Join(url string, info ConnectInfo, opts ...ConnectOption) error + func (r *Room) JoinMine(url string, info ConnectInfo, codecSelector *mediadevices.CodecSelector, ...) error + func (r *Room) JoinWithToken(url, token string, opts ...ConnectOption) error + func (r *Room) JoinWithTokenMine(url, token string, codecSelector *mediadevices.CodecSelector, ...) error + func (r *Room) Metadata() string + func (r *Room) Name() string + func (r *Room) PrepareConnection(url, token string) error + func (r *Room) SID() string + func (r *Room) ServerInfo() *livekit.ServerInfo + func (r *Room) SetLogger(l protoLogger.Logger) + func (r *Room) SifTrailer() []byte + func (r *Room) Simulate(scenario SimulateScenario) + type RoomCallback struct + OnActiveSpeakersChanged func([]Participant) + OnDisconnected func() + OnDisconnectedWithReason func(reason DisconnectionReason) + OnParticipantConnected func(*RemoteParticipant) + OnParticipantDisconnected func(*RemoteParticipant) + OnReconnected func() + OnReconnecting func() + OnRoomMetadataChanged func(metadata string) + func NewRoomCallback() *RoomCallback + func (cb *RoomCallback) Merge(other *RoomCallback) + type RoomServiceClient struct + func NewRoomServiceClient(url string, apiKey string, secretKey string, opts ...twirp.ClientOption) *RoomServiceClient + func (c *RoomServiceClient) CreateRoom(ctx context.Context, req *livekit.CreateRoomRequest) (*livekit.Room, error) + func (c *RoomServiceClient) CreateToken() *auth.AccessToken + func (c *RoomServiceClient) DeleteRoom(ctx context.Context, req *livekit.DeleteRoomRequest) (*livekit.DeleteRoomResponse, error) + func (c *RoomServiceClient) GetParticipant(ctx context.Context, req *livekit.RoomParticipantIdentity) (*livekit.ParticipantInfo, error) + func (c *RoomServiceClient) ListParticipants(ctx context.Context, req *livekit.ListParticipantsRequest) (*livekit.ListParticipantsResponse, error) + func (c *RoomServiceClient) ListRooms(ctx context.Context, req *livekit.ListRoomsRequest) (*livekit.ListRoomsResponse, error) + func (c *RoomServiceClient) MutePublishedTrack(ctx context.Context, req *livekit.MuteRoomTrackRequest) (*livekit.MuteRoomTrackResponse, error) + func (c *RoomServiceClient) RemoveParticipant(ctx context.Context, req *livekit.RoomParticipantIdentity) (*livekit.RemoveParticipantResponse, error) + func (c *RoomServiceClient) SendData(ctx context.Context, req *livekit.SendDataRequest) (*livekit.SendDataResponse, error) + func (c *RoomServiceClient) UpdateParticipant(ctx context.Context, req *livekit.UpdateParticipantRequest) (*livekit.ParticipantInfo, error) + func (c *RoomServiceClient) UpdateRoomMetadata(ctx context.Context, req *livekit.UpdateRoomMetadataRequest) (*livekit.Room, error) + func (c *RoomServiceClient) UpdateSubscriptions(ctx context.Context, req *livekit.UpdateSubscriptionsRequest) (*livekit.UpdateSubscriptionsResponse, error) + type SIPClient struct + func NewSIPClient(url string, apiKey string, secretKey string, opts ...twirp.ClientOption) *SIPClient + func (s *SIPClient) CreateSIPDispatchRule(ctx context.Context, in *livekit.CreateSIPDispatchRuleRequest) (*livekit.SIPDispatchRuleInfo, error) + func (s *SIPClient) CreateSIPInboundTrunk(ctx context.Context, in *livekit.CreateSIPInboundTrunkRequest) (*livekit.SIPInboundTrunkInfo, error) + func (s *SIPClient) CreateSIPOutboundTrunk(ctx context.Context, in *livekit.CreateSIPOutboundTrunkRequest) (*livekit.SIPOutboundTrunkInfo, error) + func (s *SIPClient) CreateSIPParticipant(ctx context.Context, in *livekit.CreateSIPParticipantRequest) (*livekit.SIPParticipantInfo, error) + func (s *SIPClient) DeleteSIPDispatchRule(ctx context.Context, in *livekit.DeleteSIPDispatchRuleRequest) (*livekit.SIPDispatchRuleInfo, error) + func (s *SIPClient) DeleteSIPTrunk(ctx context.Context, in *livekit.DeleteSIPTrunkRequest) (*livekit.SIPTrunkInfo, error) + func (s *SIPClient) ListSIPDispatchRule(ctx context.Context, in *livekit.ListSIPDispatchRuleRequest) (*livekit.ListSIPDispatchRuleResponse, error) + func (s *SIPClient) ListSIPInboundTrunk(ctx context.Context, in *livekit.ListSIPInboundTrunkRequest) (*livekit.ListSIPInboundTrunkResponse, error) + func (s *SIPClient) ListSIPOutboundTrunk(ctx context.Context, in *livekit.ListSIPOutboundTrunkRequest) (*livekit.ListSIPOutboundTrunkResponse, error) + func (s *SIPClient) ListSIPTrunk(ctx context.Context, in *livekit.ListSIPTrunkRequest) (*livekit.ListSIPTrunkResponse, error) + func (s *SIPClient) TransferSIPParticipant(ctx context.Context, in *livekit.TransferSIPParticipantRequest) (*emptypb.Empty, error) + type SampleProvider interface + Close func() error + NextSample func(context.Context) (media.Sample, error) + OnBind func() error + OnUnbind func() error + type SampleWriteOptions struct + AudioLevel *uint8 + type SignalClient struct + OnAnswer func(sd webrtc.SessionDescription) + OnClose func() + OnConnectionQuality func([]*livekit.ConnectionQualityInfo) + OnLeave func(*livekit.LeaveRequest) + OnLocalTrackPublished func(response *livekit.TrackPublishedResponse) + OnLocalTrackUnpublished func(response *livekit.TrackUnpublishedResponse) + OnOffer func(sd webrtc.SessionDescription) + OnParticipantUpdate func([]*livekit.ParticipantInfo) + OnRoomUpdate func(room *livekit.Room) + OnSpeakersChanged func([]*livekit.SpeakerInfo) + OnTokenRefresh func(refreshToken string) + OnTrackRemoteMuted func(request *livekit.MuteTrackRequest) + OnTrickle func(init webrtc.ICECandidateInit, target livekit.SignalTarget) + func NewSignalClient() *SignalClient + func (c *SignalClient) Close() + func (c *SignalClient) IsStarted() bool + func (c *SignalClient) Join(urlPrefix string, token string, params SignalClientConnectParams) (*livekit.JoinResponse, error) + func (c *SignalClient) Reconnect(urlPrefix string, token string, params SignalClientConnectParams, ...) (*livekit.ReconnectResponse, error) + func (c *SignalClient) SendAnswer(sd webrtc.SessionDescription) error + func (c *SignalClient) SendICECandidate(candidate webrtc.ICECandidateInit, target livekit.SignalTarget) error + func (c *SignalClient) SendLeave() error + func (c *SignalClient) SendLeaveWithReason(reason livekit.DisconnectReason) error + func (c *SignalClient) SendMuteTrack(sid string, muted bool) error + func (c *SignalClient) SendOffer(sd webrtc.SessionDescription) error + func (c *SignalClient) SendRequest(req *livekit.SignalRequest) error + func (c *SignalClient) SendSyncState(state *livekit.SyncState) error + func (c *SignalClient) SendUpdateParticipantMetadata(metadata *livekit.UpdateParticipantMetadata) error + func (c *SignalClient) SendUpdateTrackSettings(settings *livekit.UpdateTrackSettings) error + func (c *SignalClient) SetLogger(l protoLogger.Logger) + func (c *SignalClient) Start() + type SignalClientConnectParams struct + AutoSubscribe bool + DisableRegionDiscovery bool + ICETransportPolicy webrtc.ICETransportPolicy + Interceptors []interceptor.Factory + Pacer pacer.Factory + Reconnect bool + RetransmitBufferSize uint16 + type SimulateScenario int + const SimulateForceTCP + const SimulateForceTLS + const SimulateMigration + const SimulateNodeFailure + const SimulateServerLeave + const SimulateSignalReconnect + const SimulateSpeakerUpdate + type SimulcastTrack struct + func NewSimulcastTrack(trackLocal webrtc.TrackLocal, videoLayer *livekit.VideoLayer) *SimulcastTrack + func (t *SimulcastTrack) Quality() livekit.VideoQuality + func (t *SimulcastTrack) TrackLocal() webrtc.TrackLocal + func (t *SimulcastTrack) VideoLayer() *livekit.VideoLayer + type Track interface + ID func() string + type TrackKind string + const TrackKindAudio + const TrackKindVideo + func KindFromRTPType(rt webrtc.RTPCodecType) TrackKind + func (k TrackKind) ProtoType() livekit.TrackType + func (k TrackKind) RTPType() webrtc.RTPCodecType + func (k TrackKind) String() string + type TrackPubCallback func(track Track, pub TrackPublication, participant *RemoteParticipant) + type TrackPublication interface + IsMuted func() bool + IsSubscribed func() bool + Kind func() TrackKind + MimeType func() string + Name func() string + SID func() string + Source func() livekit.TrackSource + Track func() Track + TrackInfo func() *livekit.TrackInfo + type TrackPublicationOptions struct + DisableDTX bool + Encryption livekit.Encryption_Type + Name string + Source livekit.TrackSource + Stereo bool + Stream string + VideoHeight int + VideoWidth int + type TranscriptionSegment struct + EndTime uint64 + Final bool + ID string + Language string + StartTime uint64 + Text string + func ExtractTranscriptionSegments(transcription *livekit.Transcription) []*TranscriptionSegment + type UserDataPacket struct + Payload []byte + Topic string + func UserData(data []byte) *UserDataPacket + func (p *UserDataPacket) ToProto() *livekit.DataPacket