1
Fork 0

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
1 changed files with 12 additions and 7 deletions

View File

@ -554,12 +554,17 @@ func gotAnswer(c *webClient, id string, sdp string) error {
if down == nil {
return ErrUnknownId
}
err := down.pc.SetRemoteDescription(webrtc.SessionDescription{
Type: webrtc.SDPTypeAnswer,
SDP: sdp,
})
if err != nil {
return err
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,
})
if err != nil {
return err
}
}
for _, t := range down.tracks {
@ -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)
}