Close transport, producer/consumer and reset room when we close the video call
This commit is contained in:
25
app.js
25
app.js
@ -157,9 +157,8 @@ peers.on('connection', async socket => {
|
||||
console.log(`[transport-produce] Producer ID: ${producer.id} | kind: ${producer.kind}`)
|
||||
|
||||
producer.on('transportclose', ({ callId }) => {
|
||||
console.log('transport for this producer closed ')
|
||||
producer.close()
|
||||
router[callId] = null
|
||||
console.log('transport for this producer closed')
|
||||
closeRoom();
|
||||
})
|
||||
|
||||
// Send back to the client the Producer's id
|
||||
@ -190,9 +189,7 @@ peers.on('connection', async socket => {
|
||||
|
||||
consumer.on('transportclose', () => {
|
||||
console.log('transport close from consumer')
|
||||
producer.close()
|
||||
consumer.close()
|
||||
router[callId] = null
|
||||
closeRoom();
|
||||
})
|
||||
|
||||
consumer.on('producerclose', () => {
|
||||
@ -227,6 +224,22 @@ peers.on('connection', async socket => {
|
||||
})
|
||||
})
|
||||
|
||||
const closeRoom = () => {
|
||||
// Close transport for producer/consumer
|
||||
// https://mediasoup.org/documentation/v3/mediasoup-client/api/#Transport-methods
|
||||
producerTransport.close()
|
||||
consumerTransport.close()
|
||||
|
||||
// Close producer and consumer
|
||||
// https://mediasoup.org/documentation/v3/mediasoup-client/api/#producer-close
|
||||
// https://mediasoup.org/documentation/v3/mediasoup-client/api/#consumer-closed
|
||||
producer.close()
|
||||
consumer.close()
|
||||
|
||||
// Reset room
|
||||
router[callId] = null
|
||||
}
|
||||
|
||||
const createWebRtcTransportLayer = async (callId, callback) => {
|
||||
try {
|
||||
// https://mediasoup.org/documentation/v3/mediasoup/api/#WebRtcTransportOptions
|
||||
|
Reference in New Issue
Block a user