@videosdk.live/react-sdk 0.4.7 → 0.4.9

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.
@@ -99,7 +99,8 @@ var events = {
99
99
  'media-relay-stopped': eventPrifix + "-media-relay-stopped",
100
100
  'media-relay-error': eventPrifix + "-media-relay-error",
101
101
  'media-relay-request-response': eventPrifix + "-media-relay-request-response",
102
- 'media-relay-request-received': eventPrifix + "-media-relay-request-received"
102
+ 'media-relay-request-received': eventPrifix + "-media-relay-request-received",
103
+ 'quality-limitation': eventPrifix + "-quality-limitation"
103
104
  };
104
105
  var eventEmitter = new EventEmitter();
105
106
  eventEmitter.setMaxListeners(9999);
@@ -197,7 +198,9 @@ var useMeeting = function useMeeting(_temp) {
197
198
  _ref$onMediaRelayRequ = _ref.onMediaRelayRequestResponse,
198
199
  onMediaRelayRequestResponse = _ref$onMediaRelayRequ === void 0 ? function () {} : _ref$onMediaRelayRequ,
199
200
  _ref$onMediaRelayRequ2 = _ref.onMediaRelayRequestReceived,
200
- onMediaRelayRequestReceived = _ref$onMediaRelayRequ2 === void 0 ? function () {} : _ref$onMediaRelayRequ2;
201
+ onMediaRelayRequestReceived = _ref$onMediaRelayRequ2 === void 0 ? function () {} : _ref$onMediaRelayRequ2,
202
+ _ref$onQualityLimitat = _ref.onQualityLimitation,
203
+ onQualityLimitation = _ref$onQualityLimitat === void 0 ? function () {} : _ref$onQualityLimitat;
201
204
  useEffect(function () {
202
205
  eventEmitter.on(events['participant-joined'], onParticipantJoined);
203
206
  eventEmitter.on(events['participant-left'], onParticipantLeft);
@@ -238,6 +241,7 @@ var useMeeting = function useMeeting(_temp) {
238
241
  eventEmitter.on(events['media-relay-error'], onMediaRelayError);
239
242
  eventEmitter.on(events['media-relay-request-response'], onMediaRelayRequestResponse);
240
243
  eventEmitter.on(events['media-relay-request-received'], onMediaRelayRequestReceived);
244
+ eventEmitter.on(events['quality-limitation'], onQualityLimitation);
241
245
  return function () {
242
246
  eventEmitter.off(events['meeting-state-changed'], onMeetingStateChanged);
243
247
  eventEmitter.off(events['participant-joined'], onParticipantJoined);
@@ -278,6 +282,7 @@ var useMeeting = function useMeeting(_temp) {
278
282
  eventEmitter.off(events['media-relay-error'], onMediaRelayError);
279
283
  eventEmitter.off(events['media-relay-request-response'], onMediaRelayRequestResponse);
280
284
  eventEmitter.off(events['media-relay-request-received'], onMediaRelayRequestReceived);
285
+ eventEmitter.off(events['quality-limitation'], onQualityLimitation);
281
286
  };
282
287
  }, []);
283
288
  return useContext(MeetingProviderContex);
@@ -361,7 +366,9 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
361
366
  _ref2$onMediaRelayReq = _ref2.onMediaRelayRequestResponse,
362
367
  onMediaRelayRequestResponse = _ref2$onMediaRelayReq === void 0 ? function () {} : _ref2$onMediaRelayReq,
363
368
  _ref2$onMediaRelayReq2 = _ref2.onMediaRelayRequestReceived,
364
- onMediaRelayRequestReceived = _ref2$onMediaRelayReq2 === void 0 ? function () {} : _ref2$onMediaRelayReq2;
369
+ onMediaRelayRequestReceived = _ref2$onMediaRelayReq2 === void 0 ? function () {} : _ref2$onMediaRelayReq2,
370
+ _ref2$onQualityLimita = _ref2.onQualityLimitation,
371
+ onQualityLimitation = _ref2$onQualityLimita === void 0 ? function () {} : _ref2$onQualityLimita;
365
372
  useEffect(function () {
366
373
  eventEmitter.on(events['meeting-state-changed'], onMeetingStateChanged);
367
374
  eventEmitter.on(events['participant-joined'], onParticipantJoined);
@@ -402,6 +409,7 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
402
409
  eventEmitter.on(events['media-relay-error'], onMediaRelayError);
403
410
  eventEmitter.on(events['media-relay-request-response'], onMediaRelayRequestResponse);
404
411
  eventEmitter.on(events['media-relay-request-received'], onMediaRelayRequestReceived);
412
+ eventEmitter.on(events['quality-limitation'], onQualityLimitation);
405
413
  return function () {
406
414
  eventEmitter.off(events['meeting-state-changed'], onMeetingStateChanged);
407
415
  eventEmitter.off(events['participant-joined'], onParticipantJoined);
@@ -442,12 +450,13 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
442
450
  eventEmitter.off(events['media-relay-error'], onMediaRelayError);
443
451
  eventEmitter.off(events['media-relay-request-response'], onMediaRelayRequestResponse);
444
452
  eventEmitter.off(events['media-relay-request-received'], onMediaRelayRequestReceived);
453
+ eventEmitter.off(events['quality-limitation'], onQualityLimitation);
445
454
  };
446
455
  }, []);
447
456
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MeetingProviderContex.Consumer, null, children));
448
457
  };
449
458
 
450
- var version = "0.4.7";
459
+ var version = "0.4.9";
451
460
 
452
461
  var MeetingProvider = function MeetingProvider(_ref) {
453
462
  var children = _ref.children,
@@ -757,6 +766,7 @@ var MeetingProvider = function MeetingProvider(_ref) {
757
766
  meeting.off('media-relay-error', _handle_media_relay_error);
758
767
  meeting.off('media-relay-request-response', _handle_media_relay_request_response);
759
768
  meeting.off('media-relay-request-received', _handle_media_relay_request_received);
769
+ meeting.off('quality-limitation', _handle_quality_limitation_received);
760
770
  }
761
771
  if (typeof (meeting === null || meeting === void 0 ? void 0 : (_meeting$localPartici = meeting.localParticipant) === null || _meeting$localPartici === void 0 ? void 0 : _meeting$localPartici.off) === 'function') {
762
772
  meeting.localParticipant.off('stream-enabled', _handle_localParticipant_stream_enabled);
@@ -917,6 +927,9 @@ var MeetingProvider = function MeetingProvider(_ref) {
917
927
  var _handle_media_relay_request_received = function _handle_media_relay_request_received(data) {
918
928
  eventEmitter.emit(events['media-relay-request-received'], data);
919
929
  };
930
+ var _handle_quality_limitation_received = function _handle_quality_limitation_received(data) {
931
+ eventEmitter.emit(events['quality-limitation'], data);
932
+ };
920
933
  var join = function join() {
921
934
  var meeting = VideoSDK && VideoSDK.initMeeting(configRef.current);
922
935
  setMeeting(meeting);
@@ -973,6 +986,7 @@ var MeetingProvider = function MeetingProvider(_ref) {
973
986
  meeting.on('media-relay-error', _handle_media_relay_error);
974
987
  meeting.on('media-relay-request-response', _handle_media_relay_request_response);
975
988
  meeting.on('media-relay-request-received', _handle_media_relay_request_received);
989
+ meeting.on('quality-limitation', _handle_quality_limitation_received);
976
990
  meeting.localParticipant.on('stream-enabled', _handle_localParticipant_stream_enabled);
977
991
  meeting.localParticipant.on('stream-disabled', _handle_localParticipant_stream_disabled);
978
992
  meeting.join();
@@ -1694,6 +1708,66 @@ var useParticipant = function useParticipant(participantId, _temp) {
1694
1708
  };
1695
1709
  };
1696
1710
 
1711
+ var useStream = function useStream(streamId, _temp) {
1712
+ var _ref = _temp === void 0 ? {} : _temp,
1713
+ _ref$onStreamStateCha = _ref.onStreamStateChanged,
1714
+ onStreamStateChanged = _ref$onStreamStateCha === void 0 ? function () {} : _ref$onStreamStateCha;
1715
+ var _useState = useState(null),
1716
+ stream = _useState[0],
1717
+ setStream = _useState[1];
1718
+ var meeting = useMeeting();
1719
+ var _useMemo = useMemo(function () {
1720
+ var participants = meeting === null || meeting === void 0 ? void 0 : meeting.participants;
1721
+ return {
1722
+ participants: participants
1723
+ };
1724
+ }, [meeting]),
1725
+ participants = _useMemo.participants;
1726
+ var _handleStreamStateChanged = function _handleStreamStateChanged(data) {
1727
+ onStreamStateChanged(data);
1728
+ };
1729
+ useEffect(function () {
1730
+ if (!meeting) return;
1731
+ if (!streamId) return;
1732
+ var findStream = function findStream() {
1733
+ for (var _iterator = _createForOfIteratorHelperLoose(participants.values()), _step; !(_step = _iterator()).done;) {
1734
+ var participant = _step.value;
1735
+ var _stream = participant.streams.get(streamId);
1736
+ if (_stream != null) {
1737
+ return _stream;
1738
+ }
1739
+ }
1740
+ return null;
1741
+ };
1742
+ var s = findStream();
1743
+ if (!s) return;
1744
+ setStream(s);
1745
+ s === null || s === void 0 ? void 0 : s.on('state', _handleStreamStateChanged);
1746
+ return function () {
1747
+ s === null || s === void 0 ? void 0 : s.off('state', _handleStreamStateChanged);
1748
+ };
1749
+ }, [streamId]);
1750
+ var pause = function pause() {
1751
+ if (stream) {
1752
+ stream.pause();
1753
+ }
1754
+ };
1755
+ var resume = function resume() {
1756
+ if (stream) {
1757
+ stream.resume();
1758
+ }
1759
+ };
1760
+ return {
1761
+ kind: stream === null || stream === void 0 ? void 0 : stream.kind,
1762
+ codec: stream === null || stream === void 0 ? void 0 : stream.codec,
1763
+ track: stream === null || stream === void 0 ? void 0 : stream.track,
1764
+ paused: stream === null || stream === void 0 ? void 0 : stream.paused,
1765
+ stream: stream,
1766
+ pause: pause,
1767
+ resume: resume
1768
+ };
1769
+ };
1770
+
1697
1771
  var useConnection = function useConnection(connectionId, _temp) {
1698
1772
  var _ref = _temp === void 0 ? {
1699
1773
  onMeeting: {
@@ -2485,30 +2559,33 @@ var VideoSDKPlayer = forwardRef(function (_ref5, ref) {
2485
2559
  _ref5$classNameVideo = _ref5.classNameVideo,
2486
2560
  classNameVideo = _ref5$classNameVideo === void 0 ? '' : _ref5$classNameVideo,
2487
2561
  _ref5$videoStyle = _ref5.videoStyle,
2488
- videoStyle = _ref5$videoStyle === void 0 ? {} : _ref5$videoStyle;
2562
+ videoStyle = _ref5$videoStyle === void 0 ? {} : _ref5$videoStyle,
2563
+ videoRef = _ref5.videoRef;
2489
2564
  var _useParticipant2 = useParticipant(participantId),
2490
2565
  webcamOn = _useParticipant2.webcamOn,
2491
2566
  webcamStream = _useParticipant2.webcamStream,
2492
2567
  isLocal = _useParticipant2.isLocal,
2493
2568
  screenShareStream = _useParticipant2.screenShareStream,
2494
2569
  screenShareOn = _useParticipant2.screenShareOn;
2495
- var videoRef = useRef(null);
2570
+ var internalRef = useRef(null);
2571
+ var finalVideoRef = videoRef || internalRef;
2496
2572
  useEffect(function () {
2497
2573
  var stream = type === 'share' ? screenShareStream : webcamStream;
2498
2574
  var isOn = type === 'share' ? screenShareOn : webcamOn;
2499
- if (videoRef.current) {
2575
+ if (finalVideoRef.current) {
2500
2576
  if (isOn && stream) {
2501
2577
  var mediaStream = new MediaStream();
2502
2578
  mediaStream.addTrack(stream.track);
2503
- videoRef.current.srcObject = mediaStream;
2504
- videoRef.current.setAttribute('playsinline', '');
2505
- videoRef.current.setAttribute('x5-playsinline', '');
2506
- videoRef.current.setAttribute('webkit-playsinline', '');
2507
- videoRef.current.play()["catch"](function (error) {
2508
- return console.error('videoRef.current.play() failed', error);
2579
+ finalVideoRef.current.setAttribute('muted', '');
2580
+ finalVideoRef.current.srcObject = mediaStream;
2581
+ finalVideoRef.current.setAttribute('playsinline', '');
2582
+ finalVideoRef.current.setAttribute('x5-playsinline', '');
2583
+ finalVideoRef.current.setAttribute('webkit-playsinline', '');
2584
+ finalVideoRef.current.play()["catch"](function (error) {
2585
+ return console.error('finalVideoRef.current.play() failed', error);
2509
2586
  });
2510
2587
  } else {
2511
- videoRef.current.srcObject = null;
2588
+ finalVideoRef.current.srcObject = null;
2512
2589
  }
2513
2590
  }
2514
2591
  }, [type].concat(type === 'share' ? [screenShareOn, screenShareStream] : type === 'video' ? [webcamOn, webcamStream] : []));
@@ -2522,9 +2599,10 @@ var VideoSDKPlayer = forwardRef(function (_ref5, ref) {
2522
2599
  }, /*#__PURE__*/React.createElement("video", {
2523
2600
  width: "100%",
2524
2601
  height: "100%",
2525
- ref: videoRef,
2602
+ ref: finalVideoRef,
2526
2603
  autoPlay: true,
2527
2604
  className: classNameVideo,
2605
+ muted: true,
2528
2606
  style: isLocal && type !== 'share' ? _extends({
2529
2607
  transform: 'scaleX(-1)',
2530
2608
  WebkitTransform: 'scaleX(-1)'
@@ -2574,5 +2652,5 @@ var AudioPlayer = function AudioPlayer(_ref7) {
2574
2652
  });
2575
2653
  };
2576
2654
 
2577
- export { AudioPlayer, Constants, MeetingConsumer, MeetingProvider, VideoPlayer, createCameraVideoTrack, createMicrophoneAudioTrack, createScreenShareVideoTrack, getNetworkStats, useCharacter, useConnection, useFile, useMediaDevice, useMeeting, useParticipant, usePubSub, useTranscription, useTranslation, useWhiteboard, withAdaptiveObservers };
2655
+ export { AudioPlayer, Constants, MeetingConsumer, MeetingProvider, VideoPlayer, createCameraVideoTrack, createMicrophoneAudioTrack, createScreenShareVideoTrack, getNetworkStats, useCharacter, useConnection, useFile, useMediaDevice, useMeeting, useParticipant, usePubSub, useStream, useTranscription, useTranslation, useWhiteboard, withAdaptiveObservers };
2578
2656
  //# sourceMappingURL=index.modern.js.map