Commit f4379f7a authored by Juliusz Chroboczek's avatar Juliusz Chroboczek

Protect against negotiation inconsistencies.

This is not an issue in the current code, assuming that clients
negotiate correctly, but will become one once we implement codec
flexibility.
parent 2dfa175b
......@@ -535,6 +535,15 @@ func gotAnswer(c *webClient, id string, answer webrtc.SessionDescription) error
return err
}
for _, t := range down.tracks {
local := t.track.Codec()
remote := t.remote.Codec()
if local.MimeType != remote.MimeType ||
local.ClockRate != remote.ClockRate {
return errors.New("negotiation failed")
}
}
err = down.flushICECandidates()
if err != nil {
log.Printf("ICE: %v", 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