Commit cd6920d7 authored by Juliusz Chroboczek's avatar Juliusz Chroboczek

Allow group.API() to fail.

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