Handle answers in stable state.

Don't break the stream, just ignore the SDP.
This commit is contained in:
Juliusz Chroboczek
2021-01-19 23:30:01 +01:00
parent 14e99aa125
commit 9a5c8b6b43
+6 -1
View File
@@ -554,6 +554,10 @@ func gotAnswer(c *webClient, id string, sdp string) error {
if down == nil {
return ErrUnknownId
}
if down.pc.SignalingState() == webrtc.SignalingStateStable {
log.Printf("Got answer in stable state -- this shouldn't happen")
} else {
err := down.pc.SetRemoteDescription(webrtc.SessionDescription{
Type: webrtc.SDPTypeAnswer,
SDP: sdp,
@@ -561,6 +565,7 @@ func gotAnswer(c *webClient, id string, sdp string) error {
if err != nil {
return err
}
}
for _, t := range down.tracks {
local := t.track.Codec()
@@ -571,7 +576,7 @@ func gotAnswer(c *webClient, id string, sdp string) error {
}
}
err = down.flushICECandidates()
err := down.flushICECandidates()
if err != nil {
log.Printf("ICE: %v", err)
}