@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.
- package/dist/index.js +94 -15
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +94 -16
- package/dist/index.modern.js.map +1 -1
- package/dist/types/index.d.ts +78 -2
- package/dist/types/meeting.d.ts +4 -2
- package/package.json +3 -4
package/dist/index.js
CHANGED
|
@@ -101,7 +101,8 @@ var events = {
|
|
|
101
101
|
'media-relay-stopped': eventPrifix + "-media-relay-stopped",
|
|
102
102
|
'media-relay-error': eventPrifix + "-media-relay-error",
|
|
103
103
|
'media-relay-request-response': eventPrifix + "-media-relay-request-response",
|
|
104
|
-
'media-relay-request-received': eventPrifix + "-media-relay-request-received"
|
|
104
|
+
'media-relay-request-received': eventPrifix + "-media-relay-request-received",
|
|
105
|
+
'quality-limitation': eventPrifix + "-quality-limitation"
|
|
105
106
|
};
|
|
106
107
|
var eventEmitter = new EventEmitter();
|
|
107
108
|
eventEmitter.setMaxListeners(9999);
|
|
@@ -199,7 +200,9 @@ var useMeeting = function useMeeting(_temp) {
|
|
|
199
200
|
_ref$onMediaRelayRequ = _ref.onMediaRelayRequestResponse,
|
|
200
201
|
onMediaRelayRequestResponse = _ref$onMediaRelayRequ === void 0 ? function () {} : _ref$onMediaRelayRequ,
|
|
201
202
|
_ref$onMediaRelayRequ2 = _ref.onMediaRelayRequestReceived,
|
|
202
|
-
onMediaRelayRequestReceived = _ref$onMediaRelayRequ2 === void 0 ? function () {} : _ref$onMediaRelayRequ2
|
|
203
|
+
onMediaRelayRequestReceived = _ref$onMediaRelayRequ2 === void 0 ? function () {} : _ref$onMediaRelayRequ2,
|
|
204
|
+
_ref$onQualityLimitat = _ref.onQualityLimitation,
|
|
205
|
+
onQualityLimitation = _ref$onQualityLimitat === void 0 ? function () {} : _ref$onQualityLimitat;
|
|
203
206
|
React.useEffect(function () {
|
|
204
207
|
eventEmitter.on(events['participant-joined'], onParticipantJoined);
|
|
205
208
|
eventEmitter.on(events['participant-left'], onParticipantLeft);
|
|
@@ -240,6 +243,7 @@ var useMeeting = function useMeeting(_temp) {
|
|
|
240
243
|
eventEmitter.on(events['media-relay-error'], onMediaRelayError);
|
|
241
244
|
eventEmitter.on(events['media-relay-request-response'], onMediaRelayRequestResponse);
|
|
242
245
|
eventEmitter.on(events['media-relay-request-received'], onMediaRelayRequestReceived);
|
|
246
|
+
eventEmitter.on(events['quality-limitation'], onQualityLimitation);
|
|
243
247
|
return function () {
|
|
244
248
|
eventEmitter.off(events['meeting-state-changed'], onMeetingStateChanged);
|
|
245
249
|
eventEmitter.off(events['participant-joined'], onParticipantJoined);
|
|
@@ -280,6 +284,7 @@ var useMeeting = function useMeeting(_temp) {
|
|
|
280
284
|
eventEmitter.off(events['media-relay-error'], onMediaRelayError);
|
|
281
285
|
eventEmitter.off(events['media-relay-request-response'], onMediaRelayRequestResponse);
|
|
282
286
|
eventEmitter.off(events['media-relay-request-received'], onMediaRelayRequestReceived);
|
|
287
|
+
eventEmitter.off(events['quality-limitation'], onQualityLimitation);
|
|
283
288
|
};
|
|
284
289
|
}, []);
|
|
285
290
|
return React.useContext(MeetingProviderContex);
|
|
@@ -363,7 +368,9 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
|
|
|
363
368
|
_ref2$onMediaRelayReq = _ref2.onMediaRelayRequestResponse,
|
|
364
369
|
onMediaRelayRequestResponse = _ref2$onMediaRelayReq === void 0 ? function () {} : _ref2$onMediaRelayReq,
|
|
365
370
|
_ref2$onMediaRelayReq2 = _ref2.onMediaRelayRequestReceived,
|
|
366
|
-
onMediaRelayRequestReceived = _ref2$onMediaRelayReq2 === void 0 ? function () {} : _ref2$onMediaRelayReq2
|
|
371
|
+
onMediaRelayRequestReceived = _ref2$onMediaRelayReq2 === void 0 ? function () {} : _ref2$onMediaRelayReq2,
|
|
372
|
+
_ref2$onQualityLimita = _ref2.onQualityLimitation,
|
|
373
|
+
onQualityLimitation = _ref2$onQualityLimita === void 0 ? function () {} : _ref2$onQualityLimita;
|
|
367
374
|
React.useEffect(function () {
|
|
368
375
|
eventEmitter.on(events['meeting-state-changed'], onMeetingStateChanged);
|
|
369
376
|
eventEmitter.on(events['participant-joined'], onParticipantJoined);
|
|
@@ -404,6 +411,7 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
|
|
|
404
411
|
eventEmitter.on(events['media-relay-error'], onMediaRelayError);
|
|
405
412
|
eventEmitter.on(events['media-relay-request-response'], onMediaRelayRequestResponse);
|
|
406
413
|
eventEmitter.on(events['media-relay-request-received'], onMediaRelayRequestReceived);
|
|
414
|
+
eventEmitter.on(events['quality-limitation'], onQualityLimitation);
|
|
407
415
|
return function () {
|
|
408
416
|
eventEmitter.off(events['meeting-state-changed'], onMeetingStateChanged);
|
|
409
417
|
eventEmitter.off(events['participant-joined'], onParticipantJoined);
|
|
@@ -444,12 +452,13 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
|
|
|
444
452
|
eventEmitter.off(events['media-relay-error'], onMediaRelayError);
|
|
445
453
|
eventEmitter.off(events['media-relay-request-response'], onMediaRelayRequestResponse);
|
|
446
454
|
eventEmitter.off(events['media-relay-request-received'], onMediaRelayRequestReceived);
|
|
455
|
+
eventEmitter.off(events['quality-limitation'], onQualityLimitation);
|
|
447
456
|
};
|
|
448
457
|
}, []);
|
|
449
458
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(MeetingProviderContex.Consumer, null, children));
|
|
450
459
|
};
|
|
451
460
|
|
|
452
|
-
var version = "0.4.
|
|
461
|
+
var version = "0.4.9";
|
|
453
462
|
|
|
454
463
|
var MeetingProvider = function MeetingProvider(_ref) {
|
|
455
464
|
var children = _ref.children,
|
|
@@ -759,6 +768,7 @@ var MeetingProvider = function MeetingProvider(_ref) {
|
|
|
759
768
|
meeting.off('media-relay-error', _handle_media_relay_error);
|
|
760
769
|
meeting.off('media-relay-request-response', _handle_media_relay_request_response);
|
|
761
770
|
meeting.off('media-relay-request-received', _handle_media_relay_request_received);
|
|
771
|
+
meeting.off('quality-limitation', _handle_quality_limitation_received);
|
|
762
772
|
}
|
|
763
773
|
if (typeof (meeting === null || meeting === void 0 ? void 0 : (_meeting$localPartici = meeting.localParticipant) === null || _meeting$localPartici === void 0 ? void 0 : _meeting$localPartici.off) === 'function') {
|
|
764
774
|
meeting.localParticipant.off('stream-enabled', _handle_localParticipant_stream_enabled);
|
|
@@ -919,6 +929,9 @@ var MeetingProvider = function MeetingProvider(_ref) {
|
|
|
919
929
|
var _handle_media_relay_request_received = function _handle_media_relay_request_received(data) {
|
|
920
930
|
eventEmitter.emit(events['media-relay-request-received'], data);
|
|
921
931
|
};
|
|
932
|
+
var _handle_quality_limitation_received = function _handle_quality_limitation_received(data) {
|
|
933
|
+
eventEmitter.emit(events['quality-limitation'], data);
|
|
934
|
+
};
|
|
922
935
|
var join = function join() {
|
|
923
936
|
var meeting = jsSdk.VideoSDK && jsSdk.VideoSDK.initMeeting(configRef.current);
|
|
924
937
|
setMeeting(meeting);
|
|
@@ -975,6 +988,7 @@ var MeetingProvider = function MeetingProvider(_ref) {
|
|
|
975
988
|
meeting.on('media-relay-error', _handle_media_relay_error);
|
|
976
989
|
meeting.on('media-relay-request-response', _handle_media_relay_request_response);
|
|
977
990
|
meeting.on('media-relay-request-received', _handle_media_relay_request_received);
|
|
991
|
+
meeting.on('quality-limitation', _handle_quality_limitation_received);
|
|
978
992
|
meeting.localParticipant.on('stream-enabled', _handle_localParticipant_stream_enabled);
|
|
979
993
|
meeting.localParticipant.on('stream-disabled', _handle_localParticipant_stream_disabled);
|
|
980
994
|
meeting.join();
|
|
@@ -1696,6 +1710,66 @@ var useParticipant = function useParticipant(participantId, _temp) {
|
|
|
1696
1710
|
};
|
|
1697
1711
|
};
|
|
1698
1712
|
|
|
1713
|
+
var useStream = function useStream(streamId, _temp) {
|
|
1714
|
+
var _ref = _temp === void 0 ? {} : _temp,
|
|
1715
|
+
_ref$onStreamStateCha = _ref.onStreamStateChanged,
|
|
1716
|
+
onStreamStateChanged = _ref$onStreamStateCha === void 0 ? function () {} : _ref$onStreamStateCha;
|
|
1717
|
+
var _useState = React.useState(null),
|
|
1718
|
+
stream = _useState[0],
|
|
1719
|
+
setStream = _useState[1];
|
|
1720
|
+
var meeting = useMeeting();
|
|
1721
|
+
var _useMemo = React.useMemo(function () {
|
|
1722
|
+
var participants = meeting === null || meeting === void 0 ? void 0 : meeting.participants;
|
|
1723
|
+
return {
|
|
1724
|
+
participants: participants
|
|
1725
|
+
};
|
|
1726
|
+
}, [meeting]),
|
|
1727
|
+
participants = _useMemo.participants;
|
|
1728
|
+
var _handleStreamStateChanged = function _handleStreamStateChanged(data) {
|
|
1729
|
+
onStreamStateChanged(data);
|
|
1730
|
+
};
|
|
1731
|
+
React.useEffect(function () {
|
|
1732
|
+
if (!meeting) return;
|
|
1733
|
+
if (!streamId) return;
|
|
1734
|
+
var findStream = function findStream() {
|
|
1735
|
+
for (var _iterator = _createForOfIteratorHelperLoose(participants.values()), _step; !(_step = _iterator()).done;) {
|
|
1736
|
+
var participant = _step.value;
|
|
1737
|
+
var _stream = participant.streams.get(streamId);
|
|
1738
|
+
if (_stream != null) {
|
|
1739
|
+
return _stream;
|
|
1740
|
+
}
|
|
1741
|
+
}
|
|
1742
|
+
return null;
|
|
1743
|
+
};
|
|
1744
|
+
var s = findStream();
|
|
1745
|
+
if (!s) return;
|
|
1746
|
+
setStream(s);
|
|
1747
|
+
s === null || s === void 0 ? void 0 : s.on('state', _handleStreamStateChanged);
|
|
1748
|
+
return function () {
|
|
1749
|
+
s === null || s === void 0 ? void 0 : s.off('state', _handleStreamStateChanged);
|
|
1750
|
+
};
|
|
1751
|
+
}, [streamId]);
|
|
1752
|
+
var pause = function pause() {
|
|
1753
|
+
if (stream) {
|
|
1754
|
+
stream.pause();
|
|
1755
|
+
}
|
|
1756
|
+
};
|
|
1757
|
+
var resume = function resume() {
|
|
1758
|
+
if (stream) {
|
|
1759
|
+
stream.resume();
|
|
1760
|
+
}
|
|
1761
|
+
};
|
|
1762
|
+
return {
|
|
1763
|
+
kind: stream === null || stream === void 0 ? void 0 : stream.kind,
|
|
1764
|
+
codec: stream === null || stream === void 0 ? void 0 : stream.codec,
|
|
1765
|
+
track: stream === null || stream === void 0 ? void 0 : stream.track,
|
|
1766
|
+
paused: stream === null || stream === void 0 ? void 0 : stream.paused,
|
|
1767
|
+
stream: stream,
|
|
1768
|
+
pause: pause,
|
|
1769
|
+
resume: resume
|
|
1770
|
+
};
|
|
1771
|
+
};
|
|
1772
|
+
|
|
1699
1773
|
var useConnection = function useConnection(connectionId, _temp) {
|
|
1700
1774
|
var _ref = _temp === void 0 ? {
|
|
1701
1775
|
onMeeting: {
|
|
@@ -2487,30 +2561,33 @@ var VideoSDKPlayer = React.forwardRef(function (_ref5, ref) {
|
|
|
2487
2561
|
_ref5$classNameVideo = _ref5.classNameVideo,
|
|
2488
2562
|
classNameVideo = _ref5$classNameVideo === void 0 ? '' : _ref5$classNameVideo,
|
|
2489
2563
|
_ref5$videoStyle = _ref5.videoStyle,
|
|
2490
|
-
videoStyle = _ref5$videoStyle === void 0 ? {} : _ref5$videoStyle
|
|
2564
|
+
videoStyle = _ref5$videoStyle === void 0 ? {} : _ref5$videoStyle,
|
|
2565
|
+
videoRef = _ref5.videoRef;
|
|
2491
2566
|
var _useParticipant2 = useParticipant(participantId),
|
|
2492
2567
|
webcamOn = _useParticipant2.webcamOn,
|
|
2493
2568
|
webcamStream = _useParticipant2.webcamStream,
|
|
2494
2569
|
isLocal = _useParticipant2.isLocal,
|
|
2495
2570
|
screenShareStream = _useParticipant2.screenShareStream,
|
|
2496
2571
|
screenShareOn = _useParticipant2.screenShareOn;
|
|
2497
|
-
var
|
|
2572
|
+
var internalRef = React.useRef(null);
|
|
2573
|
+
var finalVideoRef = videoRef || internalRef;
|
|
2498
2574
|
React.useEffect(function () {
|
|
2499
2575
|
var stream = type === 'share' ? screenShareStream : webcamStream;
|
|
2500
2576
|
var isOn = type === 'share' ? screenShareOn : webcamOn;
|
|
2501
|
-
if (
|
|
2577
|
+
if (finalVideoRef.current) {
|
|
2502
2578
|
if (isOn && stream) {
|
|
2503
2579
|
var mediaStream = new MediaStream();
|
|
2504
2580
|
mediaStream.addTrack(stream.track);
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2581
|
+
finalVideoRef.current.setAttribute('muted', '');
|
|
2582
|
+
finalVideoRef.current.srcObject = mediaStream;
|
|
2583
|
+
finalVideoRef.current.setAttribute('playsinline', '');
|
|
2584
|
+
finalVideoRef.current.setAttribute('x5-playsinline', '');
|
|
2585
|
+
finalVideoRef.current.setAttribute('webkit-playsinline', '');
|
|
2586
|
+
finalVideoRef.current.play()["catch"](function (error) {
|
|
2587
|
+
return console.error('finalVideoRef.current.play() failed', error);
|
|
2511
2588
|
});
|
|
2512
2589
|
} else {
|
|
2513
|
-
|
|
2590
|
+
finalVideoRef.current.srcObject = null;
|
|
2514
2591
|
}
|
|
2515
2592
|
}
|
|
2516
2593
|
}, [type].concat(type === 'share' ? [screenShareOn, screenShareStream] : type === 'video' ? [webcamOn, webcamStream] : []));
|
|
@@ -2524,9 +2601,10 @@ var VideoSDKPlayer = React.forwardRef(function (_ref5, ref) {
|
|
|
2524
2601
|
}, /*#__PURE__*/React__default.createElement("video", {
|
|
2525
2602
|
width: "100%",
|
|
2526
2603
|
height: "100%",
|
|
2527
|
-
ref:
|
|
2604
|
+
ref: finalVideoRef,
|
|
2528
2605
|
autoPlay: true,
|
|
2529
2606
|
className: classNameVideo,
|
|
2607
|
+
muted: true,
|
|
2530
2608
|
style: isLocal && type !== 'share' ? _extends({
|
|
2531
2609
|
transform: 'scaleX(-1)',
|
|
2532
2610
|
WebkitTransform: 'scaleX(-1)'
|
|
@@ -2616,6 +2694,7 @@ exports.useMediaDevice = useMediaDevice;
|
|
|
2616
2694
|
exports.useMeeting = useMeeting;
|
|
2617
2695
|
exports.useParticipant = useParticipant;
|
|
2618
2696
|
exports.usePubSub = usePubSub;
|
|
2697
|
+
exports.useStream = useStream;
|
|
2619
2698
|
exports.useTranscription = useTranscription;
|
|
2620
2699
|
exports.useTranslation = useTranslation;
|
|
2621
2700
|
exports.useWhiteboard = useWhiteboard;
|