Archived
2
0

ability to use ICE or ICELite

This commit is contained in:
Craig
2020-04-05 07:07:45 +00:00
parent 853dd14386
commit 04033b664b
9 changed files with 112 additions and 69 deletions

View File

@ -16,6 +16,8 @@ type WebRTC struct {
AudioCodec string
AudioParams string
Display string
ICELite bool
ICEServers []string
VideoCodec string
VideoParams string
EphemeralMin uint16
@ -99,6 +101,16 @@ func (WebRTC) Init(cmd *cobra.Command) error {
return err
}
cmd.PersistentFlags().Bool("icelite", false, "")
if err := viper.BindPFlag("icelite", cmd.PersistentFlags().Lookup("icelite")); err != nil {
return err
}
cmd.PersistentFlags().StringSlice("iceserver", []string{"stun:stun.l.google.com:19302"}, "")
if err := viper.BindPFlag("iceserver", cmd.PersistentFlags().Lookup("iceserver")); err != nil {
return err
}
return nil
}
@ -123,6 +135,9 @@ func (s *WebRTC) Set() {
audioCodec = webrtc.PCMA
}
s.ICELite = viper.GetBool("icelite")
s.ICEServers = viper.GetStringSlice("iceserver")
s.Device = viper.GetString("device")
s.AudioCodec = audioCodec
s.AudioParams = viper.GetString("aparams")

View File

@ -14,9 +14,11 @@ type Disconnect struct {
}
type SignalProvide struct {
Event string `json:"event"`
ID string `json:"id"`
SDP string `json:"sdp"`
Event string `json:"event"`
ID string `json:"id"`
SDP string `json:"sdp"`
Lite bool `json:"lite"`
ICE []string `json:"ice"`
}
type SignalAnswer struct {

View File

@ -8,7 +8,7 @@ type Sample struct {
type WebRTCManager interface {
Start()
Shutdown() error
CreatePeer(id string, session Session) (string, error)
CreatePeer(id string, session Session) (string, bool, []string, error)
ChangeScreenSize(width int, height int, rate int) error
}