Skip to content

Commit 3dbe475

Browse files
authored
fix(grpc): attach handlers before join (#355)
1 parent ff430d3 commit 3dbe475

File tree

2 files changed

+21
-20
lines changed

2 files changed

+21
-20
lines changed

cmd/signal/grpc/server/server.go

+20-20
Original file line numberDiff line numberDiff line change
@@ -79,26 +79,6 @@ func (s *SFUServer) Signal(stream pb.SFU_SignalServer) error {
7979
}
8080
}
8181

82-
answer, err := peer.Join(payload.Join.Sid, offer)
83-
if err != nil {
84-
switch err {
85-
case sfu.ErrTransportExists:
86-
fallthrough
87-
case sfu.ErrOfferIgnored:
88-
err = stream.Send(&pb.SignalReply{
89-
Payload: &pb.SignalReply_Error{
90-
Error: fmt.Errorf("join error: %w", err).Error(),
91-
},
92-
})
93-
if err != nil {
94-
log.Errorf("grpc send error %v ", err)
95-
return status.Errorf(codes.Internal, err.Error())
96-
}
97-
default:
98-
return status.Errorf(codes.Unknown, err.Error())
99-
}
100-
}
101-
10282
// Notify user of new ice candidate
10383
peer.OnIceCandidate = func(candidate *webrtc.ICECandidateInit, target int) {
10484
bytes, err := json.Marshal(candidate)
@@ -156,6 +136,26 @@ func (s *SFUServer) Signal(stream pb.SFU_SignalServer) error {
156136
}
157137
}
158138

139+
answer, err := peer.Join(payload.Join.Sid, offer)
140+
if err != nil {
141+
switch err {
142+
case sfu.ErrTransportExists:
143+
fallthrough
144+
case sfu.ErrOfferIgnored:
145+
err = stream.Send(&pb.SignalReply{
146+
Payload: &pb.SignalReply_Error{
147+
Error: fmt.Errorf("join error: %w", err).Error(),
148+
},
149+
})
150+
if err != nil {
151+
log.Errorf("grpc send error %v ", err)
152+
return status.Errorf(codes.Internal, err.Error())
153+
}
154+
default:
155+
return status.Errorf(codes.Unknown, err.Error())
156+
}
157+
}
158+
159159
marshalled, err := json.Marshal(answer)
160160
if err != nil {
161161
return status.Errorf(codes.Internal, fmt.Sprintf("sdp marshal error: %v", err))

go.sum

+1
Original file line numberDiff line numberDiff line change
@@ -516,6 +516,7 @@ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJ
516516
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
517517
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
518518
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
519+
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a h1:DcqTD9SDLc+1P/r1EmRBwnVsrOwW+kk2vWf9n+1sGhs=
519520
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
520521
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
521522
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=

0 commit comments

Comments
 (0)