Commit 43ed55a0 authored by Juliusz Chroboczek's avatar Juliusz Chroboczek

Update group API after description change.

parent 2e752f94
...@@ -246,6 +246,23 @@ func APIFromCodecs(codecs []webrtc.RTPCodecCapability) *webrtc.API { ...@@ -246,6 +246,23 @@ func APIFromCodecs(codecs []webrtc.RTPCodecCapability) *webrtc.API {
) )
} }
func APIFromNames(names []string) *webrtc.API {
if len(names) == 0 {
names = []string{"vp8", "opus"}
}
codecs := make([]webrtc.RTPCodecCapability, 0, len(names))
for _, n := range names {
codec, err := codecFromName(n)
if err != nil {
log.Printf("Codec %v: %v", n, err)
continue
}
codecs = append(codecs, codec)
}
return APIFromCodecs(codecs)
}
func Add(name string, desc *description) (*Group, error) { func Add(name string, desc *description) (*Group, error) {
if name == "" || strings.HasSuffix(name, "/") { if name == "" || strings.HasSuffix(name, "/") {
return nil, UserError("illegal group name") return nil, UserError("illegal group name")
...@@ -269,28 +286,12 @@ func Add(name string, desc *description) (*Group, error) { ...@@ -269,28 +286,12 @@ func Add(name string, desc *description) (*Group, error) {
} }
} }
names := desc.Codecs
if len(names) == 0 {
names = []string{"vp8", "opus"}
}
codecs := make([]webrtc.RTPCodecCapability, 0, len(names))
for _, n := range names {
codec, err := codecFromName(n)
if err != nil {
log.Printf("Codec %v: %v", n, err)
continue
}
codecs = append(codecs, codec)
}
api := APIFromCodecs(codecs)
g = &Group{ g = &Group{
name: name, name: name,
description: desc, description: desc,
clients: make(map[string]Client), clients: make(map[string]Client),
timestamp: time.Now(), timestamp: time.Now(),
api: api, api: APIFromNames(desc.Codecs),
} }
groups.groups[name] = g groups.groups[name] = g
return g, nil return g, nil
...@@ -301,6 +302,7 @@ func Add(name string, desc *description) (*Group, error) { ...@@ -301,6 +302,7 @@ func Add(name string, desc *description) (*Group, error) {
if desc != nil { if desc != nil {
g.description = desc g.description = desc
g.api = APIFromNames(desc.Codecs)
return g, nil return g, nil
} }
...@@ -316,6 +318,7 @@ func Add(name string, desc *description) (*Group, error) { ...@@ -316,6 +318,7 @@ func Add(name string, desc *description) (*Group, error) {
return nil, err return nil, err
} }
g.description = desc g.description = desc
g.api = APIFromNames(desc.Codecs)
} else { } else {
g.description.loadTime = time.Now() g.description.loadTime = time.Now()
} }
......
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