thingrtc

package module
v0.0.0-...-7a9d215 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 17, 2026 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Disconnected = iota
	Connecting
	Connected
)

Connection state.

View Source
const DEFAULT_DATA_CHANNEL_NAME = "default"

Variables

This section is empty.

Functions

This section is empty.

Types

type DataChannel

type DataChannel interface {
	SendStringMessage(message string)
	SendBinaryMessage(message []byte)

	OnStringMessage(listener func(message string))
	OnBinaryMessage(listener func(message []byte))

	Close()

	GetLabel() string

	AsStream() (io.ReadWriteCloser, error)
}

type MediaSource

type MediaSource struct {
	// contains filtered or unexported fields
}

func CreateRtspMediaSource

func CreateRtspMediaSource(rtspUrl string) (*MediaSource, error)

func CreateVideoMediaSource

func CreateVideoMediaSource(codec *codec.Codec, width, height int) (*MediaSource, error)

type Peer

type Peer interface {
	Connect()
	CreateDataChannel(label string, reliable bool) (DataChannel, error)
	Disconnect()

	OnConnectionStateChange(f func(connectionState int))
	OnDataChannel(f func(dataChannel DataChannel))
	OnError(f func(err error))
}

Peer represents a connection (attempted or actual) to a ThingRTC peer.

func NewPeer

func NewPeer(serverUrl string, serverAuth ServerAuth, peerConfig *peerconfig.PeerConfig, detachDataChannels bool) Peer

func NewPeerWithMedia

func NewPeerWithMedia(serverUrl string, serverAuth ServerAuth, peerConfig *peerconfig.PeerConfig, detachDataChannels bool, sources ...*MediaSource) Peer

type ServerAuth

type ServerAuth interface {
	GenerateToken() string
}

func CreateInsecureServerAuth

func CreateInsecureServerAuth(pairingId string, role peerconfig.Role) ServerAuth

type SignallingServer

type SignallingServer struct {
	URL        string
	ServerAuth ServerAuth
	PeerAuth   peerconfig.PeerAuth
	// contains filtered or unexported fields
}

SignallingServer handles signalling communications to establish a connection between peers. It is conceptually simple in that it can connect to a server (handling auth messages etc), send and receive messages, and disconnect from a server. If there are any failures in the connection or processing of messages, it will report these and return to a disconnected state.

func NewSignallingServer

func NewSignallingServer(serverUrl string, serverAuth ServerAuth, peerAuth peerconfig.PeerAuth) SignallingServer

func (*SignallingServer) Connect

func (s *SignallingServer) Connect()

Attempt to connect with a signalling server and exchange peer details.

func (*SignallingServer) Disconnect

func (s *SignallingServer) Disconnect()

func (*SignallingServer) OnAnswer

func (s *SignallingServer) OnAnswer(f func(answer webrtc.SessionDescription))

func (*SignallingServer) OnError

func (s *SignallingServer) OnError(f func(err error))

func (*SignallingServer) OnIceCandidate

func (s *SignallingServer) OnIceCandidate(f func(candidate webrtc.ICECandidateInit))

func (*SignallingServer) OnOffer

func (s *SignallingServer) OnOffer(f func(offer webrtc.SessionDescription))

func (*SignallingServer) OnPeerConnect

func (s *SignallingServer) OnPeerConnect(f func())

func (*SignallingServer) OnPeerDisconnect

func (s *SignallingServer) OnPeerDisconnect(f func())

func (*SignallingServer) SendAnswer

func (s *SignallingServer) SendAnswer(answer webrtc.SessionDescription)

func (*SignallingServer) SendIceCandidate

func (s *SignallingServer) SendIceCandidate(candidate webrtc.ICECandidateInit)

func (*SignallingServer) SendOffer

func (s *SignallingServer) SendOffer(offer webrtc.SessionDescription)

Directories

Path Synopsis
vp9
driver

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL