Fix stuff

master
Iñaki Baz Castillo 2018-02-07 15:37:18 +01:00
parent 9fe6e71ace
commit 926d09967f
2 changed files with 155 additions and 135 deletions

View File

@ -2,12 +2,9 @@
const path = require('path'); const path = require('path');
const fs = require('fs'); const fs = require('fs');
const Logger = require('./Logger');
const STATS_INTERVAL = 4000; // TODO const STATS_INTERVAL = 4000; // TODO
const logger = new Logger('Homer');
function homer(server) function homer(server)
{ {
if (!process.env.MEDIASOUP_HOMER_OUTPUT) if (!process.env.MEDIASOUP_HOMER_OUTPUT)
@ -15,9 +12,11 @@ function homer(server)
server.on('newroom', (room) => 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' }); const stream = fs.createWriteStream(fileName, { flags: 'a' });
emit( emit(
@ -41,10 +40,11 @@ function handleRoom(room, stream)
room.on('close', () => room.on('close', () =>
{ {
emit(Object.assign({}, baseEvent, emit(
{ Object.assign({}, baseEvent,
event : 'room.close' {
}), event : 'room.close'
}),
stream); stream);
stream.end(); stream.end();
@ -52,12 +52,13 @@ function handleRoom(room, stream)
room.on('newpeer', (peer) => room.on('newpeer', (peer) =>
{ {
emit(Object.assign({}, baseEvent, emit(
{ Object.assign({}, baseEvent,
event : 'room.newpeer', {
peerName : peer.name, event : 'room.newpeer',
rtpCapabilities : peer.rtpCapabilities peerName : peer.name,
}), rtpCapabilities : peer.rtpCapabilities
}),
stream); stream);
handlePeer(peer, baseEvent, stream); handlePeer(peer, baseEvent, stream);
@ -73,23 +74,25 @@ function handlePeer(peer, baseEvent, stream)
peer.on('close', (originator) => peer.on('close', (originator) =>
{ {
emit(Object.assign({}, baseEvent, emit(
{ Object.assign({}, baseEvent,
event : 'peer.close', {
originator : originator event : 'peer.close',
}), originator : originator
}),
stream); stream);
}); });
peer.on('newtransport', (transport) => peer.on('newtransport', (transport) =>
{ {
emit(Object.assign({}, baseEvent, emit(
{ Object.assign({}, baseEvent,
event : 'peer.newtransport', {
transportId : transport.id, event : 'peer.newtransport',
direction : transport.direction, transportId : transport.id,
iceLocalCandidates : transport.iceLocalCandidates direction : transport.direction,
}), iceLocalCandidates : transport.iceLocalCandidates
}),
stream); stream);
handleTransport(transport, baseEvent, stream); handleTransport(transport, baseEvent, stream);
@ -97,14 +100,15 @@ function handlePeer(peer, baseEvent, stream)
peer.on('newproducer', (producer) => peer.on('newproducer', (producer) =>
{ {
emit(Object.assign({}, baseEvent, emit(
{ Object.assign({}, baseEvent,
event : 'peer.newproducer', {
producerId : producer.id, event : 'peer.newproducer',
kind : producer.kind, producerId : producer.id,
transportId : producer.transport.id, kind : producer.kind,
rtpParameters : producer.rtpParameters transportId : producer.transport.id,
}), rtpParameters : producer.rtpParameters
}),
stream); stream);
handleProducer(producer, baseEvent, stream); handleProducer(producer, baseEvent, stream);
@ -112,14 +116,15 @@ function handlePeer(peer, baseEvent, stream)
peer.on('newconsumer', (consumer) => peer.on('newconsumer', (consumer) =>
{ {
emit(Object.assign({}, baseEvent, emit(
{ Object.assign({}, baseEvent,
event : 'peer.newconsumer', {
consumerId : consumer.id, event : 'peer.newconsumer',
kind : consumer.kind, consumerId : consumer.id,
sourceId : consumer.source.id, kind : consumer.kind,
rtpParameters : consumer.rtpParameters sourceId : consumer.source.id,
}), rtpParameters : consumer.rtpParameters
}),
stream); stream);
handleConsumer(consumer, baseEvent, 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. // Must also handle existing Consumers at the time the Peer was created.
for (const consumer of peer.consumers) for (const consumer of peer.consumers)
{ {
emit(Object.assign({}, baseEvent, emit(
{ Object.assign({}, baseEvent,
event : 'peer.newconsumer', {
consumerId : consumer.id, event : 'peer.newconsumer',
kind : consumer.kind, consumerId : consumer.id,
sourceId : consumer.source.id, kind : consumer.kind,
rtpParameters : consumer.rtpParameters sourceId : consumer.source.id,
}), rtpParameters : consumer.rtpParameters
}),
stream); stream);
handleConsumer(consumer, baseEvent, stream); handleConsumer(consumer, baseEvent, stream);
@ -149,16 +155,17 @@ function handleTransport(transport, baseEvent, stream)
transportId : transport.id transportId : transport.id
}); });
const statsInterval = setInterval((stats) => const statsInterval = setInterval(() =>
{ {
transport.getStats() transport.getStats()
.then((stats) => .then((stats) =>
{ {
emit(Object.assign({}, baseEvent, emit(
{ Object.assign({}, baseEvent,
event : 'transport.stats', {
stats : stats event : 'transport.stats',
}), stats : stats
}),
stream); stream);
}); });
}, STATS_INTERVAL); }, STATS_INTERVAL);
@ -167,41 +174,45 @@ function handleTransport(transport, baseEvent, stream)
{ {
clearInterval(statsInterval); clearInterval(statsInterval);
emit(Object.assign({}, baseEvent, emit(
{ Object.assign({}, baseEvent,
event : 'transport.close', {
originator : originator event : 'transport.close',
}), originator : originator
}),
stream); stream);
}); });
transport.on('iceselectedtuplechange', (iceSelectedTuple) => transport.on('iceselectedtuplechange', (iceSelectedTuple) =>
{ {
emit(Object.assign({}, baseEvent, emit(
{ Object.assign({}, baseEvent,
event : 'transport.iceselectedtuplechange', {
iceSelectedTuple : iceSelectedTuple event : 'transport.iceselectedtuplechange',
}), iceSelectedTuple : iceSelectedTuple
}),
stream); stream);
}); });
transport.on('icestatechange', (iceState) => transport.on('icestatechange', (iceState) =>
{ {
emit(Object.assign({}, baseEvent, emit(
{ Object.assign({}, baseEvent,
event : 'transport.icestatechange', {
iceState : iceState event : 'transport.icestatechange',
}), iceState : iceState
}),
stream); stream);
}); });
transport.on('dtlsstatechange', (dtlsState) => transport.on('dtlsstatechange', (dtlsState) =>
{ {
emit(Object.assign({}, baseEvent, emit(
{ Object.assign({}, baseEvent,
event : 'transport.dtlsstatechange', {
dtlsState : dtlsState event : 'transport.dtlsstatechange',
}), dtlsState : dtlsState
}),
stream); stream);
}); });
} }
@ -213,16 +224,17 @@ function handleProducer(producer, baseEvent, stream)
producerId : producer.id producerId : producer.id
}); });
const statsInterval = setInterval((stats) => const statsInterval = setInterval(() =>
{ {
producer.getStats() producer.getStats()
.then((stats) => .then((stats) =>
{ {
emit(Object.assign({}, baseEvent, emit(
{ Object.assign({}, baseEvent,
event : 'producer.stats', {
stats : stats event : 'producer.stats',
}), stats : stats
}),
stream); stream);
}); });
}, STATS_INTERVAL); }, STATS_INTERVAL);
@ -231,31 +243,34 @@ function handleProducer(producer, baseEvent, stream)
{ {
clearInterval(statsInterval); clearInterval(statsInterval);
emit(Object.assign({}, baseEvent, emit(
{ Object.assign({}, baseEvent,
event : 'producer.close', {
originator : originator event : 'producer.close',
}), originator : originator
}),
stream); stream);
}); });
producer.on('pause', (originator) => producer.on('pause', (originator) =>
{ {
emit(Object.assign({}, baseEvent, emit(
{ Object.assign({}, baseEvent,
event : 'producer.pause', {
originator : originator event : 'producer.pause',
}), originator : originator
}),
stream); stream);
}); });
producer.on('resume', (originator) => producer.on('resume', (originator) =>
{ {
emit(Object.assign({}, baseEvent, emit(
{ Object.assign({}, baseEvent,
event : 'producer.resume', {
originator : originator event : 'producer.resume',
}), originator : originator
}),
stream); stream);
}); });
} }
@ -267,16 +282,17 @@ function handleConsumer(consumer, baseEvent, stream)
consumerId : consumer.id consumerId : consumer.id
}); });
const statsInterval = setInterval((stats) => const statsInterval = setInterval(() =>
{ {
consumer.getStats() consumer.getStats()
.then((stats) => .then((stats) =>
{ {
emit(Object.assign({}, baseEvent, emit(
{ Object.assign({}, baseEvent,
event : 'consumer.stats', {
stats : stats event : 'consumer.stats',
}), stats : stats
}),
stream); stream);
}); });
}, STATS_INTERVAL); }, STATS_INTERVAL);
@ -285,60 +301,66 @@ function handleConsumer(consumer, baseEvent, stream)
{ {
clearInterval(statsInterval); clearInterval(statsInterval);
emit(Object.assign({}, baseEvent, emit(
{ Object.assign({}, baseEvent,
event : 'consumer.close', {
originator : originator event : 'consumer.close',
}), originator : originator
}),
stream); stream);
}); });
consumer.on('handled', () => consumer.on('handled', () =>
{ {
emit(Object.assign({}, baseEvent, emit(
{ Object.assign({}, baseEvent,
event : 'consumer.handled', {
transportId : consumer.transport.id event : 'consumer.handled',
}), transportId : consumer.transport.id
}),
stream); stream);
}); });
consumer.on('unhandled', () => consumer.on('unhandled', () =>
{ {
emit(Object.assign({}, baseEvent, emit(
{ Object.assign({}, baseEvent,
event : 'consumer.handled' {
}), event : 'consumer.handled'
}),
stream); stream);
}); });
consumer.on('pause', (originator) => consumer.on('pause', (originator) =>
{ {
emit(Object.assign({}, baseEvent, emit(
{ Object.assign({}, baseEvent,
event : 'consumer.pause', {
originator : originator event : 'consumer.pause',
}), originator : originator
}),
stream); stream);
}); });
consumer.on('resume', (originator) => consumer.on('resume', (originator) =>
{ {
emit(Object.assign({}, baseEvent, emit(
{ Object.assign({}, baseEvent,
event : 'consumer.resume', {
originator : originator event : 'consumer.resume',
}), originator : originator
}),
stream); stream);
}); });
consumer.on('effectiveprofilechange', (profile) => consumer.on('effectiveprofilechange', (profile) =>
{ {
emit(Object.assign({}, baseEvent, emit(
{ Object.assign({}, baseEvent,
event : 'consumer.effectiveprofilechange', {
profile : profile event : 'consumer.effectiveprofilechange',
}), profile : profile
}),
stream); stream);
}); });
} }

View File

@ -6,8 +6,6 @@ process.title = 'mediasoup-demo-server';
const config = require('./config'); const config = require('./config');
process.env.DEBUG = process.env.DEBUG || '*INFO* *WARN* *ERROR* *mediasoup-worker*';
/* eslint-disable no-console */ /* eslint-disable no-console */
console.log('- process.env.DEBUG:', process.env.DEBUG); console.log('- process.env.DEBUG:', process.env.DEBUG);
console.log('- config.mediasoup.logLevel:', config.mediasoup.logLevel); console.log('- config.mediasoup.logLevel:', config.mediasoup.logLevel);