Fix stuff
parent
9fe6e71ace
commit
926d09967f
|
|
@ -2,12 +2,9 @@
|
|||
|
||||
const path = require('path');
|
||||
const fs = require('fs');
|
||||
const Logger = require('./Logger');
|
||||
|
||||
const STATS_INTERVAL = 4000; // TODO
|
||||
|
||||
const logger = new Logger('Homer');
|
||||
|
||||
function homer(server)
|
||||
{
|
||||
if (!process.env.MEDIASOUP_HOMER_OUTPUT)
|
||||
|
|
@ -15,9 +12,11 @@ function homer(server)
|
|||
|
||||
server.on('newroom', (room) =>
|
||||
{
|
||||
const fileName = path.join(process.env.MEDIASOUP_HOMER_OUTPUT, String(room.id));
|
||||
const fileName =
|
||||
path.join(
|
||||
process.env.MEDIASOUP_HOMER_OUTPUT,
|
||||
`${(new Date()).toISOString()}_${room.id}`);
|
||||
|
||||
console.warn(fileName);
|
||||
const stream = fs.createWriteStream(fileName, { flags: 'a' });
|
||||
|
||||
emit(
|
||||
|
|
@ -41,10 +40,11 @@ function handleRoom(room, stream)
|
|||
|
||||
room.on('close', () =>
|
||||
{
|
||||
emit(Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'room.close'
|
||||
}),
|
||||
emit(
|
||||
Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'room.close'
|
||||
}),
|
||||
stream);
|
||||
|
||||
stream.end();
|
||||
|
|
@ -52,12 +52,13 @@ function handleRoom(room, stream)
|
|||
|
||||
room.on('newpeer', (peer) =>
|
||||
{
|
||||
emit(Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'room.newpeer',
|
||||
peerName : peer.name,
|
||||
rtpCapabilities : peer.rtpCapabilities
|
||||
}),
|
||||
emit(
|
||||
Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'room.newpeer',
|
||||
peerName : peer.name,
|
||||
rtpCapabilities : peer.rtpCapabilities
|
||||
}),
|
||||
stream);
|
||||
|
||||
handlePeer(peer, baseEvent, stream);
|
||||
|
|
@ -73,23 +74,25 @@ function handlePeer(peer, baseEvent, stream)
|
|||
|
||||
peer.on('close', (originator) =>
|
||||
{
|
||||
emit(Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'peer.close',
|
||||
originator : originator
|
||||
}),
|
||||
emit(
|
||||
Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'peer.close',
|
||||
originator : originator
|
||||
}),
|
||||
stream);
|
||||
});
|
||||
|
||||
peer.on('newtransport', (transport) =>
|
||||
{
|
||||
emit(Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'peer.newtransport',
|
||||
transportId : transport.id,
|
||||
direction : transport.direction,
|
||||
iceLocalCandidates : transport.iceLocalCandidates
|
||||
}),
|
||||
emit(
|
||||
Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'peer.newtransport',
|
||||
transportId : transport.id,
|
||||
direction : transport.direction,
|
||||
iceLocalCandidates : transport.iceLocalCandidates
|
||||
}),
|
||||
stream);
|
||||
|
||||
handleTransport(transport, baseEvent, stream);
|
||||
|
|
@ -97,14 +100,15 @@ function handlePeer(peer, baseEvent, stream)
|
|||
|
||||
peer.on('newproducer', (producer) =>
|
||||
{
|
||||
emit(Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'peer.newproducer',
|
||||
producerId : producer.id,
|
||||
kind : producer.kind,
|
||||
transportId : producer.transport.id,
|
||||
rtpParameters : producer.rtpParameters
|
||||
}),
|
||||
emit(
|
||||
Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'peer.newproducer',
|
||||
producerId : producer.id,
|
||||
kind : producer.kind,
|
||||
transportId : producer.transport.id,
|
||||
rtpParameters : producer.rtpParameters
|
||||
}),
|
||||
stream);
|
||||
|
||||
handleProducer(producer, baseEvent, stream);
|
||||
|
|
@ -112,14 +116,15 @@ function handlePeer(peer, baseEvent, stream)
|
|||
|
||||
peer.on('newconsumer', (consumer) =>
|
||||
{
|
||||
emit(Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'peer.newconsumer',
|
||||
consumerId : consumer.id,
|
||||
kind : consumer.kind,
|
||||
sourceId : consumer.source.id,
|
||||
rtpParameters : consumer.rtpParameters
|
||||
}),
|
||||
emit(
|
||||
Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'peer.newconsumer',
|
||||
consumerId : consumer.id,
|
||||
kind : consumer.kind,
|
||||
sourceId : consumer.source.id,
|
||||
rtpParameters : consumer.rtpParameters
|
||||
}),
|
||||
stream);
|
||||
|
||||
handleConsumer(consumer, baseEvent, stream);
|
||||
|
|
@ -128,14 +133,15 @@ function handlePeer(peer, baseEvent, stream)
|
|||
// Must also handle existing Consumers at the time the Peer was created.
|
||||
for (const consumer of peer.consumers)
|
||||
{
|
||||
emit(Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'peer.newconsumer',
|
||||
consumerId : consumer.id,
|
||||
kind : consumer.kind,
|
||||
sourceId : consumer.source.id,
|
||||
rtpParameters : consumer.rtpParameters
|
||||
}),
|
||||
emit(
|
||||
Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'peer.newconsumer',
|
||||
consumerId : consumer.id,
|
||||
kind : consumer.kind,
|
||||
sourceId : consumer.source.id,
|
||||
rtpParameters : consumer.rtpParameters
|
||||
}),
|
||||
stream);
|
||||
|
||||
handleConsumer(consumer, baseEvent, stream);
|
||||
|
|
@ -149,16 +155,17 @@ function handleTransport(transport, baseEvent, stream)
|
|||
transportId : transport.id
|
||||
});
|
||||
|
||||
const statsInterval = setInterval((stats) =>
|
||||
const statsInterval = setInterval(() =>
|
||||
{
|
||||
transport.getStats()
|
||||
.then((stats) =>
|
||||
{
|
||||
emit(Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'transport.stats',
|
||||
stats : stats
|
||||
}),
|
||||
emit(
|
||||
Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'transport.stats',
|
||||
stats : stats
|
||||
}),
|
||||
stream);
|
||||
});
|
||||
}, STATS_INTERVAL);
|
||||
|
|
@ -167,41 +174,45 @@ function handleTransport(transport, baseEvent, stream)
|
|||
{
|
||||
clearInterval(statsInterval);
|
||||
|
||||
emit(Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'transport.close',
|
||||
originator : originator
|
||||
}),
|
||||
emit(
|
||||
Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'transport.close',
|
||||
originator : originator
|
||||
}),
|
||||
stream);
|
||||
});
|
||||
|
||||
transport.on('iceselectedtuplechange', (iceSelectedTuple) =>
|
||||
{
|
||||
emit(Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'transport.iceselectedtuplechange',
|
||||
iceSelectedTuple : iceSelectedTuple
|
||||
}),
|
||||
emit(
|
||||
Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'transport.iceselectedtuplechange',
|
||||
iceSelectedTuple : iceSelectedTuple
|
||||
}),
|
||||
stream);
|
||||
});
|
||||
|
||||
transport.on('icestatechange', (iceState) =>
|
||||
{
|
||||
emit(Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'transport.icestatechange',
|
||||
iceState : iceState
|
||||
}),
|
||||
emit(
|
||||
Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'transport.icestatechange',
|
||||
iceState : iceState
|
||||
}),
|
||||
stream);
|
||||
});
|
||||
|
||||
transport.on('dtlsstatechange', (dtlsState) =>
|
||||
{
|
||||
emit(Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'transport.dtlsstatechange',
|
||||
dtlsState : dtlsState
|
||||
}),
|
||||
emit(
|
||||
Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'transport.dtlsstatechange',
|
||||
dtlsState : dtlsState
|
||||
}),
|
||||
stream);
|
||||
});
|
||||
}
|
||||
|
|
@ -213,16 +224,17 @@ function handleProducer(producer, baseEvent, stream)
|
|||
producerId : producer.id
|
||||
});
|
||||
|
||||
const statsInterval = setInterval((stats) =>
|
||||
const statsInterval = setInterval(() =>
|
||||
{
|
||||
producer.getStats()
|
||||
.then((stats) =>
|
||||
{
|
||||
emit(Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'producer.stats',
|
||||
stats : stats
|
||||
}),
|
||||
emit(
|
||||
Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'producer.stats',
|
||||
stats : stats
|
||||
}),
|
||||
stream);
|
||||
});
|
||||
}, STATS_INTERVAL);
|
||||
|
|
@ -231,31 +243,34 @@ function handleProducer(producer, baseEvent, stream)
|
|||
{
|
||||
clearInterval(statsInterval);
|
||||
|
||||
emit(Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'producer.close',
|
||||
originator : originator
|
||||
}),
|
||||
emit(
|
||||
Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'producer.close',
|
||||
originator : originator
|
||||
}),
|
||||
stream);
|
||||
});
|
||||
|
||||
producer.on('pause', (originator) =>
|
||||
{
|
||||
emit(Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'producer.pause',
|
||||
originator : originator
|
||||
}),
|
||||
emit(
|
||||
Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'producer.pause',
|
||||
originator : originator
|
||||
}),
|
||||
stream);
|
||||
});
|
||||
|
||||
producer.on('resume', (originator) =>
|
||||
{
|
||||
emit(Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'producer.resume',
|
||||
originator : originator
|
||||
}),
|
||||
emit(
|
||||
Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'producer.resume',
|
||||
originator : originator
|
||||
}),
|
||||
stream);
|
||||
});
|
||||
}
|
||||
|
|
@ -267,16 +282,17 @@ function handleConsumer(consumer, baseEvent, stream)
|
|||
consumerId : consumer.id
|
||||
});
|
||||
|
||||
const statsInterval = setInterval((stats) =>
|
||||
const statsInterval = setInterval(() =>
|
||||
{
|
||||
consumer.getStats()
|
||||
.then((stats) =>
|
||||
{
|
||||
emit(Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'consumer.stats',
|
||||
stats : stats
|
||||
}),
|
||||
emit(
|
||||
Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'consumer.stats',
|
||||
stats : stats
|
||||
}),
|
||||
stream);
|
||||
});
|
||||
}, STATS_INTERVAL);
|
||||
|
|
@ -285,60 +301,66 @@ function handleConsumer(consumer, baseEvent, stream)
|
|||
{
|
||||
clearInterval(statsInterval);
|
||||
|
||||
emit(Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'consumer.close',
|
||||
originator : originator
|
||||
}),
|
||||
emit(
|
||||
Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'consumer.close',
|
||||
originator : originator
|
||||
}),
|
||||
stream);
|
||||
});
|
||||
|
||||
consumer.on('handled', () =>
|
||||
{
|
||||
emit(Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'consumer.handled',
|
||||
transportId : consumer.transport.id
|
||||
}),
|
||||
emit(
|
||||
Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'consumer.handled',
|
||||
transportId : consumer.transport.id
|
||||
}),
|
||||
stream);
|
||||
});
|
||||
|
||||
consumer.on('unhandled', () =>
|
||||
{
|
||||
emit(Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'consumer.handled'
|
||||
}),
|
||||
emit(
|
||||
Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'consumer.handled'
|
||||
}),
|
||||
stream);
|
||||
});
|
||||
|
||||
consumer.on('pause', (originator) =>
|
||||
{
|
||||
emit(Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'consumer.pause',
|
||||
originator : originator
|
||||
}),
|
||||
emit(
|
||||
Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'consumer.pause',
|
||||
originator : originator
|
||||
}),
|
||||
stream);
|
||||
});
|
||||
|
||||
consumer.on('resume', (originator) =>
|
||||
{
|
||||
emit(Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'consumer.resume',
|
||||
originator : originator
|
||||
}),
|
||||
emit(
|
||||
Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'consumer.resume',
|
||||
originator : originator
|
||||
}),
|
||||
stream);
|
||||
});
|
||||
|
||||
consumer.on('effectiveprofilechange', (profile) =>
|
||||
{
|
||||
emit(Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'consumer.effectiveprofilechange',
|
||||
profile : profile
|
||||
}),
|
||||
emit(
|
||||
Object.assign({}, baseEvent,
|
||||
{
|
||||
event : 'consumer.effectiveprofilechange',
|
||||
profile : profile
|
||||
}),
|
||||
stream);
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@ process.title = 'mediasoup-demo-server';
|
|||
|
||||
const config = require('./config');
|
||||
|
||||
process.env.DEBUG = process.env.DEBUG || '*INFO* *WARN* *ERROR* *mediasoup-worker*';
|
||||
|
||||
/* eslint-disable no-console */
|
||||
console.log('- process.env.DEBUG:', process.env.DEBUG);
|
||||
console.log('- config.mediasoup.logLevel:', config.mediasoup.logLevel);
|
||||
|
|
|
|||
Loading…
Reference in New Issue