Commit cd6920d7 authored by Juliusz Chroboczek's avatar Juliusz Chroboczek

Allow group.API() to fail.

parent acca3f9b
......@@ -120,7 +120,7 @@ var groups struct {
groups map[string]*Group
}
func (g *Group) API() *webrtc.API {
func (g *Group) API() (*webrtc.API, error) {
g.mu.Lock()
codecs := g.description.Codecs
g.mu.Unlock()
......@@ -198,7 +198,7 @@ func payloadType(codec webrtc.RTPCodecCapability) (webrtc.PayloadType, error) {
}
}
func APIFromCodecs(codecs []webrtc.RTPCodecCapability) *webrtc.API {
func APIFromCodecs(codecs []webrtc.RTPCodecCapability) (*webrtc.API, error) {
s := webrtc.SettingEngine{}
s.SetSRTPReplayProtectionWindow(512)
if !UseMDNS {
......@@ -229,7 +229,7 @@ func APIFromCodecs(codecs []webrtc.RTPCodecCapability) *webrtc.API {
log.Printf("%v", err)
continue
}
m.RegisterCodec(
err = m.RegisterCodec(
webrtc.RTPCodecParameters{
RTPCodecCapability: webrtc.RTPCodecCapability{
MimeType: codec.MimeType,
......@@ -242,14 +242,18 @@ func APIFromCodecs(codecs []webrtc.RTPCodecCapability) *webrtc.API {
},
tpe,
)
if err != nil {
log.Printf("%v", err)
continue
}
}
return webrtc.NewAPI(
webrtc.WithSettingEngine(s),
webrtc.WithMediaEngine(&m),
)
), nil
}
func APIFromNames(names []string) *webrtc.API {
func APIFromNames(names []string) (*webrtc.API, error) {
if len(names) == 0 {
names = []string{"vp8", "opus"}
}
......@@ -713,8 +717,8 @@ type Description struct {
// The modtime and size of the file. These are used to detect
// when a file has changed on disk.
modTime time.Time `json:"-"`
fileSize int64 `json:"-"`
modTime time.Time `json:"-"`
fileSize int64 `json:"-"`
// A user-readable description of the group.
Description string `json:"description,omitempty"`
......
......@@ -157,7 +157,10 @@ func (down *rtpDownConnection) getTracks() []*rtpDownTrack {
}
func newDownConn(c group.Client, id string, remote conn.Up) (*rtpDownConnection, error) {
api := c.Group().API()
api, err := c.Group().API()
if err != nil {
return nil, err
}
pc, err := api.NewPeerConnection(*ice.ICEConfiguration())
if err != nil {
return nil, err
......@@ -463,7 +466,11 @@ func newUpConn(c group.Client, id string, label string, offer string) (*rtpUpCon
return nil, err
}
pc, err := c.Group().API().NewPeerConnection(*ice.ICEConfiguration())
api, err := c.Group().API()
if err != nil {
return nil, err
}
pc, err := api.NewPeerConnection(*ice.ICEConfiguration())
if err != nil {
return nil, err
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment