Archived
2
0

Automatic SDP negotiation (#103)

This commit is contained in:
Miroslav Šedivý
2021-12-02 23:43:36 +01:00
parent a8542bc222
commit fed6ddbd4e
13 changed files with 232 additions and 47 deletions

View File

@ -6,8 +6,8 @@ const (
)
const (
SIGNAL_ANSWER = "signal/answer"
SIGNAL_OFFER = "signal/offer"
SIGNAL_ANSWER = "signal/answer"
SIGNAL_PROVIDE = "signal/provide"
SIGNAL_CANDIDATE = "signal/candidate"
)

View File

@ -24,6 +24,11 @@ type SignalProvide struct {
ICE []webrtc.ICEServer `json:"ice"`
}
type SignalOffer struct {
Event string `json:"event"`
SDP string `json:"sdp"`
}
type SignalAnswer struct {
Event string `json:"event"`
DisplayName string `json:"displayname"`

View File

@ -22,7 +22,10 @@ type Session interface {
Address() string
Kick(message string) error
Send(v interface{}) error
SignalAnswer(sdp string) error
SignalLocalOffer(sdp string) error
SignalLocalAnswer(sdp string) error
SignalRemoteOffer(sdp string) error
SignalRemoteAnswer(sdp string) error
SignalCandidate(data string) error
}

View File

@ -10,11 +10,16 @@ type Sample media.Sample
type WebRTCManager interface {
Start()
Shutdown() error
CreatePeer(id string, session Session) (string, bool, []webrtc.ICEServer, error)
CreatePeer(id string, session Session) (Peer, error)
ICELite() bool
ICEServers() []webrtc.ICEServer
}
type Peer interface {
SignalAnswer(sdp string) error
CreateOffer() (string, error)
CreateAnswer() (string, error)
SetOffer(sdp string) error
SetAnswer(sdp string) error
WriteData(v interface{}) error
Destroy() error
}