provide IceServerList flag as variadic arg to webrtc Configuration (#24)

This commit is contained in:
Serene Han 2016-03-04 13:21:44 -08:00
parent 3ec771df01
commit 4e6bba559a
3 changed files with 7 additions and 5 deletions

View file

@ -63,8 +63,7 @@ func dialWebRTC() (*webRTCConn, error) {
// TODO: [#3] Fetch ICE server information from Broker. // TODO: [#3] Fetch ICE server information from Broker.
// TODO: [#18] Consider TURN servers here too. // TODO: [#18] Consider TURN servers here too.
config := webrtc.NewConfiguration( config := webrtc.NewConfiguration(iceServers...)
webrtc.OptionIceServer("stun:stun.l.google.com:19302"))
broker := NewBrokerChannel(brokerURL, frontDomain) broker := NewBrokerChannel(brokerURL, frontDomain)
if nil == broker { if nil == broker {

View file

@ -3,6 +3,7 @@ DataDirectory datadir
ClientTransportPlugin snowflake exec ./client \ ClientTransportPlugin snowflake exec ./client \
-url https://snowflake-reg.appspot.com/ \ -url https://snowflake-reg.appspot.com/ \
-front www.google.com -front www.google.com \
-ice stun:stun.l.google.com:19302
Bridge snowflake 0.0.3.0:1 Bridge snowflake 0.0.3.0:1

View file

@ -2,6 +2,7 @@ package main
import ( import (
"fmt" "fmt"
"github.com/keroserene/go-webrtc"
"log" "log"
"strings" "strings"
"time" "time"
@ -11,7 +12,7 @@ const (
LogTimeInterval = 5 LogTimeInterval = 5
) )
type IceServerList []string type IceServerList []webrtc.ConfigurationOption
func (i *IceServerList) String() string { func (i *IceServerList) String() string {
return fmt.Sprint(*i) return fmt.Sprint(*i)
@ -20,7 +21,8 @@ func (i *IceServerList) String() string {
func (i *IceServerList) Set(s string) error { func (i *IceServerList) Set(s string) error {
for _, server := range strings.Split(s, ",") { for _, server := range strings.Split(s, ",") {
// TODO: STUN / TURN url format validation? // TODO: STUN / TURN url format validation?
*i = append(*i, server) option := webrtc.OptionIceServer(server)
*i = append(*i, option)
} }
return nil return nil
} }