Compare commits

..

12 Commits

3 changed files with 101 additions and 4 deletions

73
app.js
View File

@ -227,6 +227,17 @@ peers.on('connection', async (socket) => {
videoCalls[callId].receiverProducerTransport = await createWebRtcTransportLayer(callId, callback);
} else if (!videoCalls[callId].initiatorProducerTransport && isInitiator(callId, socket.id)) {
videoCalls[callId].initiatorProducerTransport = await createWebRtcTransportLayer(callId, callback);
videoCalls[callId].initiatorProducerTransport.observer.on("newproducer", (producer) =>
{
console.log(
"------------------new producer created [worker.pid:%d, router.id:%s, transport.id:%s, producer.id:%s]", producer.id);
producer.observer.on("close", () => {
console.log("-------------------producer closed [producer.id:%s]", producer.id);
});
});
} else {
console.log(`producerTransport has already been defined | callId ${callId}`);
callback(null);
@ -289,11 +300,14 @@ peers.on('connection', async (socket) => {
);
videoCalls[callId].receiverVideoProducer.on('transportclose', () => {
const callId = socketDetails[socket.id];
console.log('transport for this producer closed', callId);
closeCall(callId);
});
videoCalls[callId].receiverVideoProducer.on('close', () => {
console.log('receiverVideoProducer for this producer closed', callId);
});
// Send back to the client the Producer's id
callback &&
callback({
@ -310,11 +324,30 @@ peers.on('connection', async (socket) => {
);
videoCalls[callId].initiatorVideoProducer.on('transportclose', () => {
const callId = socketDetails[socket.id];
console.log('transport for this producer closed', callId);
closeCall(callId);
});
console.log('🟢');
videoCalls[callId].initiatorVideoProducer.on('close', () => {
console.log('===================1 initiatorVideoProducer for this producer closed', callId);
});
videoCalls[callId].initiatorVideoProducer.observer.on("close", () => {
console.log('====================2 initiatorVideoProducer for this producer closed', callId);
})
// videoCalls[callId].initiatorProducerTransport.observer.on("newproducer", (producer) =>
// {
// console.log(
// "new producer created [worker.pid:%d, router.id:%s, transport.id:%s, producer.id:%s]", producer.id);
// producer.observer.on("close", () => {
// console.log("producer closed [producer.id:%s]", producer.id);
// });
// });
callback &&
callback({
id: videoCalls[callId].initiatorVideoProducer.id,
@ -332,11 +365,14 @@ peers.on('connection', async (socket) => {
);
videoCalls[callId].receiverAudioProducer.on('transportclose', () => {
const callId = socketDetails[socket.id];
console.log('transport for this producer closed', callId);
closeCall(callId);
});
videoCalls[callId].receiverAudioProducer.on('close', () => {
console.log('receiverAudioProducer for this producer closed', callId);
});
// Send back to the client the Producer's id
callback &&
callback({
@ -353,11 +389,14 @@ peers.on('connection', async (socket) => {
);
videoCalls[callId].initiatorAudioProducer.on('transportclose', () => {
const callId = socketDetails[socket.id];
console.log('transport for this producer closed', callId);
closeCall(callId);
});
videoCalls[callId].initiatorAudioProducer.on('close', () => {
console.log('initiatorAudioProducer for this producer closed', callId);
});
// Send back to the client the Producer's id
callback &&
callback({
@ -370,6 +409,8 @@ peers.on('connection', async (socket) => {
? videoCalls[callId].receiverSocket
: videoCalls[callId].initiatorSocket;
// callId - Id of the call
// kind - producer type: audio/video
socketToEmit.emit('new-producer', { callId, kind });
} catch (error) {
console.log(`ERROR | transport-produce | callId ${socketDetails[socket.id]} | ${error.message}`);
@ -643,6 +684,30 @@ const createWebRtcTransportLayer = async (callId, callback) => {
console.log(`transport | closed | calldId ${callId}`);
});
transport.observer.on("newdataproducer", (dataProducer) =>
{
console.log(
"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^new data producer created [worker.pid:%d, router.id:%s, transport.id:%s, dataProducer.id:%s]",
worker.pid, router.id, transport.id, dataProducer.id);
dataProducer.observer.on("close", () =>
{
console.log("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^data producer closed [dataProducer.id:%s]", dataProducer.id);
});
});
transport.observer.on("newproducer", (producer) =>
{
console.log(
"$$$$$$$$$$$$$$$$$$$$$$$$$$new producer created [worker.pid:%d, router.id:%s, transport.id:%s, producer.id:%s]",
worker.pid, router.id, transport.id, producer.id);
producer.observer.on("close", () =>
{
console.log("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$producer closed [producer.id:%s]", producer.id);
});
});
const params = {
id: transport.id,
iceParameters: transport.iceParameters,

View File

@ -20850,6 +20850,14 @@ const getVideoTrask = async (videoParams) => {
console.log('transport closed so consumer closed')
})
consumerVideo.on('producerclose', () => {
console.log('===================1 consumerVideo producerclose');
});
consumerVideo.on("producerclose", () => {
console.log('====================2 consumerVideo producerclose');
})
return consumerVideo.track
}
@ -20865,6 +20873,14 @@ const getAudioTrask = async (audioParams) => {
console.log('transport closed so consumer closed')
})
consumerAudio.on('producerclose', () => {
console.log('===================1 consumerAudio producerclose');
});
consumerAudio.on("producerclose", () => {
console.log('====================2 consumerAudio producerclose');
})
const audioTrack = consumerAudio.track
audioTrack.applyConstraints({

View File

@ -492,6 +492,14 @@ const getVideoTrask = async (videoParams) => {
console.log('transport closed so consumer closed')
})
consumerVideo.on('producerclose', () => {
console.log('===================1 consumerVideo producerclose');
});
consumerVideo.on("producerclose", () => {
console.log('====================2 consumerVideo producerclose');
})
return consumerVideo.track
}
@ -507,6 +515,14 @@ const getAudioTrask = async (audioParams) => {
console.log('transport closed so consumer closed')
})
consumerAudio.on('producerclose', () => {
console.log('===================1 consumerAudio producerclose');
});
consumerAudio.on("producerclose", () => {
console.log('====================2 consumerAudio producerclose');
})
const audioTrack = consumerAudio.track
audioTrack.applyConstraints({