Skip to content

Commit a87190b

Browse files
committed
Make ?forceTcp=true also work as expected when MEDIASOUP_USE_WEBRTC_SERVER=false env is set. Also add npm script to generate local certificate
1 parent ec764c3 commit a87190b

File tree

2 files changed

+13
-15
lines changed

2 files changed

+13
-15
lines changed

server/lib/Room.js

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ const protoo = require('protoo-server');
33
// const rtp = require('rtp.js');
44
const throttle = require('@sitespeed.io/throttle');
55
const Logger = require('./Logger');
6+
const utils = require('./utils');
67
const config = require('../config');
78
const Bot = require('./Bot');
89

@@ -463,17 +464,15 @@ class Room extends EventEmitter
463464
{
464465
const webRtcTransportOptions =
465466
{
466-
...config.mediasoup.webRtcTransportOptions,
467+
...utils.clone(config.mediasoup.webRtcTransportOptions),
468+
webRtcServer : this._webRtcServer,
467469
iceConsentTimeout : 20,
468470
enableSctp : Boolean(sctpCapabilities),
469471
numSctpStreams : (sctpCapabilities || {}).numStreams
470472
};
471473

472-
const transport = await this._mediasoupRouter.createWebRtcTransport(
473-
{
474-
...webRtcTransportOptions,
475-
webRtcServer : this._webRtcServer
476-
});
474+
const transport =
475+
await this._mediasoupRouter.createWebRtcTransport(webRtcTransportOptions);
477476

478477
// Store it.
479478
broadcaster.data.transports.set(transport.id, transport);
@@ -491,7 +490,7 @@ class Room extends EventEmitter
491490
{
492491
const plainTransportOptions =
493492
{
494-
...config.mediasoup.plainTransportOptions,
493+
...utils.clone(config.mediasoup.plainTransportOptions),
495494
rtcpMux : rtcpMux,
496495
comedia : comedia
497496
};
@@ -982,7 +981,8 @@ class Room extends EventEmitter
982981

983982
const webRtcTransportOptions =
984983
{
985-
...config.mediasoup.webRtcTransportOptions,
984+
...utils.clone(config.mediasoup.webRtcTransportOptions),
985+
webRtcServer : this._webRtcServer,
986986
iceConsentTimeout : 20,
987987
enableSctp : Boolean(sctpCapabilities),
988988
numSctpStreams : (sctpCapabilities || {}).numStreams,
@@ -991,15 +991,12 @@ class Room extends EventEmitter
991991

992992
if (forceTcp)
993993
{
994-
webRtcTransportOptions.enableUdp = false;
995-
webRtcTransportOptions.enableTcp = true;
994+
webRtcTransportOptions.listenInfos = webRtcTransportOptions.listenInfos
995+
.filter((listenInfo) => listenInfo.protocol === 'tcp');
996996
}
997997

998-
const transport = await this._mediasoupRouter.createWebRtcTransport(
999-
{
1000-
...webRtcTransportOptions,
1001-
webRtcServer : this._webRtcServer
1002-
});
998+
const transport =
999+
await this._mediasoupRouter.createWebRtcTransport(webRtcTransportOptions);
10031000

10041001
transport.on('icestatechange', (iceState) =>
10051002
{

server/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"license": "All Rights Reserved",
88
"main": "lib/index.js",
99
"scripts": {
10+
"generate-dev-certificate": "mkcert -install --key-file certs/server.key --cert-file certs/server.crt mediasoup-demo.dev \"*.mediasoup-demo.dev\" localhost 127.0.0.1 ::1",
1011
"lint": "eslint -c .eslintrc.js server.js lib connect.js",
1112
"start": "DEBUG=${DEBUG:='*mediasoup* *INFO* *WARN* *ERROR*'} INTERACTIVE=${INTERACTIVE:='true'} node server.js",
1213
"connect": "node connect.js"

0 commit comments

Comments
 (0)