Documentation
¶
Index ¶
- Variables
- func NewHTTPHeaderWithToken(token string) http.Header
- func ToHttpURL(url string) string
- func ToWebsocketURL(url string) string
- type ConnectParams
- type SignalHandler
- type SignalHandlerParams
- type SignalProcessor
- type SignalTransport
- type SignalTransportHandler
- type SignalTransportWebSocketParams
- type Signalling
- type SignallingJoinRequestParams
- type SignallingParams
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrUnimplemented = errors.New("unimplemented") ErrURLNotProvided = errors.New("URL was not provided") ErrInvalidMessageType = errors.New("invalid message type") ErrInvalidParameter = errors.New("invalid parameter") ErrCannotDialSignal = errors.New("could not dial signal connection") )
Functions ¶
func NewHTTPHeaderWithToken ¶ added in v2.10.0
func ToWebsocketURL ¶
Types ¶
type ConnectParams ¶
type ConnectParams struct {
AutoSubscribe bool
Reconnect bool
DisableRegionDiscovery bool
RetransmitBufferSize uint16
Metadata string // See WithMetadata
Attributes map[string]string // See WithExtraAttributes
Pacer pacer.Factory
Interceptors []interceptor.Factory
ICETransportPolicy webrtc.ICETransportPolicy
}
type SignalHandler ¶
type SignalHandler interface {
SetLogger(l protoLogger.Logger)
HandleMessage(msg proto.Message) error
}
func NewSignalHandler ¶
func NewSignalHandler(params SignalHandlerParams) SignalHandler
type SignalHandlerParams ¶
type SignalHandlerParams struct {
Logger logger.Logger
Processor SignalProcessor
}
type SignalProcessor ¶
type SignalProcessor interface {
OnJoinResponse(joinResponse *livekit.JoinResponse) error
OnReconnectResponse(reconnectResponse *livekit.ReconnectResponse) error
OnAnswer(sd webrtc.SessionDescription, answerId uint32)
OnOffer(sd webrtc.SessionDescription, offerId uint32)
OnTrickle(init webrtc.ICECandidateInit, target livekit.SignalTarget)
OnParticipantUpdate([]*livekit.ParticipantInfo)
OnLocalTrackPublished(response *livekit.TrackPublishedResponse)
OnLocalTrackUnpublished(response *livekit.TrackUnpublishedResponse)
OnSpeakersChanged([]*livekit.SpeakerInfo)
OnConnectionQuality([]*livekit.ConnectionQualityInfo)
OnRoomUpdate(room *livekit.Room)
OnRoomMoved(moved *livekit.RoomMovedResponse)
OnTrackRemoteMuted(request *livekit.MuteTrackRequest)
OnTokenRefresh(refreshToken string)
OnLeave(*livekit.LeaveRequest)
OnLocalTrackSubscribed(trackSubscribed *livekit.TrackSubscribed)
OnSubscribedQualityUpdate(subscribedQualityUpdate *livekit.SubscribedQualityUpdate)
OnMediaSectionsRequirement(mediaSectionsRequirement *livekit.MediaSectionsRequirement)
}
type SignalTransport ¶
type SignalTransport interface {
SetLogger(l protoLogger.Logger)
Start()
IsStarted() bool
Close()
Join(
ctx context.Context,
url string,
token string,
connectParams ConnectParams,
addTrackRequests []*livekit.AddTrackRequest,
publisherOffer webrtc.SessionDescription,
) error
Reconnect(
url string,
token string,
connectParams ConnectParams,
participantSID string,
) error
SendMessage(msg proto.Message) error
}
func NewSignalTransportWebSocket ¶
func NewSignalTransportWebSocket(params SignalTransportWebSocketParams) SignalTransport
type SignalTransportHandler ¶
type SignalTransportHandler interface {
OnTransportClose()
}
type SignalTransportWebSocketParams ¶
type SignalTransportWebSocketParams struct {
Logger logger.Logger
Version string
Protocol int
Signalling Signalling
SignalTransportHandler SignalTransportHandler
SignalHandler SignalHandler
}
type Signalling ¶
type Signalling interface {
SetLogger(l protoLogger.Logger)
Path() string
ValidatePath() string
PublishInJoin() bool
ConnectQueryParams(
version string,
protocol int,
connectParams *ConnectParams,
addTrackRequests []*livekit.AddTrackRequest,
publisherOffer webrtc.SessionDescription,
participantSID string,
) (string, error)
HTTPRequestForValidate(
ctx context.Context,
version string,
protocol int,
urlPrefix string,
token string,
connectParams *ConnectParams,
participantSID string,
) (*http.Request, error)
DecodeErrorResponse(errorDetails []byte) string
SignalLeaveRequest(leave *livekit.LeaveRequest) proto.Message
SignalICECandidate(trickle *livekit.TrickleRequest) proto.Message
SignalSdpOffer(offer *livekit.SessionDescription) proto.Message
SignalSdpAnswer(answer *livekit.SessionDescription) proto.Message
SignalSimulateScenario(simulate *livekit.SimulateScenario) proto.Message
SignalMuteTrack(mute *livekit.MuteTrackRequest) proto.Message
SignalUpdateSubscription(updateSubscription *livekit.UpdateSubscription) proto.Message
SignalSyncState(syncState *livekit.SyncState) proto.Message
SignalAddTrack(addTrack *livekit.AddTrackRequest) proto.Message
SignalSubscriptionPermission(subscriptionPermission *livekit.SubscriptionPermission) proto.Message
SignalUpdateTrackSettings(settings *livekit.UpdateTrackSettings) proto.Message
SignalUpdateParticipantMetadata(metadata *livekit.UpdateParticipantMetadata) proto.Message
}
func NewSignalling ¶
func NewSignalling(params SignallingParams) Signalling
func NewSignallingJoinRequest ¶ added in v2.10.0
func NewSignallingJoinRequest(params SignallingJoinRequestParams) Signalling
type SignallingJoinRequestParams ¶ added in v2.10.0
type SignallingParams ¶
Click to show internal directories.
Click to hide internal directories.