-
Notifications
You must be signed in to change notification settings - Fork 166
Expand file tree
/
Copy pathserver.js
More file actions
27 lines (20 loc) · 784 Bytes
/
server.js
File metadata and controls
27 lines (20 loc) · 784 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
'use strict';
const { broadcaster } = require('../broadcaster/server')
function beforeOffer(peerConnection) {
const audioTransceiver = peerConnection.addTransceiver('audio');
const videoTransceiver = peerConnection.addTransceiver('video');
function onNewBroadcast({ audioTrack, videoTrack }) {
audioTransceiver.sender.replaceTrack(audioTrack),
videoTransceiver.sender.replaceTrack(videoTrack)
}
broadcaster.on('newBroadcast', onNewBroadcast)
if (broadcaster.audioTrack && broadcaster.videoTrack) {
onNewBroadcast(broadcaster);
}
const { close } = peerConnection;
peerConnection.close = function() {
broadcaster.removeListener('newBroadcast', onNewBroadcast);
return close.apply(this, arguments);
}
}
module.exports = { beforeOffer };