Archived
2
0

server -> client signaling

This commit is contained in:
Craig
2020-02-12 23:13:33 +00:00
parent 1f8b4d44c7
commit d5bff32302
17 changed files with 181 additions and 286 deletions

View File

@ -131,32 +131,6 @@ func (manager *SessionManager) Brodcast(v interface{}, exclude interface{}) erro
return nil
}
func (manager *SessionManager) WriteVideoSample(sample types.Sample) error {
for _, session := range manager.members {
if !session.connected {
continue
}
if err := session.WriteVideoSample(sample); err != nil {
return err
}
}
return nil
}
func (manager *SessionManager) WriteAudioSample(sample types.Sample) error {
for _, session := range manager.members {
if !session.connected {
continue
}
if err := session.WriteAudioSample(sample); err != nil {
return err
}
}
return nil
}
func (manager *SessionManager) OnHost(listener func(id string)) {
manager.emmiter.On("host", func(payload ...interface{}) {
listener(payload[0].(string))

View File

@ -64,8 +64,6 @@ func (session *Session) SetMuted(muted bool) {
func (session *Session) SetName(name string) error {
session.name = name
session.connected = true
session.manager.emmiter.Emit("connected", session.id, session)
return nil
}
@ -79,6 +77,14 @@ func (session *Session) SetPeer(peer types.Peer) error {
return nil
}
func (session *Session) SetConnected(connected bool) error {
session.connected = connected
if connected {
session.manager.emmiter.Emit("connected", session.id, session)
}
return nil
}
func (session *Session) Kick(reason string) error {
if session.socket == nil {
return nil
@ -107,18 +113,11 @@ func (session *Session) Write(v interface{}) error {
return session.socket.Send(v)
}
func (session *Session) WriteVideoSample(sample types.Sample) error {
if session.peer == nil || !session.connected {
func (session *Session) SignalAnwser(sdp string) error {
if session.peer == nil {
return nil
}
return session.peer.WriteVideoSample(sample)
}
func (session *Session) WriteAudioSample(sample types.Sample) error {
if session.peer == nil || !session.connected {
return nil
}
return session.peer.WriteAudioSample(sample)
return session.peer.SignalAnwser(sdp)
}
func (session *Session) destroy() error {