Commit 52c4f1a3 authored by Juliusz Chroboczek's avatar Juliusz Chroboczek

Restructure offers.

parent bc7bd36b
......@@ -646,7 +646,7 @@ function serverConnect() {
let m = JSON.parse(e.data);
switch(m.type) {
case 'offer':
gotOffer(m.id, m.labels, m.offer, !!m.renegotiate);
gotOffer(m.id, m.labels, m.offer, m.kind === 'renegotiate');
break;
case 'answer':
gotAnswer(m.id, m.answer);
......@@ -1276,10 +1276,10 @@ async function negotiate(id, restartIce) {
send({
type: 'offer',
kind: 'renegotiate',
id: id,
labels: c.labelsByMid,
offer: offer,
renegotiate: true,
});
}
......
......@@ -173,17 +173,16 @@ func (v rateMap) MarshalJSON() ([]byte, error) {
type clientMessage struct {
Type string `json:"type"`
Kind string `json:"kind,omitempty"`
Id string `json:"id,omitempty"`
Username string `json:"username,omitempty"`
Password string `json:"password,omitempty"`
Permissions clientPermission `json:"permissions,omitempty"`
Group string `json:"group,omitempty"`
Value string `json:"value,omitempty"`
Kind string `json:"kind,omitempty"`
Offer *webrtc.SessionDescription `json:"offer,omitempty"`
Answer *webrtc.SessionDescription `json:"answer,omitempty"`
Candidate *webrtc.ICECandidateInit `json:"candidate,omitempty"`
Renegotiate bool `json:"renegotiate,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Request rateMap `json:"request,omitempty"`
}
......@@ -431,11 +430,16 @@ func negotiate(c *webClient, down *rtpDownConnection, renegotiate, restartIce bo
}
}
kind := ""
if renegotiate {
kind = "renegotiate"
}
return c.write(clientMessage{
Type: "offer",
Kind: kind,
Id: down.id,
Offer: &offer,
Renegotiate: renegotiate,
Labels: labels,
})
}
......@@ -964,7 +968,9 @@ func handleClientMessage(c *webClient, m clientMessage) error {
if m.Offer == nil {
return protocolError("null offer")
}
err := gotOffer(c, m.Id, *m.Offer, m.Renegotiate, m.Labels)
err := gotOffer(
c, m.Id, *m.Offer, m.Kind == "renegotiate", m.Labels,
)
if err != nil {
log.Printf("gotOffer: %v", err)
return failConnection(c, m.Id, "negotiation failed")
......
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