This commit is contained in:
@@ -57,6 +57,7 @@ interface ClientToServerEvents extends Record<string, any> {
|
||||
interface ServerToClientEvents {
|
||||
producers: (arg: ProducerShort[]) => void
|
||||
newProducer: (arg: ProducerShort) => void
|
||||
producerClosed: (arg: types.Producer['id']) => void
|
||||
}
|
||||
|
||||
const transports = new Map<string, types.WebRtcTransport[]>()
|
||||
@@ -167,7 +168,8 @@ export default function (io: SocketServer, router: types.Router) {
|
||||
cb({ producerId: producer.id })
|
||||
socket.broadcast.emit('newProducer', { producerId: producer.id, kind: producer.kind })
|
||||
|
||||
producer.observer.on('close', () => {
|
||||
producer.on('transportclose', () => {
|
||||
socket.broadcast.emit('producerClosed', producer.id)
|
||||
consola.log('[WebRtc]', 'Producer closed', producer.id)
|
||||
})
|
||||
}
|
||||
@@ -223,9 +225,9 @@ export default function (io: SocketServer, router: types.Router) {
|
||||
socket.on('disconnect', () => {
|
||||
consola.info('Client disconnected:', socket.id)
|
||||
|
||||
transports.get(socket.id)?.forEach(t => t.close())
|
||||
producers.get(socket.id)?.forEach(p => p.close())
|
||||
consumers.get(socket.id)?.forEach(c => c.close())
|
||||
transports.get(socket.id)!.forEach(t => t.close())
|
||||
producers.get(socket.id)!.forEach(p => p.close())
|
||||
consumers.get(socket.id)!.forEach(c => c.close())
|
||||
|
||||
transports.delete(socket.id)
|
||||
producers.delete(socket.id)
|
||||
|
||||
Reference in New Issue
Block a user