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 ¶
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 *media_router.JoinResponse) error
OnReconnectResponse(reconnectResponse *media_router.ReconnectResponse) error
OnAnswer(sd webrtc.SessionDescription, answerId uint32)
OnOffer(sd webrtc.SessionDescription, offerId uint32)
OnTrickle(init webrtc.ICECandidateInit, target media_router.SignalTarget)
OnParticipantUpdate([]*media_router.ParticipantInfo)
OnLocalTrackPublished(response *media_router.TrackPublishedResponse)
OnLocalTrackUnpublished(response *media_router.TrackUnpublishedResponse)
OnSpeakersChanged([]*media_router.SpeakerInfo)
OnConnectionQuality([]*media_router.ConnectionQualityInfo)
OnRoomUpdate(room *media_router.Room)
OnRoomMoved(moved *media_router.RoomMovedResponse)
OnTrackRemoteMuted(request *media_router.MuteTrackRequest)
OnTokenRefresh(refreshToken string)
OnLeave(*media_router.LeaveRequest)
OnLocalTrackSubscribed(trackSubscribed *media_router.TrackSubscribed)
OnSubscribedQualityUpdate(subscribedQualityUpdate *media_router.SubscribedQualityUpdate)
}
type SignalTransport ¶
type SignalTransport interface {
SetLogger(l protoLogger.Logger)
Start()
IsStarted() bool
Close()
Join(
ctx context.Context,
url string,
token string,
connectParams ConnectParams,
addTrackRequests []*media_router.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 []*media_router.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 *media_router.LeaveRequest) proto.Message
SignalICECandidate(trickle *media_router.TrickleRequest) proto.Message
SignalSdpOffer(offer *media_router.SessionDescription) proto.Message
SignalSdpAnswer(answer *media_router.SessionDescription) proto.Message
SignalSimulateScenario(simulate *media_router.SimulateScenario) proto.Message
SignalMuteTrack(mute *media_router.MuteTrackRequest) proto.Message
SignalUpdateSubscription(updateSubscription *media_router.UpdateSubscription) proto.Message
SignalSyncState(syncState *media_router.SyncState) proto.Message
SignalAddTrack(addTrack *media_router.AddTrackRequest) proto.Message
SignalSubscriptionPermission(subscriptionPermission *media_router.SubscriptionPermission) proto.Message
SignalUpdateTrackSettings(settings *media_router.UpdateTrackSettings) proto.Message
SignalUpdateParticipantMetadata(metadata *media_router.UpdateParticipantMetadata) proto.Message
}
func NewSignalling ¶
func NewSignalling(params SignallingParams) Signalling
func NewSignallingJoinRequest ¶
func NewSignallingJoinRequest(params SignallingJoinRequestParams) Signalling
type SignallingParams ¶
Click to show internal directories.
Click to hide internal directories.