Documentation
¶
Index ¶
- Variables
- func NewHeaderWithToken(token string) http.Header
- func ToHttpURL(url string) string
- func ToWebsocketURL(url string) string
- type ConnectParams
- type SignalHandler
- type SignalHandlerParams
- type SignalHandlerv2Params
- type SignalProcessor
- type SignalTransport
- type SignalTransportHandler
- type SignalTransportWebSocketParams
- type Signalling
- type SignallingParams
- type Signallingv2Params
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") ErrCannotConnectSignal = errors.New("could not establish signal connection") )
Functions ¶
func NewHeaderWithToken ¶
func ToWebsocketURL ¶
Types ¶
type ConnectParams ¶
type SignalHandler ¶
type SignalHandler interface {
SetLogger(l protoLogger.Logger)
HandleMessage(msg proto.Message) error
}
func NewSignalHandler ¶
func NewSignalHandler(params SignalHandlerParams) SignalHandler
func NewSignalHandlerv2 ¶
func NewSignalHandlerv2(params SignalHandlerv2Params) SignalHandler
type SignalHandlerParams ¶
type SignalHandlerParams struct {
Logger logger.Logger
Processor SignalProcessor
}
type SignalHandlerv2Params ¶
type SignalHandlerv2Params struct {
Logger logger.Logger
Processor SignalProcessor
Signalling Signalling
}
type SignalProcessor ¶
type SignalProcessor interface {
OnJoinResponse(joinResponse *livekit.JoinResponse)
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)
}
type SignalTransport ¶
type SignalTransport interface {
SetLogger(l protoLogger.Logger)
Start()
IsStarted() bool
Close()
Join(
ctx context.Context,
url string,
token string,
connectParams ConnectParams,
) (proto.Message, error)
Reconnect(
urlPrefix string,
token string,
connectParams ConnectParams,
participantSID string,
) (proto.Message, 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
SignalTransportHandler SignalTransportHandler
SignalHandler SignalHandler
}
type Signalling ¶
type Signalling interface {
SetLogger(l protoLogger.Logger)
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
AckMessageId(ackMessageId uint32)
SetLastProcessedRemoteMessageId(lastProcessedRemoteMessageId uint32)
}
func NewSignalling ¶
func NewSignalling(params SignallingParams) Signalling
func NewSignallingv2 ¶
func NewSignallingv2(params Signallingv2Params) Signalling
type SignallingParams ¶
type Signallingv2Params ¶
Click to show internal directories.
Click to hide internal directories.