@videosdk.live/react-sdk 0.2.2 → 0.3.0

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.
@@ -3,52 +3,62 @@ import EventEmitter from 'events';
3
3
  import { VideoSDK } from '@videosdk.live/js-sdk';
4
4
  export { CameraDeviceInfo, DeviceInfo, MicrophoneDeviceInfo } from '@videosdk.live/js-sdk';
5
5
 
6
- function _arrayLikeToArray(r, a) {
7
- (null == a || a > r.length) && (a = r.length);
8
- for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
9
- return n;
10
- }
11
- function _createForOfIteratorHelperLoose(r, e) {
12
- var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
13
- if (t) return (t = t.call(r)).next.bind(t);
14
- if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) {
15
- t && (r = t);
16
- var o = 0;
17
- return function () {
18
- return o >= r.length ? {
19
- done: !0
20
- } : {
21
- done: !1,
22
- value: r[o++]
23
- };
24
- };
25
- }
26
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
27
- }
28
6
  function _extends() {
29
- return _extends = Object.assign ? Object.assign.bind() : function (n) {
30
- for (var e = 1; e < arguments.length; e++) {
31
- var t = arguments[e];
32
- for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
7
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
8
+ for (var i = 1; i < arguments.length; i++) {
9
+ var source = arguments[i];
10
+ for (var key in source) {
11
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
12
+ target[key] = source[key];
13
+ }
14
+ }
33
15
  }
34
- return n;
35
- }, _extends.apply(null, arguments);
16
+ return target;
17
+ };
18
+ return _extends.apply(this, arguments);
36
19
  }
37
- function _objectWithoutPropertiesLoose(r, e) {
38
- if (null == r) return {};
39
- var t = {};
40
- for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
41
- if (-1 !== e.indexOf(n)) continue;
42
- t[n] = r[n];
20
+ function _objectWithoutPropertiesLoose(source, excluded) {
21
+ if (source == null) return {};
22
+ var target = {};
23
+ var sourceKeys = Object.keys(source);
24
+ var key, i;
25
+ for (i = 0; i < sourceKeys.length; i++) {
26
+ key = sourceKeys[i];
27
+ if (excluded.indexOf(key) >= 0) continue;
28
+ target[key] = source[key];
43
29
  }
44
- return t;
30
+ return target;
31
+ }
32
+ function _unsupportedIterableToArray(o, minLen) {
33
+ if (!o) return;
34
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
35
+ var n = Object.prototype.toString.call(o).slice(8, -1);
36
+ if (n === "Object" && o.constructor) n = o.constructor.name;
37
+ if (n === "Map" || n === "Set") return Array.from(o);
38
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
39
+ }
40
+ function _arrayLikeToArray(arr, len) {
41
+ if (len == null || len > arr.length) len = arr.length;
42
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
43
+ return arr2;
45
44
  }
46
- function _unsupportedIterableToArray(r, a) {
47
- if (r) {
48
- if ("string" == typeof r) return _arrayLikeToArray(r, a);
49
- var t = {}.toString.call(r).slice(8, -1);
50
- return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
45
+ function _createForOfIteratorHelperLoose(o, allowArrayLike) {
46
+ var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
47
+ if (it) return (it = it.call(o)).next.bind(it);
48
+ if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
49
+ if (it) o = it;
50
+ var i = 0;
51
+ return function () {
52
+ if (i >= o.length) return {
53
+ done: true
54
+ };
55
+ return {
56
+ done: false,
57
+ value: o[i++]
58
+ };
59
+ };
51
60
  }
61
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
52
62
  }
53
63
 
54
64
  var eventPrifix = 'videosdk-live-react-sdk';
@@ -89,7 +99,9 @@ var events = {
89
99
  'character-joined': eventPrifix + "-character-joined",
90
100
  'character-left': eventPrifix + "-character-left",
91
101
  'whiteboard-started': eventPrifix + "-whiteboard-started",
92
- 'whiteboard-stopped': eventPrifix + "-whiteboard-stopped"
102
+ 'whiteboard-stopped': eventPrifix + "-whiteboard-stopped",
103
+ 'paused-all-streams': eventPrifix + "-paused-all-streams",
104
+ 'resumed-all-streams': eventPrifix + "-resumed-all-streams"
93
105
  };
94
106
  var eventEmitter = new EventEmitter();
95
107
  eventEmitter.setMaxListeners(9999);
@@ -124,6 +136,10 @@ var useMeeting = function useMeeting(_temp) {
124
136
  onEntryRequested = _ref$onEntryRequested === void 0 ? function () {} : _ref$onEntryRequested,
125
137
  _ref$onEntryResponded = _ref.onEntryResponded,
126
138
  onEntryResponded = _ref$onEntryResponded === void 0 ? function () {} : _ref$onEntryResponded,
139
+ _ref$onPausedAllStrea = _ref.onPausedAllStreams,
140
+ onPausedAllStreams = _ref$onPausedAllStrea === void 0 ? function () {} : _ref$onPausedAllStrea,
141
+ _ref$onResumedAllStre = _ref.onResumedAllStreams,
142
+ onResumedAllStreams = _ref$onResumedAllStre === void 0 ? function () {} : _ref$onResumedAllStre,
127
143
  _ref$onRecordingStart = _ref.onRecordingStarted,
128
144
  onRecordingStarted = _ref$onRecordingStart === void 0 ? function () {} : _ref$onRecordingStart,
129
145
  _ref$onRecordingStopp = _ref.onRecordingStopped,
@@ -182,6 +198,8 @@ var useMeeting = function useMeeting(_temp) {
182
198
  eventEmitter.on(events['main-participant-changed'], onMainParticipantChanged);
183
199
  eventEmitter.on(events['entry-requested'], onEntryRequested);
184
200
  eventEmitter.on(events['entry-responded'], onEntryResponded);
201
+ eventEmitter.on(events['paused-all-streams'], onPausedAllStreams);
202
+ eventEmitter.on(events['resumed-all-streams'], onResumedAllStreams);
185
203
  eventEmitter.on(events['recording-started'], onRecordingStarted);
186
204
  eventEmitter.on(events['recording-stopped'], onRecordingStopped);
187
205
  eventEmitter.on(events['chat-message'], onChatMessage);
@@ -216,6 +234,8 @@ var useMeeting = function useMeeting(_temp) {
216
234
  eventEmitter.off(events['main-participant-changed'], onMainParticipantChanged);
217
235
  eventEmitter.off(events['entry-requested'], onEntryRequested);
218
236
  eventEmitter.off(events['entry-responded'], onEntryResponded);
237
+ eventEmitter.off(events['paused-all-streams'], onPausedAllStreams);
238
+ eventEmitter.off(events['resumed-all-streams'], onResumedAllStreams);
219
239
  eventEmitter.off(events['recording-started'], onRecordingStarted);
220
240
  eventEmitter.off(events['recording-stopped'], onRecordingStopped);
221
241
  eventEmitter.off(events['chat-message'], onChatMessage);
@@ -260,6 +280,10 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
260
280
  onEntryRequested = _ref2$onEntryRequeste === void 0 ? function () {} : _ref2$onEntryRequeste,
261
281
  _ref2$onEntryResponde = _ref2.onEntryResponded,
262
282
  onEntryResponded = _ref2$onEntryResponde === void 0 ? function () {} : _ref2$onEntryResponde,
283
+ _ref2$onPausedAllStre = _ref2.onPausedAllStreams,
284
+ onPausedAllStreams = _ref2$onPausedAllStre === void 0 ? function () {} : _ref2$onPausedAllStre,
285
+ _ref2$onResumedAllStr = _ref2.onResumedAllStreams,
286
+ onResumedAllStreams = _ref2$onResumedAllStr === void 0 ? function () {} : _ref2$onResumedAllStr,
263
287
  _ref2$onRecordingStar = _ref2.onRecordingStarted,
264
288
  onRecordingStarted = _ref2$onRecordingStar === void 0 ? function () {} : _ref2$onRecordingStar,
265
289
  _ref2$onRecordingStop = _ref2.onRecordingStopped,
@@ -319,6 +343,8 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
319
343
  eventEmitter.on(events['main-participant-changed'], onMainParticipantChanged);
320
344
  eventEmitter.on(events['entry-requested'], onEntryRequested);
321
345
  eventEmitter.on(events['entry-responded'], onEntryResponded);
346
+ eventEmitter.on(events['paused-all-streams'], onPausedAllStreams);
347
+ eventEmitter.on(events['resumed-all-streams'], onResumedAllStreams);
322
348
  eventEmitter.on(events['recording-started'], onRecordingStarted);
323
349
  eventEmitter.on(events['recording-stopped'], onRecordingStopped);
324
350
  eventEmitter.on(events['chat-message'], onChatMessage);
@@ -352,6 +378,8 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
352
378
  eventEmitter.off(events['main-participant-changed'], onMainParticipantChanged);
353
379
  eventEmitter.off(events['entry-requested'], onEntryRequested);
354
380
  eventEmitter.off(events['entry-responded'], onEntryResponded);
381
+ eventEmitter.off(events['paused-all-streams'], onPausedAllStreams);
382
+ eventEmitter.off(events['resumed-all-streams'], onResumedAllStreams);
355
383
  eventEmitter.off(events['recording-started'], onRecordingStarted);
356
384
  eventEmitter.off(events['recording-stopped'], onRecordingStopped);
357
385
  eventEmitter.off(events['chat-message'], onChatMessage);
@@ -381,7 +409,7 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
381
409
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MeetingProviderContex.Consumer, null, children));
382
410
  };
383
411
 
384
- var version = "0.2.1";
412
+ var version = "0.3.0";
385
413
 
386
414
  var MeetingProvider = function MeetingProvider(_ref) {
387
415
  var children = _ref.children,
@@ -633,7 +661,7 @@ var MeetingProvider = function MeetingProvider(_ref) {
633
661
  setIsMeetingJoined(true);
634
662
  }
635
663
  };
636
- var _handle_meeting_left2 = function _handle_meeting_left() {
664
+ var _handle_meeting_left = function _handle_meeting_left() {
637
665
  eventEmitter.emit(events['meeting-left']);
638
666
  var meeting = meetingRef.current;
639
667
  if (meeting) {
@@ -651,7 +679,7 @@ var MeetingProvider = function MeetingProvider(_ref) {
651
679
  meeting.off('recording-started', _handle_recording_started);
652
680
  meeting.off('recording-stopped', _handle_recording_stopped);
653
681
  meeting.off('meeting-joined', _handle_meeting_joined);
654
- meeting.off('meeting-left', _handle_meeting_left2);
682
+ meeting.off('meeting-left', _handle_meeting_left);
655
683
  meeting.off('livestream-started', _handle_live_stream_started);
656
684
  meeting.off('livestream-stopped', _handle_live_stream_stopped);
657
685
  meeting.off('video-state-changed', _handle_video_state_changed);
@@ -659,6 +687,8 @@ var MeetingProvider = function MeetingProvider(_ref) {
659
687
  meeting.off('webcam-requested', _handle_webcam_requested);
660
688
  meeting.off('mic-requested', _handle_mic_requested);
661
689
  meeting.off('pin-state-changed', _handle_pin_state_changed);
690
+ meeting.off('paused-all-streams', _handle_streams_paused);
691
+ meeting.off('resumed-all-streams', _handle_streams_resumed);
662
692
  meeting.off('connection-open', _handle_connection_open);
663
693
  meeting.off('connection-close', _handle_connection_close);
664
694
  meeting.off('switch-meeting', _handle_switch_meeting);
@@ -701,6 +731,18 @@ var MeetingProvider = function MeetingProvider(_ref) {
701
731
  pinnedBy: pinnedBy
702
732
  });
703
733
  };
734
+ var _handle_streams_paused = function _handle_streams_paused(_ref3) {
735
+ var kind = _ref3.kind;
736
+ eventEmitter.emit(events['paused-all-streams'], {
737
+ kind: kind
738
+ });
739
+ };
740
+ var _handle_streams_resumed = function _handle_streams_resumed(_ref4) {
741
+ var kind = _ref4.kind;
742
+ eventEmitter.emit(events['resumed-all-streams'], {
743
+ kind: kind
744
+ });
745
+ };
704
746
  var _handle_connection_open = function _handle_connection_open(connection) {
705
747
  setConnections(function (s) {
706
748
  s.set(connection.id, connection);
@@ -819,7 +861,7 @@ var MeetingProvider = function MeetingProvider(_ref) {
819
861
  meeting.on('recording-started', _handle_recording_started);
820
862
  meeting.on('recording-stopped', _handle_recording_stopped);
821
863
  meeting.on('meeting-joined', _handle_meeting_joined);
822
- meeting.on('meeting-left', _handle_meeting_left2);
864
+ meeting.on('meeting-left', _handle_meeting_left);
823
865
  meeting.on('livestream-started', _handle_live_stream_started);
824
866
  meeting.on('livestream-stopped', _handle_live_stream_stopped);
825
867
  meeting.on('video-state-changed', _handle_video_state_changed);
@@ -827,6 +869,8 @@ var MeetingProvider = function MeetingProvider(_ref) {
827
869
  meeting.on('webcam-requested', _handle_webcam_requested);
828
870
  meeting.on('mic-requested', _handle_mic_requested);
829
871
  meeting.on('pin-state-changed', _handle_pin_state_changed);
872
+ meeting.on('paused-all-streams', _handle_streams_paused);
873
+ meeting.on('resumed-all-streams', _handle_streams_resumed);
830
874
  meeting.on('connection-open', _handle_connection_open);
831
875
  meeting.on('connection-close', _handle_connection_close);
832
876
  meeting.on('switch-meeting', _handle_switch_meeting);
@@ -859,6 +903,18 @@ var MeetingProvider = function MeetingProvider(_ref) {
859
903
  meeting.end();
860
904
  }
861
905
  };
906
+ var pauseAllStreams = function pauseAllStreams(kind) {
907
+ var meeting = meetingRef.current;
908
+ if (meeting) {
909
+ meeting.pauseAllStreams(kind);
910
+ }
911
+ };
912
+ var resumeAllStreams = function resumeAllStreams(kind) {
913
+ var meeting = meetingRef.current;
914
+ if (meeting) {
915
+ meeting.resumeAllStreams(kind);
916
+ }
917
+ };
862
918
  var startRecording = function startRecording(webhookUrl, awsDirPath, config, transcription) {
863
919
  var meeting = meetingRef.current;
864
920
  if (meeting) {
@@ -926,9 +982,9 @@ var MeetingProvider = function MeetingProvider(_ref) {
926
982
  enableWebcam(customVideoTrack);
927
983
  }
928
984
  };
929
- var switchTo = function switchTo(_ref3) {
930
- var meetingId = _ref3.meetingId,
931
- token = _ref3.token;
985
+ var switchTo = function switchTo(_ref5) {
986
+ var meetingId = _ref5.meetingId,
987
+ token = _ref5.token;
932
988
  var meeting = meetingRef.current;
933
989
  if (meeting) {
934
990
  meeting.switchTo({
@@ -1023,8 +1079,8 @@ var MeetingProvider = function MeetingProvider(_ref) {
1023
1079
  meeting.changeMic(obj);
1024
1080
  }
1025
1081
  };
1026
- var startVideo = function startVideo(_ref4) {
1027
- var link = _ref4.link;
1082
+ var startVideo = function startVideo(_ref6) {
1083
+ var link = _ref6.link;
1028
1084
  var meeting = meetingRef.current;
1029
1085
  if (meeting) {
1030
1086
  meeting.startVideo({
@@ -1044,8 +1100,8 @@ var MeetingProvider = function MeetingProvider(_ref) {
1044
1100
  meeting.resumeVideo();
1045
1101
  }
1046
1102
  };
1047
- var pauseVideo = function pauseVideo(_ref5) {
1048
- var currentTime = _ref5.currentTime;
1103
+ var pauseVideo = function pauseVideo(_ref7) {
1104
+ var currentTime = _ref7.currentTime;
1049
1105
  var meeting = meetingRef.current;
1050
1106
  if (meeting) {
1051
1107
  meeting.pauseVideo({
@@ -1065,8 +1121,8 @@ var MeetingProvider = function MeetingProvider(_ref) {
1065
1121
  meeting.disableAdaptiveSubscription();
1066
1122
  }
1067
1123
  };
1068
- var seekVideo = function seekVideo(_ref6) {
1069
- var currentTime = _ref6.currentTime;
1124
+ var seekVideo = function seekVideo(_ref8) {
1125
+ var currentTime = _ref8.currentTime;
1070
1126
  var meeting = meetingRef.current;
1071
1127
  if (meeting) {
1072
1128
  meeting.seekVideo({
@@ -1086,9 +1142,9 @@ var MeetingProvider = function MeetingProvider(_ref) {
1086
1142
  meeting.stopLivestream();
1087
1143
  }
1088
1144
  };
1089
- var connectTo = function connectTo(_ref7) {
1090
- var meetingId = _ref7.meetingId,
1091
- payload = _ref7.payload;
1145
+ var connectTo = function connectTo(_ref9) {
1146
+ var meetingId = _ref9.meetingId,
1147
+ payload = _ref9.payload;
1092
1148
  try {
1093
1149
  var _meeting3 = meetingRef.current;
1094
1150
  var _temp = function () {
@@ -1171,6 +1227,8 @@ var MeetingProvider = function MeetingProvider(_ref) {
1171
1227
  join: join,
1172
1228
  leave: leave,
1173
1229
  end: end,
1230
+ pauseAllStreams: pauseAllStreams,
1231
+ resumeAllStreams: resumeAllStreams,
1174
1232
  startRecording: startRecording,
1175
1233
  stopRecording: stopRecording,
1176
1234
  sendChatMessage: sendChatMessage,
@@ -2215,22 +2273,26 @@ var VideoSDKPlayer = forwardRef(function (_ref5, ref) {
2215
2273
  var _useParticipant2 = useParticipant(participantId),
2216
2274
  webcamOn = _useParticipant2.webcamOn,
2217
2275
  webcamStream = _useParticipant2.webcamStream,
2218
- isLocal = _useParticipant2.isLocal;
2219
- var webcamRef = useRef(null);
2276
+ isLocal = _useParticipant2.isLocal,
2277
+ screenShareStream = _useParticipant2.screenShareStream,
2278
+ screenShareOn = _useParticipant2.screenShareOn;
2279
+ var videoRef = useRef(null);
2220
2280
  useEffect(function () {
2221
- if (webcamRef.current) {
2222
- if (webcamOn && webcamStream) {
2281
+ var stream = type === 'share' ? screenShareStream : webcamStream;
2282
+ var isOn = type === 'share' ? screenShareOn : webcamOn;
2283
+ if (videoRef.current) {
2284
+ if (isOn && stream) {
2223
2285
  var mediaStream = new MediaStream();
2224
- mediaStream.addTrack(webcamStream.track);
2225
- webcamRef.current.srcObject = mediaStream;
2226
- webcamRef.current.play()["catch"](function (error) {
2227
- return console.error('videoElem.current.play() failed', error);
2286
+ mediaStream.addTrack(stream.track);
2287
+ videoRef.current.srcObject = mediaStream;
2288
+ videoRef.current.play()["catch"](function (error) {
2289
+ return console.error('videoRef.current.play() failed', error);
2228
2290
  });
2229
2291
  } else {
2230
- webcamRef.current.srcObject = null;
2292
+ videoRef.current.srcObject = null;
2231
2293
  }
2232
2294
  }
2233
- }, [webcamStream, webcamOn]);
2295
+ }, [type].concat(type === 'share' ? [screenShareOn, screenShareStream] : type === 'video' ? [webcamOn, webcamStream] : []));
2234
2296
  return /*#__PURE__*/React.createElement("div", {
2235
2297
  ref: ref,
2236
2298
  className: "video-container participant-video-" + participantId + " " + (className || ''),
@@ -2241,10 +2303,10 @@ var VideoSDKPlayer = forwardRef(function (_ref5, ref) {
2241
2303
  }, /*#__PURE__*/React.createElement("video", {
2242
2304
  width: "100%",
2243
2305
  height: "100%",
2244
- ref: webcamRef,
2306
+ ref: videoRef,
2245
2307
  autoPlay: true,
2246
2308
  className: classNameVideo,
2247
- style: isLocal ? _extends({
2309
+ style: isLocal && type !== 'share' ? _extends({
2248
2310
  transform: 'scaleX(-1)',
2249
2311
  WebkitTransform: 'scaleX(-1)'
2250
2312
  }, videoStyle) : videoStyle