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: [#18] Consider TURN servers here too.
config := webrtc.NewConfiguration(
webrtc.OptionIceServer("stun:stun.l.google.com:19302"))
config := webrtc.NewConfiguration(iceServers...)
broker := NewBrokerChannel(brokerURL, frontDomain)
if nil == broker {

View file

@ -3,6 +3,7 @@ DataDirectory datadir
ClientTransportPlugin snowflake exec ./client \
-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

View file

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