@videosdk.live/react-sdk 0.4.8 → 0.4.10

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 CHANGED
@@ -458,7 +458,7 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
458
458
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(MeetingProviderContex.Consumer, null, children));
459
459
  };
460
460
 
461
- var version = "0.4.8";
461
+ var version = "0.4.10";
462
462
 
463
463
  var MeetingProvider = function MeetingProvider(_ref) {
464
464
  var children = _ref.children,
@@ -716,8 +716,8 @@ var MeetingProvider = function MeetingProvider(_ref) {
716
716
  setIsMeetingJoined(true);
717
717
  }
718
718
  };
719
- var _handle_meeting_left2 = function _handle_meeting_left() {
720
- eventEmitter.emit(events['meeting-left']);
719
+ var _handle_meeting_left2 = function _handle_meeting_left(data) {
720
+ eventEmitter.emit(events['meeting-left'], data);
721
721
  var meeting = meetingRef.current;
722
722
  if (meeting) {
723
723
  var _meeting$localPartici;
@@ -1896,6 +1896,72 @@ var usePubSub = function usePubSub(topic, _temp) {
1896
1896
  };
1897
1897
  };
1898
1898
 
1899
+ var useRealtimeStore = function useRealtimeStore(key, _temp) {
1900
+ var _ref = _temp === void 0 ? {} : _temp,
1901
+ _ref$onValueChanged = _ref.onValueChanged,
1902
+ onValueChanged = _ref$onValueChanged === void 0 ? function () {} : _ref$onValueChanged;
1903
+ var observerIdRef = React.useRef(null);
1904
+ var _useMeeting = useMeeting(),
1905
+ meeting = _useMeeting.meeting,
1906
+ isMeetingJoined = _useMeeting.isMeetingJoined;
1907
+ var isObserving = React.useRef(false);
1908
+ var setValue = function setValue(value) {
1909
+ try {
1910
+ return Promise.resolve(function () {
1911
+ if (meeting) {
1912
+ return Promise.resolve(meeting.realtimeStore.setValue(key, value));
1913
+ }
1914
+ }());
1915
+ } catch (e) {
1916
+ return Promise.reject(e);
1917
+ }
1918
+ };
1919
+ var getValue = function getValue() {
1920
+ try {
1921
+ return Promise.resolve(function () {
1922
+ if (meeting) {
1923
+ return Promise.resolve(meeting.realtimeStore.getValue(key));
1924
+ }
1925
+ }());
1926
+ } catch (e) {
1927
+ return Promise.reject(e);
1928
+ }
1929
+ };
1930
+ var _handleRealtimeStore = function _handleRealtimeStore(data) {
1931
+ onValueChanged(data);
1932
+ };
1933
+ var subscribeToKey = function subscribeToKey(meeting) {
1934
+ try {
1935
+ var _meeting$realtimeStor3;
1936
+ return Promise.resolve(meeting === null || meeting === void 0 ? void 0 : (_meeting$realtimeStor3 = meeting.realtimeStore) === null || _meeting$realtimeStor3 === void 0 ? void 0 : _meeting$realtimeStor3.observe(key, _handleRealtimeStore)).then(function (observer) {
1937
+ if (observer) {
1938
+ observerIdRef.current = observer;
1939
+ }
1940
+ });
1941
+ } catch (e) {
1942
+ return Promise.reject(e);
1943
+ }
1944
+ };
1945
+ React.useEffect(function () {
1946
+ if (meeting && !isObserving.current && isMeetingJoined && onValueChanged) {
1947
+ isObserving.current = true;
1948
+ subscribeToKey(meeting);
1949
+ return function () {
1950
+ if (observerIdRef.current) {
1951
+ var _meeting$realtimeStor4;
1952
+ meeting === null || meeting === void 0 ? void 0 : (_meeting$realtimeStor4 = meeting.realtimeStore) === null || _meeting$realtimeStor4 === void 0 ? void 0 : _meeting$realtimeStor4.stopObserving(observerIdRef.current);
1953
+ observerIdRef.current = null;
1954
+ }
1955
+ isObserving.current = false;
1956
+ };
1957
+ }
1958
+ }, [meeting, isMeetingJoined]);
1959
+ return {
1960
+ setValue: setValue,
1961
+ getValue: getValue
1962
+ };
1963
+ };
1964
+
1899
1965
  var useFile = function useFile() {
1900
1966
  var mMeeting = useMeeting();
1901
1967
  var uploadBase64File = function uploadBase64File(_ref) {
@@ -2561,30 +2627,33 @@ var VideoSDKPlayer = React.forwardRef(function (_ref5, ref) {
2561
2627
  _ref5$classNameVideo = _ref5.classNameVideo,
2562
2628
  classNameVideo = _ref5$classNameVideo === void 0 ? '' : _ref5$classNameVideo,
2563
2629
  _ref5$videoStyle = _ref5.videoStyle,
2564
- videoStyle = _ref5$videoStyle === void 0 ? {} : _ref5$videoStyle;
2630
+ videoStyle = _ref5$videoStyle === void 0 ? {} : _ref5$videoStyle,
2631
+ videoRef = _ref5.videoRef;
2565
2632
  var _useParticipant2 = useParticipant(participantId),
2566
2633
  webcamOn = _useParticipant2.webcamOn,
2567
2634
  webcamStream = _useParticipant2.webcamStream,
2568
2635
  isLocal = _useParticipant2.isLocal,
2569
2636
  screenShareStream = _useParticipant2.screenShareStream,
2570
2637
  screenShareOn = _useParticipant2.screenShareOn;
2571
- var videoRef = React.useRef(null);
2638
+ var internalRef = React.useRef(null);
2639
+ var finalVideoRef = videoRef || internalRef;
2572
2640
  React.useEffect(function () {
2573
2641
  var stream = type === 'share' ? screenShareStream : webcamStream;
2574
2642
  var isOn = type === 'share' ? screenShareOn : webcamOn;
2575
- if (videoRef.current) {
2643
+ if (finalVideoRef.current) {
2576
2644
  if (isOn && stream) {
2577
2645
  var mediaStream = new MediaStream();
2578
2646
  mediaStream.addTrack(stream.track);
2579
- videoRef.current.srcObject = mediaStream;
2580
- videoRef.current.setAttribute('playsinline', '');
2581
- videoRef.current.setAttribute('x5-playsinline', '');
2582
- videoRef.current.setAttribute('webkit-playsinline', '');
2583
- videoRef.current.play()["catch"](function (error) {
2584
- return console.error('videoRef.current.play() failed', error);
2647
+ finalVideoRef.current.setAttribute('muted', '');
2648
+ finalVideoRef.current.srcObject = mediaStream;
2649
+ finalVideoRef.current.setAttribute('playsinline', '');
2650
+ finalVideoRef.current.setAttribute('x5-playsinline', '');
2651
+ finalVideoRef.current.setAttribute('webkit-playsinline', '');
2652
+ finalVideoRef.current.play()["catch"](function (error) {
2653
+ return console.error('finalVideoRef.current.play() failed', error);
2585
2654
  });
2586
2655
  } else {
2587
- videoRef.current.srcObject = null;
2656
+ finalVideoRef.current.srcObject = null;
2588
2657
  }
2589
2658
  }
2590
2659
  }, [type].concat(type === 'share' ? [screenShareOn, screenShareStream] : type === 'video' ? [webcamOn, webcamStream] : []));
@@ -2598,9 +2667,10 @@ var VideoSDKPlayer = React.forwardRef(function (_ref5, ref) {
2598
2667
  }, /*#__PURE__*/React__default.createElement("video", {
2599
2668
  width: "100%",
2600
2669
  height: "100%",
2601
- ref: videoRef,
2670
+ ref: finalVideoRef,
2602
2671
  autoPlay: true,
2603
2672
  className: classNameVideo,
2673
+ muted: true,
2604
2674
  style: isLocal && type !== 'share' ? _extends({
2605
2675
  transform: 'scaleX(-1)',
2606
2676
  WebkitTransform: 'scaleX(-1)'
@@ -2690,6 +2760,7 @@ exports.useMediaDevice = useMediaDevice;
2690
2760
  exports.useMeeting = useMeeting;
2691
2761
  exports.useParticipant = useParticipant;
2692
2762
  exports.usePubSub = usePubSub;
2763
+ exports.useRealtimeStore = useRealtimeStore;
2693
2764
  exports.useStream = useStream;
2694
2765
  exports.useTranscription = useTranscription;
2695
2766
  exports.useTranslation = useTranslation;