@videosdk.live/react-sdk 0.1.26 → 0.1.29

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/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <h1 align="center">
2
- <img src="https://static.zujonow.com/videosdk.live/videosdk_logo_circle_big.png"/><br/>
2
+ <img src="https://www.linkpicture.com/q/videosdk_Full-Logo_blue.png"/><br/>
3
3
  <p align="center">
4
4
  Video SDK React App<br/>
5
5
  <a href="https://videosdk.live/">videosdk.live</a>
@@ -9,7 +9,15 @@
9
9
  <p align="center">
10
10
  <a href="https://www.npmjs.com/package/@videosdk.live/react-sdk"><img src="https://img.shields.io/npm/dw/@videosdk.live/react-sdk.svg?style=for-the-badge" alt="NPM downloads"></a>
11
11
  <a href="https://www.npmjs.com/package/@videosdk.live/react-sdk"><img src="https://img.shields.io/npm/v/@videosdk.live/react-sdk/latest.svg?style=for-the-badge" alt="NPM latest version"></a>
12
- <a href="https://discord.com/invite/f2WsNDN9S5"><img src="https://img.shields.io/discord/876774498798551130?color=%237289da&label=Chat%20on%20Discrd&style=for-the-badge" alt="Chat on Discord"></a>
12
+ <a href="https://discord.gg/kgAvyxtTxv">
13
+ <img src="https://img.shields.io/discord/734858252939952248?logo=discord&style=for-the-badge" />
14
+ </a>
15
+ <a href="https://twitter.com/intent/follow?original_referer=https%3A%2F%2Fpublish.twitter.com%2F&ref_src=twsrc%5Etfw%7Ctwcamp%5Ebuttonembed%7Ctwterm%5Efollow%7Ctwgr%5Evideo_sdk&screen_name=video_sdk">
16
+ <img src="https://img.shields.io/twitter/follow/video_sdk?label=Twitter&logo=twitter&style=for-the-badge" />
17
+ </a>
18
+ <a href="http://youtube.com/videosdk?sub_confirmation=1">
19
+ <img src="https://img.shields.io/youtube/channel/subscribers/UCuY7JzXnpp874oa7uQbUwsA?logo=Youtube&style=for-the-badge" />
20
+ </a>
13
21
  </p>
14
22
 
15
23
  ## Features
@@ -28,6 +36,9 @@
28
36
 
29
37
  Visit our official guide for [Browser Support](https://docs.videosdk.live/docs/realtime-communication/see-also/device-browser-support)
30
38
 
39
+ ## Demo App
40
+ Check out demo [here](https://videosdk.live/prebuilt/)
41
+
31
42
  ## Prerequisites
32
43
 
33
44
  You must have the following installed:
@@ -67,10 +78,13 @@ import {
67
78
  } from "@videosdk.live/react-sdk";
68
79
  ```
69
80
 
70
-
71
81
  ## Documentation
72
82
 
73
- Check the components and their usage in our [documentation](https://docs.videosdk.live/docs/realtime-communication/sdk-reference/react-sdk/setup).
83
+ Check the components and their usage in our [documentation](https://docs.videosdk.live/react/guide/video-and-audio-calling-api-sdk/getting-started).
84
+
85
+ ## Quick Start
86
+
87
+ Check the Quick Start guide to our [documentation](https://docs.videosdk.live/react/guide/video-and-audio-calling-api-sdk/quick-start).
74
88
 
75
89
 
76
90
  ## Try it out
package/dist/index.js CHANGED
@@ -29,7 +29,9 @@ var events = {
29
29
  'connection-open': eventPrifix + "-connection-open",
30
30
  'connection-close': eventPrifix + "-connection-close",
31
31
  'switch-meeting': eventPrifix + "-switch-meeting",
32
- error: eventPrifix + "-error"
32
+ error: eventPrifix + "-error",
33
+ 'hls-started': eventPrifix + "-hls-started",
34
+ 'hls-stopped': eventPrifix + "-hls-stopped"
33
35
  };
34
36
  var eventEmitter = new EventEmitter();
35
37
  eventEmitter.setMaxListeners(9999);
@@ -82,7 +84,11 @@ var useMeeting = function useMeeting(_temp) {
82
84
  _ref$onSwitchMeeting = _ref.onSwitchMeeting,
83
85
  onSwitchMeeting = _ref$onSwitchMeeting === void 0 ? function () {} : _ref$onSwitchMeeting,
84
86
  _ref$onError = _ref.onError,
85
- onError = _ref$onError === void 0 ? function () {} : _ref$onError;
87
+ onError = _ref$onError === void 0 ? function () {} : _ref$onError,
88
+ _ref$onHlsStarted = _ref.onHlsStarted,
89
+ onHlsStarted = _ref$onHlsStarted === void 0 ? function () {} : _ref$onHlsStarted,
90
+ _ref$onHlsStopped = _ref.onHlsStopped,
91
+ onHlsStopped = _ref$onHlsStopped === void 0 ? function () {} : _ref$onHlsStopped;
86
92
 
87
93
  React.useEffect(function () {
88
94
  eventEmitter.on(events['participant-joined'], onParticipantJoined);
@@ -108,6 +114,8 @@ var useMeeting = function useMeeting(_temp) {
108
114
  eventEmitter.on(events['connection-close'], onConnetionClose);
109
115
  eventEmitter.on(events['switch-meeting'], onSwitchMeeting);
110
116
  eventEmitter.on(events['error'], onError);
117
+ eventEmitter.on(events['hls-started'], onHlsStarted);
118
+ eventEmitter.on(events['hls-stopped'], onHlsStopped);
111
119
  return function () {
112
120
  eventEmitter.off(events['participant-joined'], onParticipantJoined);
113
121
  eventEmitter.off(events['participant-left'], onParticipantLeft);
@@ -132,6 +140,8 @@ var useMeeting = function useMeeting(_temp) {
132
140
  eventEmitter.off(events['connection-close'], onConnetionClose);
133
141
  eventEmitter.off(events['switch-meeting'], onSwitchMeeting);
134
142
  eventEmitter.off(events['error'], onError);
143
+ eventEmitter.off(events['hls-started'], onHlsStarted);
144
+ eventEmitter.off(events['hls-stopped'], onHlsStopped);
135
145
  };
136
146
  }, []);
137
147
  return React.useContext(MeetingProviderContex);
@@ -183,7 +193,11 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
183
193
  _ref2$onSwitchMeeting = _ref2.onSwitchMeeting,
184
194
  onSwitchMeeting = _ref2$onSwitchMeeting === void 0 ? function () {} : _ref2$onSwitchMeeting,
185
195
  _ref2$onError = _ref2.onError,
186
- onError = _ref2$onError === void 0 ? function () {} : _ref2$onError;
196
+ onError = _ref2$onError === void 0 ? function () {} : _ref2$onError,
197
+ _ref2$onHlsStarted = _ref2.onHlsStarted,
198
+ onHlsStarted = _ref2$onHlsStarted === void 0 ? function () {} : _ref2$onHlsStarted,
199
+ _ref2$onHlsStopped = _ref2.onHlsStopped,
200
+ onHlsStopped = _ref2$onHlsStopped === void 0 ? function () {} : _ref2$onHlsStopped;
187
201
  React.useEffect(function () {
188
202
  eventEmitter.on(events['participant-joined'], onParticipantJoined);
189
203
  eventEmitter.on(events['participant-left'], onParticipantLeft);
@@ -208,6 +222,8 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
208
222
  eventEmitter.on(events['connection-close'], onConnetionClose);
209
223
  eventEmitter.on(events['switch-meeting'], onSwitchMeeting);
210
224
  eventEmitter.on(events['error'], onError);
225
+ eventEmitter.on(events['hls-started'], onHlsStarted);
226
+ eventEmitter.on(events['hls-stopped'], onHlsStopped);
211
227
  return function () {
212
228
  eventEmitter.off(events['participant-joined'], onParticipantJoined);
213
229
  eventEmitter.off(events['participant-left'], onParticipantLeft);
@@ -232,12 +248,14 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
232
248
  eventEmitter.off(events['connection-close'], onConnetionClose);
233
249
  eventEmitter.off(events['switch-meeting'], onSwitchMeeting);
234
250
  eventEmitter.off(events['error'], onError);
251
+ eventEmitter.off(events['hls-started'], onHlsStarted);
252
+ eventEmitter.off(events['hls-stopped'], onHlsStopped);
235
253
  };
236
254
  }, []);
237
255
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(MeetingProviderContex.Consumer, null, children));
238
256
  };
239
257
 
240
- var version = "0.1.26";
258
+ var version = "0.1.27";
241
259
 
242
260
  var MeetingProvider = function MeetingProvider(_ref) {
243
261
  var children = _ref.children,
@@ -307,6 +325,10 @@ var MeetingProvider = function MeetingProvider(_ref) {
307
325
  isMeetingJoined = _useState15[0],
308
326
  setIsMeetingJoined = _useState15[1];
309
327
 
328
+ var _useState16 = React.useState(false),
329
+ isHls = _useState16[0],
330
+ setIsHls = _useState16[1];
331
+
310
332
  var meetingRef = React.useRef();
311
333
  var localMicOnRef = React.useRef();
312
334
  var localWebcamOnRef = React.useRef();
@@ -315,6 +337,7 @@ var MeetingProvider = function MeetingProvider(_ref) {
315
337
  var configRef = React.useRef(config);
316
338
  var tokenRef = React.useRef(token);
317
339
  var joinedOnFirstRender = React.useRef(false);
340
+ var isHlsRef = React.useRef();
318
341
  var reinitialiseMeetingOnConfigChange = React.useMemo(function () {
319
342
  return _reinitialiseMeetingOnConfigChange;
320
343
  }, []);
@@ -339,6 +362,9 @@ var MeetingProvider = function MeetingProvider(_ref) {
339
362
  React.useEffect(function () {
340
363
  tokenRef.current = token;
341
364
  }, [token]);
365
+ React.useEffect(function () {
366
+ isHlsRef.current = isHls;
367
+ }, [isHls]);
342
368
 
343
369
  var resetStates = function resetStates() {
344
370
  setMeeting(null);
@@ -356,6 +382,7 @@ var MeetingProvider = function MeetingProvider(_ref) {
356
382
  setPinnedParticipants(new Map());
357
383
  setConnections(new Map());
358
384
  setIsMeetingJoined(false);
385
+ setIsHls(false);
359
386
  };
360
387
 
361
388
  var _handle_participant_joined = function _handle_participant_joined(participant) {
@@ -449,6 +476,16 @@ var MeetingProvider = function MeetingProvider(_ref) {
449
476
  eventEmitter.emit(events['live-stream-stopped']);
450
477
  };
451
478
 
479
+ var _handle_hls_started = function _handle_hls_started(data) {
480
+ setIsHls(true);
481
+ eventEmitter.emit(events['hls-started'], data);
482
+ };
483
+
484
+ var _handle_hls_stopped = function _handle_hls_stopped() {
485
+ setIsHls(false);
486
+ eventEmitter.emit(events['hls-stopped']);
487
+ };
488
+
452
489
  var _handle_video_state_changed = function _handle_video_state_changed(data) {
453
490
  eventEmitter.emit(events['video-state-changed'], data);
454
491
  };
@@ -505,6 +542,8 @@ var MeetingProvider = function MeetingProvider(_ref) {
505
542
  meeting.off('connection-close', _handle_connection_close);
506
543
  meeting.off('switch-meeting', _handle_switch_meeting);
507
544
  meeting.off('error', _handle_error);
545
+ meeting.off('hls-started', _handle_hls_started);
546
+ meeting.off('hls-stopped', _handle_hls_stopped);
508
547
  }
509
548
 
510
549
  if (typeof (meeting === null || meeting === void 0 ? void 0 : (_meeting$localPartici = meeting.localParticipant) === null || _meeting$localPartici === void 0 ? void 0 : _meeting$localPartici.off) === 'function') {
@@ -555,14 +594,14 @@ var MeetingProvider = function MeetingProvider(_ref) {
555
594
  eventEmitter.emit(events['connection-close'], connectionId);
556
595
  };
557
596
 
558
- var _handle_error = function _handle_error(data) {
559
- eventEmitter.emit(events['error'], data);
560
- };
561
-
562
597
  var _handle_switch_meeting = function _handle_switch_meeting(d) {
563
598
  eventEmitter.emit(events['switch-meeting'], d);
564
599
  };
565
600
 
601
+ var _handle_error = function _handle_error(data) {
602
+ eventEmitter.emit(events['error'], data);
603
+ };
604
+
566
605
  var join = function join() {
567
606
  var meeting = jsSdk.VideoSDK && jsSdk.VideoSDK.initMeeting(configRef.current);
568
607
  setMeeting(meeting);
@@ -594,6 +633,8 @@ var MeetingProvider = function MeetingProvider(_ref) {
594
633
  meeting.on('connection-close', _handle_connection_close);
595
634
  meeting.on('switch-meeting', _handle_switch_meeting);
596
635
  meeting.on('error', _handle_error);
636
+ meeting.on('hls-started', _handle_hls_started);
637
+ meeting.on('hls-stopped', _handle_hls_stopped);
597
638
  meeting.localParticipant.on('stream-enabled', _handle_localParticipant_stream_enabled);
598
639
  meeting.localParticipant.on('stream-disabled', _handle_localParticipant_stream_disabled);
599
640
  meeting.join();
@@ -635,11 +676,15 @@ var MeetingProvider = function MeetingProvider(_ref) {
635
676
  }
636
677
  };
637
678
 
638
- var unmuteMic = function unmuteMic() {
679
+ var unmuteMic = function unmuteMic(customAudioTrack) {
680
+ if (customAudioTrack === void 0) {
681
+ customAudioTrack = undefined;
682
+ }
683
+
639
684
  var meeting = meetingRef.current;
640
685
 
641
686
  if (meeting) {
642
- meeting.unmuteMic();
687
+ meeting.unmuteMic(customAudioTrack);
643
688
  }
644
689
  };
645
690
 
@@ -651,13 +696,17 @@ var MeetingProvider = function MeetingProvider(_ref) {
651
696
  }
652
697
  };
653
698
 
654
- var toggleMic = function toggleMic() {
699
+ var toggleMic = function toggleMic(customAudioTrack) {
700
+ if (customAudioTrack === void 0) {
701
+ customAudioTrack = undefined;
702
+ }
703
+
655
704
  var localMicOn = localMicOnRef.current;
656
705
 
657
706
  if (localMicOn) {
658
707
  muteMic();
659
708
  } else {
660
- unmuteMic();
709
+ unmuteMic(customAudioTrack);
661
710
  }
662
711
  };
663
712
 
@@ -669,21 +718,29 @@ var MeetingProvider = function MeetingProvider(_ref) {
669
718
  }
670
719
  };
671
720
 
672
- var enableWebcam = function enableWebcam() {
721
+ var enableWebcam = function enableWebcam(customVideoTrack) {
722
+ if (customVideoTrack === void 0) {
723
+ customVideoTrack = undefined;
724
+ }
725
+
673
726
  var meeting = meetingRef.current;
674
727
 
675
728
  if (meeting) {
676
- meeting.enableWebcam();
729
+ meeting.enableWebcam(customVideoTrack);
677
730
  }
678
731
  };
679
732
 
680
- var toggleWebcam = function toggleWebcam() {
733
+ var toggleWebcam = function toggleWebcam(customVideoTrack) {
734
+ if (customVideoTrack === void 0) {
735
+ customVideoTrack = undefined;
736
+ }
737
+
681
738
  var localWebcamOn = localWebcamOnRef.current;
682
739
 
683
740
  if (localWebcamOn) {
684
741
  disableWebcam();
685
742
  } else {
686
- enableWebcam();
743
+ enableWebcam(customVideoTrack);
687
744
  }
688
745
  };
689
746
 
@@ -695,21 +752,29 @@ var MeetingProvider = function MeetingProvider(_ref) {
695
752
  }
696
753
  };
697
754
 
698
- var enableScreenShare = function enableScreenShare() {
755
+ var enableScreenShare = function enableScreenShare(customScreenShareTrack) {
756
+ if (customScreenShareTrack === void 0) {
757
+ customScreenShareTrack = undefined;
758
+ }
759
+
699
760
  var meeting = meetingRef.current;
700
761
 
701
762
  if (meeting) {
702
- meeting.enableScreenShare();
763
+ meeting.enableScreenShare(customScreenShareTrack);
703
764
  }
704
765
  };
705
766
 
706
- var toggleScreenShare = function toggleScreenShare() {
767
+ var toggleScreenShare = function toggleScreenShare(customScreenShareTrack) {
768
+ if (customScreenShareTrack === void 0) {
769
+ customScreenShareTrack = undefined;
770
+ }
771
+
707
772
  var localScreenShareOn = localScreenShareOnRef.current;
708
773
 
709
774
  if (localScreenShareOn) {
710
775
  disableScreenShare();
711
776
  } else {
712
- enableScreenShare();
777
+ enableScreenShare(customScreenShareTrack);
713
778
  }
714
779
  };
715
780
 
@@ -858,6 +923,22 @@ var MeetingProvider = function MeetingProvider(_ref) {
858
923
  }
859
924
  };
860
925
 
926
+ var startHls = function startHls(config) {
927
+ var meeting = meetingRef.current;
928
+
929
+ if (meeting) {
930
+ meeting.startHls(config);
931
+ }
932
+ };
933
+
934
+ var stopHls = function stopHls() {
935
+ var meeting = meetingRef.current;
936
+
937
+ if (meeting) {
938
+ meeting.stopHls();
939
+ }
940
+ };
941
+
861
942
  var initSDK = function initSDK() {
862
943
  jsSdk.VideoSDK.config(tokenRef.current);
863
944
 
@@ -902,6 +983,7 @@ var MeetingProvider = function MeetingProvider(_ref) {
902
983
  isLiveStreaming: isLiveStreaming,
903
984
  pinnedParticipants: pinnedParticipants,
904
985
  connections: connections,
986
+ isHls: isHls,
905
987
  join: join,
906
988
  leave: leave,
907
989
  end: end,
@@ -930,7 +1012,9 @@ var MeetingProvider = function MeetingProvider(_ref) {
930
1012
  startLivestream: startLivestream,
931
1013
  stopLivestream: stopLivestream,
932
1014
  connectTo: connectTo,
933
- isMeetingJoined: isMeetingJoined
1015
+ isMeetingJoined: isMeetingJoined,
1016
+ startHls: startHls,
1017
+ stopHls: stopHls
934
1018
  }
935
1019
  }, children);
936
1020
  };
@@ -1184,12 +1268,11 @@ var useConnection = function useConnection(connectionId, _temp) {
1184
1268
  };
1185
1269
 
1186
1270
  var usePubSub = function usePubSub(topic, _temp) {
1187
- var _ref = _temp === void 0 ? {
1188
- onMessageReceived: function onMessageReceived() {},
1189
- onOldMessagesReceived: function onOldMessagesReceived() {}
1190
- } : _temp,
1191
- onMessageReceived = _ref.onMessageReceived,
1192
- onOldMessagesReceived = _ref.onOldMessagesReceived;
1271
+ var _ref = _temp === void 0 ? {} : _temp,
1272
+ _ref$onMessageReceive = _ref.onMessageReceived,
1273
+ onMessageReceived = _ref$onMessageReceive === void 0 ? function () {} : _ref$onMessageReceive,
1274
+ _ref$onOldMessagesRec = _ref.onOldMessagesReceived,
1275
+ onOldMessagesReceived = _ref$onOldMessagesRec === void 0 ? function () {} : _ref$onOldMessagesRec;
1193
1276
 
1194
1277
  var _useMeeting = useMeeting(),
1195
1278
  meeting = _useMeeting.meeting,
@@ -1248,9 +1331,69 @@ var usePubSub = function usePubSub(topic, _temp) {
1248
1331
 
1249
1332
  var Constants = jsSdk.VideoSDK.Constants;
1250
1333
 
1334
+ var createCameraVideoTrack = function createCameraVideoTrack(_ref) {
1335
+ var _ref$cameraId = _ref.cameraId,
1336
+ cameraId = _ref$cameraId === void 0 ? undefined : _ref$cameraId,
1337
+ _ref$encoderConfig = _ref.encoderConfig,
1338
+ encoderConfig = _ref$encoderConfig === void 0 ? undefined : _ref$encoderConfig,
1339
+ _ref$facingMode = _ref.facingMode,
1340
+ facingMode = _ref$facingMode === void 0 ? undefined : _ref$facingMode,
1341
+ _ref$optimizationMode = _ref.optimizationMode,
1342
+ optimizationMode = _ref$optimizationMode === void 0 ? undefined : _ref$optimizationMode;
1343
+
1344
+ try {
1345
+ return Promise.resolve(jsSdk.VideoSDK.createCameraVideoTrack({
1346
+ cameraId: cameraId,
1347
+ encoderConfig: encoderConfig,
1348
+ facingMode: facingMode,
1349
+ optimizationMode: optimizationMode
1350
+ }));
1351
+ } catch (e) {
1352
+ return Promise.reject(e);
1353
+ }
1354
+ };
1355
+
1356
+ var createScreenShareVideoTrack = function createScreenShareVideoTrack(_ref2) {
1357
+ var _ref2$encoderConfig = _ref2.encoderConfig,
1358
+ encoderConfig = _ref2$encoderConfig === void 0 ? undefined : _ref2$encoderConfig,
1359
+ _ref2$optimizationMod = _ref2.optimizationMode,
1360
+ optimizationMode = _ref2$optimizationMod === void 0 ? undefined : _ref2$optimizationMod;
1361
+
1362
+ try {
1363
+ return Promise.resolve(jsSdk.VideoSDK.createScreenShareVideoTrack({
1364
+ encoderConfig: encoderConfig,
1365
+ optimizationMode: optimizationMode
1366
+ }));
1367
+ } catch (e) {
1368
+ return Promise.reject(e);
1369
+ }
1370
+ };
1371
+
1372
+ var createMicrophoneAudioTrack = function createMicrophoneAudioTrack(_ref3) {
1373
+ var _ref3$noiseConfig = _ref3.noiseConfig,
1374
+ noiseConfig = _ref3$noiseConfig === void 0 ? undefined : _ref3$noiseConfig,
1375
+ _ref3$encoderConfig = _ref3.encoderConfig,
1376
+ encoderConfig = _ref3$encoderConfig === void 0 ? undefined : _ref3$encoderConfig,
1377
+ _ref3$microphoneId = _ref3.microphoneId,
1378
+ microphoneId = _ref3$microphoneId === void 0 ? undefined : _ref3$microphoneId;
1379
+
1380
+ try {
1381
+ return Promise.resolve(jsSdk.VideoSDK.createMicrophoneAudioTrack({
1382
+ noiseConfig: noiseConfig,
1383
+ encoderConfig: encoderConfig,
1384
+ microphoneId: microphoneId
1385
+ }));
1386
+ } catch (e) {
1387
+ return Promise.reject(e);
1388
+ }
1389
+ };
1390
+
1251
1391
  exports.Constants = Constants;
1252
1392
  exports.MeetingConsumer = MeetingConsumer;
1253
1393
  exports.MeetingProvider = MeetingProvider;
1394
+ exports.createCameraVideoTrack = createCameraVideoTrack;
1395
+ exports.createMicrophoneAudioTrack = createMicrophoneAudioTrack;
1396
+ exports.createScreenShareVideoTrack = createScreenShareVideoTrack;
1254
1397
  exports.useConnection = useConnection;
1255
1398
  exports.useMeeting = useMeeting;
1256
1399
  exports.useParticipant = useParticipant;