WIP: router-close-connections #2

Closed
sergiu wants to merge 13 commits from router-close-connections into master
Showing only changes of commit 42dffe1cbb - Show all commits

View File

@ -208,24 +208,6 @@ const getRtpCapabilities = () => {
const createSendTransport = () => { const createSendTransport = () => {
setTimeout(() => {
const answer = {
origin_asset_id: ASSET_ID,
dest_asset_id: originAssetId || parseInt(urlParams.get('dest_asset_id')),
type: 'notify-answer',
origin_asset_priority: 1,
origin_asset_type_name: ASSET_TYPE,
origin_asset_name: ASSET_NAME,
video_call_id: callId,
answer: 'accepted', // answer: 'rejected'
};
console.log('SEND answer', answer);
hub.emit(
'video',
JSON.stringify(answer)
);
// see server's socket.on('createWebRtcTransport', sender?, ...) // see server's socket.on('createWebRtcTransport', sender?, ...)
// this is a call from Producer, so sender = true // this is a call from Producer, so sender = true
socket.emit('createWebRtcTransport', { sender: true, callId }, ({ params }) => { socket.emit('createWebRtcTransport', { sender: true, callId }, ({ params }) => {
@ -287,52 +269,47 @@ const createSendTransport = () => {
}) })
connectSendTransport() connectSendTransport()
}) })
}, 7000);
} }
const connectSendTransport = async () => { const connectSendTransport = async () => {
console.log('[connectSendTransport]'); setTimeout(() => {
// we now call produce() to instruct the producer transport console.log('[connectSendTransport]');
// to send media to the Router // we now call produce() to instruct the producer transport
// https://mediasoup.org/documentation/v3/mediasoup-client/api/#transport-produce // to send media to the Router
// this action will trigger the 'connect' and 'produce' events above // https://mediasoup.org/documentation/v3/mediasoup-client/api/#transport-produce
producer = await producerTransport.produce(params) // this action will trigger the 'connect' and 'produce' events above
producer = await producerTransport.produce(params)
producer.on('trackended', () => {
console.log('track ended')
// close video track
})
producer.on('transportclose', () => {
console.log('transport ended')
// close video track
})
// Enable Close call button
const closeCallBtn = document.getElementById('btnCloseCall');
closeCallBtn.removeAttribute('disabled');
producer.on('trackended', () => { const answer = {
console.log('track ended') origin_asset_id: ASSET_ID,
// close video track dest_asset_id: originAssetId || parseInt(urlParams.get('dest_asset_id')),
}) type: 'notify-answer',
origin_asset_priority: 1,
producer.on('transportclose', () => { origin_asset_type_name: ASSET_TYPE,
console.log('transport ended') origin_asset_name: ASSET_NAME,
// close video track video_call_id: callId,
}) answer: 'accepted', // answer: 'rejected'
};
const answer = { console.log('SEND answer', answer);
origin_asset_id: ASSET_ID, hub.emit(
dest_asset_id: originAssetId || parseInt(urlParams.get('dest_asset_id')), 'video',
type: 'notify-answer', JSON.stringify(answer)
origin_asset_priority: 1, );
origin_asset_type_name: ASSET_TYPE, }, 7000);
origin_asset_name: ASSET_NAME,
video_call_id: callId,
answer: 'accepted', // answer: 'rejected'
};
console.log('SEND answer', answer);
// setTimeout(() => {
// hub.emit(
// 'video',
// JSON.stringify(answer)
// );
// }, 7000);
// Enable Close call button
const closeCallBtn = document.getElementById('btnCloseCall');
closeCallBtn.removeAttribute('disabled');
} }
const createRecvTransport = async () => { const createRecvTransport = async () => {