server: fix race condition (#178)

This commit is contained in:
Alessandro Ros
2023-01-23 13:19:56 +01:00
committed by GitHub
parent a2d6ce8af6
commit df8077ce7c

View File

@@ -50,6 +50,12 @@ func newServerSessionMedia(ss *ServerSession, medi *media.Media) *serverSessionM
}
func (sm *serverSessionMedia) start() {
// allocate udpRTCPReceiver before udpRTCPListener
// otherwise udpRTCPReceiver.LastSSRC() can't be called.
for _, sf := range sm.formats {
sf.start()
}
switch *sm.ss.setuppedTransport {
case TransportUDP, TransportUDPMulticast:
sm.writePacketRTPInQueue = sm.writePacketRTPInQueueUDP
@@ -94,10 +100,6 @@ func (sm *serverSessionMedia) start() {
sm.ss.s.udpRTCPListener.addClient(sm.ss.author.ip(), sm.udpRTCPReadPort, sm)
}
}
for _, sf := range sm.formats {
sf.start()
}
}
func (sm *serverSessionMedia) stop() {