@stream-io/video-client 1.25.4 → 1.26.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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [1.26.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.25.5...@stream-io/video-client-1.26.0) (2025-07-11)
6
+
7
+ ### Features
8
+
9
+ - **react-native:** speech detection ([#1850](https://github.com/GetStream/stream-video-js/issues/1850)) ([3f53e95](https://github.com/GetStream/stream-video-js/commit/3f53e95fdf0e739c809648211c52542d86df183f))
10
+
11
+ ## [1.25.5](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.25.4...@stream-io/video-client-1.25.5) (2025-07-08)
12
+
13
+ ### Bug Fixes
14
+
15
+ - relax SFU leaveAndClose constraints ([#1848](https://github.com/GetStream/stream-video-js/issues/1848)) ([dbf8bb0](https://github.com/GetStream/stream-video-js/commit/dbf8bb0c6f9f5358f21db3e78bd40ce01ad9bf6d)), closes [#1846](https://github.com/GetStream/stream-video-js/issues/1846)
16
+
5
17
  ## [1.25.4](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.25.3...@stream-io/video-client-1.25.4) (2025-07-07)
6
18
 
7
19
  ### Bug Fixes
@@ -5810,7 +5810,7 @@ const aggregate = (stats) => {
5810
5810
  return report;
5811
5811
  };
5812
5812
 
5813
- const version = "1.25.4";
5813
+ const version = "1.26.0";
5814
5814
  const [major, minor, patch] = version.split('.');
5815
5815
  let sdkInfo = {
5816
5816
  type: SdkType.PLAIN_JAVASCRIPT,
@@ -7877,9 +7877,9 @@ class StreamSfuClient {
7877
7877
  return this.tracer?.take();
7878
7878
  };
7879
7879
  this.leaveAndClose = async (reason) => {
7880
- await this.joinTask;
7881
7880
  try {
7882
7881
  this.isLeaving = true;
7882
+ await this.joinTask;
7883
7883
  await this.notifyLeave(reason);
7884
7884
  }
7885
7885
  catch (err) {
@@ -10535,20 +10535,26 @@ const createSoundDetector = (audioStream, onSoundDetectedStateChanged, options =
10535
10535
  };
10536
10536
 
10537
10537
  class RNSpeechDetector {
10538
- constructor() {
10538
+ constructor(externalAudioStream) {
10539
10539
  this.pc1 = new RTCPeerConnection({});
10540
10540
  this.pc2 = new RTCPeerConnection({});
10541
+ this.externalAudioStream = externalAudioStream;
10541
10542
  }
10542
10543
  /**
10543
10544
  * Starts the speech detection.
10544
10545
  */
10545
10546
  async start(onSoundDetectedStateChanged) {
10546
10547
  try {
10547
- this.cleanupAudioStream();
10548
- const audioStream = await navigator.mediaDevices.getUserMedia({
10549
- audio: true,
10550
- });
10551
- this.audioStream = audioStream;
10548
+ let audioStream;
10549
+ if (this.externalAudioStream != null) {
10550
+ audioStream = this.externalAudioStream;
10551
+ }
10552
+ else {
10553
+ audioStream = await navigator.mediaDevices.getUserMedia({
10554
+ audio: true,
10555
+ });
10556
+ this.audioStream = audioStream;
10557
+ }
10552
10558
  this.pc1.addEventListener('icecandidate', async (e) => {
10553
10559
  await this.pc2.addIceCandidate(e.candidate);
10554
10560
  });
@@ -10590,7 +10596,12 @@ class RNSpeechDetector {
10590
10596
  stop() {
10591
10597
  this.pc1.close();
10592
10598
  this.pc2.close();
10593
- this.cleanupAudioStream();
10599
+ if (this.externalAudioStream != null) {
10600
+ this.externalAudioStream = undefined;
10601
+ }
10602
+ else {
10603
+ this.cleanupAudioStream();
10604
+ }
10594
10605
  }
10595
10606
  /**
10596
10607
  * Public method that detects the audio levels and returns the status.
@@ -14284,7 +14295,7 @@ class StreamClient {
14284
14295
  this.getUserAgent = () => {
14285
14296
  if (!this.cachedUserAgent) {
14286
14297
  const { clientAppIdentifier = {} } = this.options;
14287
- const { sdkName = 'js', sdkVersion = "1.25.4", ...extras } = clientAppIdentifier;
14298
+ const { sdkName = 'js', sdkVersion = "1.26.0", ...extras } = clientAppIdentifier;
14288
14299
  this.cachedUserAgent = [
14289
14300
  `stream-video-${sdkName}-v${sdkVersion}`,
14290
14301
  ...Object.entries(extras).map(([key, value]) => `${key}=${value}`),
@@ -14837,5 +14848,5 @@ class StreamVideoClient {
14837
14848
  }
14838
14849
  StreamVideoClient._instances = new Map();
14839
14850
 
14840
- export { AudioSettingsRequestDefaultDeviceEnum, AudioSettingsResponseDefaultDeviceEnum, browsers as Browsers, Call, CallState, CallType, CallTypes, CallingState, CameraManager, CameraManagerState, CreateDeviceRequestPushProviderEnum, DebounceType, DynascaleManager, ErrorFromResponse, FrameRecordingSettingsRequestModeEnum, FrameRecordingSettingsRequestQualityEnum, FrameRecordingSettingsResponseModeEnum, InputMediaDeviceManager, InputMediaDeviceManagerState, LayoutSettingsRequestNameEnum, MicrophoneManager, MicrophoneManagerState, NoiseCancellationSettingsModeEnum, OwnCapability, RTMPBroadcastRequestQualityEnum, RTMPSettingsRequestQualityEnum, RecordSettingsRequestModeEnum, RecordSettingsRequestQualityEnum, rxUtils as RxUtils, ScreenShareManager, ScreenShareState, events as SfuEvents, models as SfuModels, SpeakerManager, SpeakerState, StartClosedCaptionsRequestLanguageEnum, StartTranscriptionRequestLanguageEnum, StreamSfuClient, StreamVideoClient, StreamVideoReadOnlyStateStore, StreamVideoWriteableStateStore, TranscriptionSettingsRequestClosedCaptionModeEnum, TranscriptionSettingsRequestLanguageEnum, TranscriptionSettingsRequestModeEnum, TranscriptionSettingsResponseClosedCaptionModeEnum, TranscriptionSettingsResponseLanguageEnum, TranscriptionSettingsResponseModeEnum, VideoSettingsRequestCameraFacingEnum, VideoSettingsResponseCameraFacingEnum, ViewportTracker, VisibilityState, checkIfAudioOutputChangeSupported, combineComparators, conditional, createSoundDetector, defaultSortPreset, descending, deviceIds$, disposeOfMediaStream, dominantSpeaker, getAudioBrowserPermission, getAudioDevices, getAudioOutputDevices, getAudioStream, getClientDetails, getDeviceState, getLogLevel, getLogger, getScreenShareStream, getSdkInfo, getVideoBrowserPermission, getVideoDevices, getVideoStream, getWebRTCInfo, hasAudio, hasScreenShare, hasScreenShareAudio, hasVideo, isPinned, livestreamOrAudioRoomSortPreset, logLevels, logToConsole, name, noopComparator, paginatedLayoutSortPreset, pinned, publishingAudio, publishingVideo, reactionType, resolveDeviceId, role, screenSharing, setDeviceInfo, setLogLevel, setLogger, setOSInfo, setPowerState, setSdkInfo, setThermalState, setWebRTCInfo, speakerLayoutSortPreset, speaking };
14851
+ export { AudioSettingsRequestDefaultDeviceEnum, AudioSettingsResponseDefaultDeviceEnum, browsers as Browsers, Call, CallState, CallType, CallTypes, CallingState, CameraManager, CameraManagerState, CreateDeviceRequestPushProviderEnum, DebounceType, DynascaleManager, ErrorFromResponse, FrameRecordingSettingsRequestModeEnum, FrameRecordingSettingsRequestQualityEnum, FrameRecordingSettingsResponseModeEnum, InputMediaDeviceManager, InputMediaDeviceManagerState, LayoutSettingsRequestNameEnum, MicrophoneManager, MicrophoneManagerState, NoiseCancellationSettingsModeEnum, OwnCapability, RNSpeechDetector, RTMPBroadcastRequestQualityEnum, RTMPSettingsRequestQualityEnum, RecordSettingsRequestModeEnum, RecordSettingsRequestQualityEnum, rxUtils as RxUtils, ScreenShareManager, ScreenShareState, events as SfuEvents, models as SfuModels, SpeakerManager, SpeakerState, StartClosedCaptionsRequestLanguageEnum, StartTranscriptionRequestLanguageEnum, StreamSfuClient, StreamVideoClient, StreamVideoReadOnlyStateStore, StreamVideoWriteableStateStore, TranscriptionSettingsRequestClosedCaptionModeEnum, TranscriptionSettingsRequestLanguageEnum, TranscriptionSettingsRequestModeEnum, TranscriptionSettingsResponseClosedCaptionModeEnum, TranscriptionSettingsResponseLanguageEnum, TranscriptionSettingsResponseModeEnum, VideoSettingsRequestCameraFacingEnum, VideoSettingsResponseCameraFacingEnum, ViewportTracker, VisibilityState, checkIfAudioOutputChangeSupported, combineComparators, conditional, createSoundDetector, defaultSortPreset, descending, deviceIds$, disposeOfMediaStream, dominantSpeaker, getAudioBrowserPermission, getAudioDevices, getAudioOutputDevices, getAudioStream, getClientDetails, getDeviceState, getLogLevel, getLogger, getScreenShareStream, getSdkInfo, getVideoBrowserPermission, getVideoDevices, getVideoStream, getWebRTCInfo, hasAudio, hasScreenShare, hasScreenShareAudio, hasVideo, isPinned, livestreamOrAudioRoomSortPreset, logLevels, logToConsole, name, noopComparator, paginatedLayoutSortPreset, pinned, publishingAudio, publishingVideo, reactionType, resolveDeviceId, role, screenSharing, setDeviceInfo, setLogLevel, setLogger, setOSInfo, setPowerState, setSdkInfo, setThermalState, setWebRTCInfo, speakerLayoutSortPreset, speaking };
14841
14852
  //# sourceMappingURL=index.browser.es.js.map