|
@@ -3379,40 +3379,41 @@ JitsiConference.prototype._maybeStartOrStopP2P = function(userLeftEvent) {
|
3379
|
3379
|
// Start peer to peer session
|
3380
|
3380
|
if (!this.p2pJingleSession && shouldBeInP2P) {
|
3381
|
3381
|
const peer = peerCount && peers[0];
|
3382
|
|
-
|
3383
|
|
-
|
3384
|
3382
|
const myId = this.myUserId();
|
3385
|
3383
|
const peersId = peer.getId();
|
|
3384
|
+ const jid = peer.getJid();
|
3386
|
3385
|
|
3387
|
|
- if (myId > peersId) {
|
3388
|
|
- logger.debug(
|
3389
|
|
- 'I\'m the bigger peersId - '
|
3390
|
|
- + 'the other peer should start P2P', myId, peersId);
|
3391
|
|
-
|
3392
|
|
- return;
|
3393
|
|
- } else if (myId === peersId) {
|
3394
|
|
- logger.error('The same IDs ? ', myId, peersId);
|
|
3386
|
+ // Force initiator or responder mode for testing if option is passed to config.
|
|
3387
|
+ if (this.options.config.testing?.forceInitiator) {
|
|
3388
|
+ logger.debug(`Forcing P2P initiator, will start P2P with: ${jid}`);
|
|
3389
|
+ this._startP2PSession(jid);
|
|
3390
|
+ } else if (this.options.config.testing?.forceResponder) {
|
|
3391
|
+ logger.debug(`Forcing P2P responder, will wait for the other peer ${jid} to start P2P`);
|
|
3392
|
+ } else {
|
|
3393
|
+ if (myId > peersId) {
|
|
3394
|
+ logger.debug('I\'m the bigger peersId - the other peer should start P2P', myId, peersId);
|
3395
|
3395
|
|
3396
|
|
- return;
|
3397
|
|
- }
|
|
3396
|
+ return;
|
|
3397
|
+ } else if (myId === peersId) {
|
|
3398
|
+ logger.error('The same IDs ? ', myId, peersId);
|
3398
|
3399
|
|
3399
|
|
- const jid = peer.getJid();
|
|
3400
|
+ return;
|
|
3401
|
+ }
|
3400
|
3402
|
|
3401
|
|
- if (userLeftEvent) {
|
3402
|
|
- if (this.deferredStartP2PTask) {
|
3403
|
|
- logger.error('Deferred start P2P task\'s been set already!');
|
|
3403
|
+ if (userLeftEvent) {
|
|
3404
|
+ if (this.deferredStartP2PTask) {
|
|
3405
|
+ logger.error('Deferred start P2P task\'s been set already!');
|
3404
|
3406
|
|
3405
|
|
- return;
|
|
3407
|
+ return;
|
|
3408
|
+ }
|
|
3409
|
+ logger.info(`Will start P2P with: ${jid} after ${this.backToP2PDelay} seconds...`);
|
|
3410
|
+ this.deferredStartP2PTask = setTimeout(
|
|
3411
|
+ this._startP2PSession.bind(this, jid),
|
|
3412
|
+ this.backToP2PDelay * 1000);
|
|
3413
|
+ } else {
|
|
3414
|
+ logger.info(`Will start P2P with: ${jid}`);
|
|
3415
|
+ this._startP2PSession(jid);
|
3406
|
3416
|
}
|
3407
|
|
- logger.info(
|
3408
|
|
- `Will start P2P with: ${jid} after ${
|
3409
|
|
- this.backToP2PDelay} seconds...`);
|
3410
|
|
- this.deferredStartP2PTask = setTimeout(
|
3411
|
|
- this._startP2PSession.bind(this, jid),
|
3412
|
|
- this.backToP2PDelay * 1000);
|
3413
|
|
- } else {
|
3414
|
|
- logger.info(`Will start P2P with: ${jid}`);
|
3415
|
|
- this._startP2PSession(jid);
|
3416
|
3417
|
}
|
3417
|
3418
|
} else if (this.p2pJingleSession && !shouldBeInP2P) {
|
3418
|
3419
|
logger.info(`Will stop P2P with: ${this.p2pJingleSession.remoteJid}`);
|