@reactoo/watchtogether-sdk-js 2.5.25 → 2.5.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/watchtogether-sdk.js +44 -33
- package/dist/watchtogether-sdk.min.js +2 -2
- package/example/bulk_join_room/bulk_join_room.html +1 -2
- package/package.json +1 -1
- package/src/models/room-session.js +3 -9
- package/src/modules/sync-modules/sync-dash-vod.js +1 -1
- package/src/modules/sync-modules/sync-dash.js +1 -1
- package/src/modules/sync-modules/sync-dazn-dash.js +1 -1
- package/src/modules/sync-modules/sync-doris.js +1 -1
- package/src/modules/sync-modules/sync-hls-vod.js +1 -1
- package/src/modules/sync-modules/sync-hls.js +1 -1
- package/src/modules/sync-modules/sync-native-hls-vod.js +1 -1
- package/src/modules/sync-modules/sync-native-hls.js +1 -1
- package/src/modules/sync-modules/sync-shaka-dash-vod.js +1 -1
- package/src/modules/sync-modules/sync-shaka-dash.js +1 -1
- package/src/modules/sync-modules/sync-universal.js +1 -1
- package/src/modules/wt-room.js +19 -8
|
@@ -32,7 +32,6 @@
|
|
|
32
32
|
<input type="number" id="connection-timeout" placeholder="5000" min="0">
|
|
33
33
|
|
|
34
34
|
<br><br>
|
|
35
|
-
|
|
36
35
|
<button type="submit" id="join-room">Create users and join room</button>
|
|
37
36
|
|
|
38
37
|
<button type="button" id="leave-room" onclick="leaveParticipants()">Leave room</button>
|
|
@@ -52,7 +51,7 @@
|
|
|
52
51
|
|
|
53
52
|
let participantsCount = 3;
|
|
54
53
|
let instanceType = "reactooDemo";
|
|
55
|
-
let roomId = "
|
|
54
|
+
let roomId = "2e705d79-aaa9-4790-a3d7-512858f60932";
|
|
56
55
|
let pinHash = undefined;
|
|
57
56
|
let timeoutBetweenParticipantsJoins = 5000;
|
|
58
57
|
|
package/package.json
CHANGED
|
@@ -102,7 +102,7 @@ let roomSession = function ({roomId, pinHash, isTalkback, isMonitor, isInstructo
|
|
|
102
102
|
return Promise.all([roomData, userData])
|
|
103
103
|
})
|
|
104
104
|
.then(([roomData, userData]) => Promise.all([roomData, userData, this.setRoomVars()]))
|
|
105
|
-
.then(([roomData, userData, _]) => Promise.all([roomData, userData, room.connect(roomData.data.roomId, roomData.data.pin, roomData.data.href, roomData.data.iceServers, roomData.data.accessToken,
|
|
105
|
+
.then(([roomData, userData, _]) => Promise.all([roomData, userData, room.connect(roomData.data.roomId, roomData.data.pin, roomData.data.href, roomData.data.iceServers, roomData.data.accessToken, roomData.data.display, roomData.data.userId, roomData.data.webrtcVersion, (roomData.data.bitrate ? parseInt(roomData.data.bitrate) : 0), isMonitor, roomData.data.recordingFilename)]))
|
|
106
106
|
.finally(() => {
|
|
107
107
|
emitter.emit('connecting', false);
|
|
108
108
|
})
|
|
@@ -170,7 +170,7 @@ let roomSession = function ({roomId, pinHash, isTalkback, isMonitor, isInstructo
|
|
|
170
170
|
} else if (msg.action === 'user_update_displayname' || msg.action === 'user_update_avatar' || msg.action === 'user_update_customattributes' || msg.action === 'user_update_privateattributes') {
|
|
171
171
|
emitter.emit('userUpdate', msg.text);
|
|
172
172
|
} else if (msg.action === 'observer_connecting' || msg.action === 'talkback_connecting' || msg.action === 'instructor_connecting') {
|
|
173
|
-
this.setRoomVars(
|
|
173
|
+
this.setRoomVars().catch(e => {
|
|
174
174
|
room._log('Setting observers failed, this will cause issues', e);
|
|
175
175
|
});
|
|
176
176
|
} else if (msg.action === 'bitrate_changed') {
|
|
@@ -286,15 +286,9 @@ let roomSession = function ({roomId, pinHash, isTalkback, isMonitor, isInstructo
|
|
|
286
286
|
}
|
|
287
287
|
},
|
|
288
288
|
|
|
289
|
-
setRoomVars: (
|
|
289
|
+
setRoomVars: () => {
|
|
290
290
|
return wt.room.getRoomById(roomId, pinHash)
|
|
291
291
|
.then(r => {
|
|
292
|
-
if (emit) {
|
|
293
|
-
// emiting "fake" playerSource event
|
|
294
|
-
//TODO: somehow push into sync modules instead
|
|
295
|
-
emitter.emit('changePlayerSource', r.data.wtChannelId, true);
|
|
296
|
-
}
|
|
297
|
-
|
|
298
292
|
// setting observers userId's so we can ignore them when creating participant
|
|
299
293
|
room.setObserverIds(r.data.allowedObservers);
|
|
300
294
|
room.setTalkbackIds(r.data.allowedTalkbacks);
|
|
@@ -429,7 +429,7 @@ const syncVodDashJs = function ({room, wt, roomSession, emitter} = {}) {
|
|
|
429
429
|
timestamp: new Date().getTime(),
|
|
430
430
|
fragment: isPlaying ? "1":"0",
|
|
431
431
|
fragment_pos: Number(fragmentPosition),
|
|
432
|
-
|
|
432
|
+
slave_id: room.webrtcVersion > 1000 ? String(slaveId) : Number(slaveId)
|
|
433
433
|
}});
|
|
434
434
|
};
|
|
435
435
|
|
|
@@ -328,7 +328,7 @@ const syncDashJs = function ({room, wt, roomSession, emitter} = {}) {
|
|
|
328
328
|
timestamp: new Date().getTime(),
|
|
329
329
|
fragment: String("0"),
|
|
330
330
|
fragment_pos: Number(fragmentPosition),
|
|
331
|
-
slave_id:Number(slaveId)
|
|
331
|
+
slave_id: room.webrtcVersion > 1000 ? String(slaveId) : Number(slaveId)
|
|
332
332
|
}});
|
|
333
333
|
};
|
|
334
334
|
|
|
@@ -335,7 +335,7 @@ const syncDaznDash = function ({room, wt, roomSession, emitter} = {}) {
|
|
|
335
335
|
timestamp: new Date().getTime(),
|
|
336
336
|
fragment: String("0"),
|
|
337
337
|
fragment_pos: Number(fragmentPosition),
|
|
338
|
-
slave_id:Number(slaveId)
|
|
338
|
+
slave_id: room.webrtcVersion > 1000 ? String(slaveId) : Number(slaveId)
|
|
339
339
|
}});
|
|
340
340
|
};
|
|
341
341
|
|
|
@@ -326,7 +326,7 @@ const syncDoris = function ({room, wt, roomSession, emitter} = {}) {
|
|
|
326
326
|
timestamp: new Date().getTime(),
|
|
327
327
|
fragment: String("0"),
|
|
328
328
|
fragment_pos: Number(fragmentPosition),
|
|
329
|
-
slave_id:Number(slaveId)
|
|
329
|
+
slave_id: room.webrtcVersion > 1000 ? String(slaveId) : Number(slaveId)
|
|
330
330
|
}});
|
|
331
331
|
};
|
|
332
332
|
|
|
@@ -429,7 +429,7 @@ const syncVodHlsJs = function ({room, wt, roomSession, emitter} = {}) {
|
|
|
429
429
|
timestamp: new Date().getTime(),
|
|
430
430
|
fragment: isPlaying ? "1":"0",
|
|
431
431
|
fragment_pos: Number(fragmentPosition),
|
|
432
|
-
slave_id:Number(slaveId)
|
|
432
|
+
slave_id: room.webrtcVersion > 1000 ? String(slaveId) : Number(slaveId)
|
|
433
433
|
}});
|
|
434
434
|
};
|
|
435
435
|
|
|
@@ -499,7 +499,7 @@ const syncHlsJs = function ({room, wt, roomSession, emitter} = {}) {
|
|
|
499
499
|
timestamp: new Date().getTime(),
|
|
500
500
|
fragment: String(fragment),
|
|
501
501
|
fragment_pos: Number(fragmentPosition),
|
|
502
|
-
slave_id:Number(slaveId)
|
|
502
|
+
slave_id: room.webrtcVersion > 1000 ? String(slaveId) : Number(slaveId)
|
|
503
503
|
}});
|
|
504
504
|
};
|
|
505
505
|
|
|
@@ -421,7 +421,7 @@ const syncVodHlsJs = function ({room, wt, roomSession, emitter} = {}) {
|
|
|
421
421
|
timestamp: new Date().getTime(),
|
|
422
422
|
fragment: isPlaying ? "1":"0",
|
|
423
423
|
fragment_pos: Number(fragmentPosition),
|
|
424
|
-
slave_id:Number(slaveId)
|
|
424
|
+
slave_id: room.webrtcVersion > 1000 ? String(slaveId) : Number(slaveId)
|
|
425
425
|
}});
|
|
426
426
|
};
|
|
427
427
|
|
|
@@ -331,7 +331,7 @@ const syncNativeHls = function ({room, wt, roomSession, emitter} = {}) {
|
|
|
331
331
|
timestamp: new Date().getTime(),
|
|
332
332
|
fragment: String("0"),
|
|
333
333
|
fragment_pos: Number(fragmentPosition),
|
|
334
|
-
slave_id:Number(slaveId)
|
|
334
|
+
slave_id: room.webrtcVersion > 1000 ? String(slaveId) : Number(slaveId)
|
|
335
335
|
}});
|
|
336
336
|
};
|
|
337
337
|
|
|
@@ -427,7 +427,7 @@ const syncVodShakaDash = function ({room, wt, roomSession, emitter} = {}) {
|
|
|
427
427
|
timestamp: new Date().getTime(),
|
|
428
428
|
fragment: isPlaying ? "1":"0",
|
|
429
429
|
fragment_pos: Number(fragmentPosition),
|
|
430
|
-
|
|
430
|
+
slave_id: room.webrtcVersion > 1000 ? String(slaveId) : Number(slaveId)
|
|
431
431
|
}});
|
|
432
432
|
};
|
|
433
433
|
|
|
@@ -341,7 +341,7 @@ const syncDaznDash = function ({room, wt, roomSession, emitter} = {}) {
|
|
|
341
341
|
timestamp: new Date().getTime(),
|
|
342
342
|
fragment: String("0"),
|
|
343
343
|
fragment_pos: Number(fragmentPosition),
|
|
344
|
-
slave_id:Number(slaveId)
|
|
344
|
+
slave_id: room.webrtcVersion > 1000 ? String(slaveId) : Number(slaveId)
|
|
345
345
|
}});
|
|
346
346
|
};
|
|
347
347
|
|
|
@@ -339,7 +339,7 @@ const syncUniversal = function ({room, wt, roomSession, emitter} = {}) {
|
|
|
339
339
|
timestamp: new Date().getTime(),
|
|
340
340
|
fragment: String("0"),
|
|
341
341
|
fragment_pos: Number(fragmentPosition),
|
|
342
|
-
slave_id: Number(slaveId)
|
|
342
|
+
slave_id: room.webrtcVersion > 1000 ? String(slaveId) : Number(slaveId)
|
|
343
343
|
}});
|
|
344
344
|
};
|
|
345
345
|
|
package/src/modules/wt-room.js
CHANGED
|
@@ -507,6 +507,7 @@ class RoomSession {
|
|
|
507
507
|
"ptype": "subscriber",
|
|
508
508
|
"feed": id,
|
|
509
509
|
"private_id": this.privateId,
|
|
510
|
+
...(this.webrtcVersion > 1000 ? {id: this.userId} : {}),
|
|
510
511
|
pin: this.pin
|
|
511
512
|
}
|
|
512
513
|
})
|
|
@@ -542,6 +543,7 @@ class RoomSession {
|
|
|
542
543
|
"ptype": "subscriber",
|
|
543
544
|
"feed": id,
|
|
544
545
|
"private_id": this.privateId,
|
|
546
|
+
...(this.webrtcVersion > 1000 ? {id: this.userId} : {}),
|
|
545
547
|
pin: this.pin
|
|
546
548
|
}
|
|
547
549
|
})
|
|
@@ -817,10 +819,10 @@ class RoomSession {
|
|
|
817
819
|
})
|
|
818
820
|
}
|
|
819
821
|
|
|
820
|
-
_joinRoom(roomId, pin, userId) {
|
|
822
|
+
_joinRoom(roomId, pin, userId, display) {
|
|
821
823
|
return this.sendMessage(this.handleId, {
|
|
822
824
|
body: {
|
|
823
|
-
"request": "join", "room": roomId, "pin": pin, "ptype": "publisher", "display": userId
|
|
825
|
+
"request": "join", "room": roomId, "pin": pin, "ptype": "publisher", "display": display, ...(this.webrtcVersion > 1000 ? {id: userId} : {})
|
|
824
826
|
}
|
|
825
827
|
}, false, true)
|
|
826
828
|
}
|
|
@@ -892,7 +894,7 @@ class RoomSession {
|
|
|
892
894
|
return this.connectingPromise;
|
|
893
895
|
}
|
|
894
896
|
|
|
895
|
-
connect(roomId, pin, server, iceServers, token, userId, webrtcVersion = 0, initialBitrate = 0, isMonitor, recordingFilename) {
|
|
897
|
+
connect(roomId, pin, server, iceServers, token, display, userId, webrtcVersion = 0, initialBitrate = 0, isMonitor, recordingFilename) {
|
|
896
898
|
|
|
897
899
|
if (this.connectingPromise) {
|
|
898
900
|
return this.connectingPromise;
|
|
@@ -910,7 +912,9 @@ class RoomSession {
|
|
|
910
912
|
this.token = token;
|
|
911
913
|
this.roomId = roomId;
|
|
912
914
|
this.pin = pin;
|
|
915
|
+
this.display = display;
|
|
913
916
|
this.userId = userId;
|
|
917
|
+
this.webrtcVersion = webrtcVersion;
|
|
914
918
|
this.initialBitrate = initialBitrate;
|
|
915
919
|
this.isMonitor = isMonitor;
|
|
916
920
|
this.recordingFilename = recordingFilename;
|
|
@@ -935,7 +939,7 @@ class RoomSession {
|
|
|
935
939
|
this.handleId = handle.handleId;
|
|
936
940
|
return 1
|
|
937
941
|
})
|
|
938
|
-
.then(() => this._joinRoom(roomId, pin, userId))
|
|
942
|
+
.then(() => this._joinRoom(roomId, pin, userId, display))
|
|
939
943
|
.then(() => {
|
|
940
944
|
this.connectingPromise = null;
|
|
941
945
|
this.emit('joining', false);
|
|
@@ -960,6 +964,9 @@ class RoomSession {
|
|
|
960
964
|
if (this.disconnectingPromise) {
|
|
961
965
|
return this.disconnectingPromise;
|
|
962
966
|
}
|
|
967
|
+
|
|
968
|
+
let _hasJoined = this._hasJoined;
|
|
969
|
+
|
|
963
970
|
clearTimeout(this._messageTimeoutId);
|
|
964
971
|
clearTimeout(this._dataChannelTimeoutId);
|
|
965
972
|
this._stopKeepAlive();
|
|
@@ -974,9 +981,11 @@ class RoomSession {
|
|
|
974
981
|
//TODO: Just in case something crashed along the way
|
|
975
982
|
this._isPublished = false;
|
|
976
983
|
this._hasJoined = false;
|
|
984
|
+
this.emit('publishing', false);
|
|
977
985
|
this.emit('published', {status: false, hasStream: false});
|
|
986
|
+
this.emit('joining', false);
|
|
978
987
|
this.emit('joined', false);
|
|
979
|
-
this.emit('disconnect');
|
|
988
|
+
this.emit('disconnect', _hasJoined);
|
|
980
989
|
return Promise.resolve('Disconnected');
|
|
981
990
|
})
|
|
982
991
|
return this.disconnectingPromise;
|
|
@@ -1046,6 +1055,9 @@ class RoomSession {
|
|
|
1046
1055
|
if (this.disconnectingPromise) {
|
|
1047
1056
|
return this.disconnectingPromise;
|
|
1048
1057
|
}
|
|
1058
|
+
|
|
1059
|
+
let _isStreaming = this._isStreaming;
|
|
1060
|
+
|
|
1049
1061
|
this._stopKeepAlive();
|
|
1050
1062
|
this.disconnectingPromise = this.sendMessage(this.handleId, {
|
|
1051
1063
|
body: {
|
|
@@ -1061,9 +1073,9 @@ class RoomSession {
|
|
|
1061
1073
|
}
|
|
1062
1074
|
this.sessionId = null;
|
|
1063
1075
|
this._isStreaming = false;
|
|
1076
|
+
this.emit('streamStarting', false);
|
|
1064
1077
|
this.emit('streaming', false);
|
|
1065
|
-
|
|
1066
|
-
this.emit('disconnect');
|
|
1078
|
+
this.emit('disconnect', _isStreaming);
|
|
1067
1079
|
this.disconnectingPromise = null;
|
|
1068
1080
|
return Promise.resolve('Disconnected');
|
|
1069
1081
|
});
|
|
@@ -1071,7 +1083,6 @@ class RoomSession {
|
|
|
1071
1083
|
return this.disconnectingPromise;
|
|
1072
1084
|
}
|
|
1073
1085
|
|
|
1074
|
-
|
|
1075
1086
|
destroy() {
|
|
1076
1087
|
|
|
1077
1088
|
if (this.sessiontype === 'reactooroom') {
|