@stream-io/video-client 1.25.1 → 1.25.3

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.es.js CHANGED
@@ -5811,7 +5811,7 @@ const aggregate = (stats) => {
5811
5811
  return report;
5812
5812
  };
5813
5813
 
5814
- const version = "1.25.1";
5814
+ const version = "1.25.3";
5815
5815
  const [major, minor, patch] = version.split('.');
5816
5816
  let sdkInfo = {
5817
5817
  type: SdkType.PLAIN_JAVASCRIPT,
@@ -9668,6 +9668,26 @@ const disposeOfMediaStream = (stream) => {
9668
9668
  stream.release();
9669
9669
  }
9670
9670
  };
9671
+ /**
9672
+ * Resolves `default` device id into the real device id. Some browsers (notably,
9673
+ * Chromium-based) report device with id `default` among audio input and output
9674
+ * devices. Since not every browser does that, we never want `default` id to be
9675
+ * used within our SDK. This function tries to find the real id for the `default`
9676
+ * device.
9677
+ */
9678
+ function resolveDeviceId(deviceId, kind) {
9679
+ if (deviceId !== 'default')
9680
+ return deviceId;
9681
+ const devices = deviceIds$ && getCurrentValue(deviceIds$);
9682
+ if (!devices)
9683
+ return deviceId;
9684
+ const defaultDeviceInfo = devices.find((d) => d.deviceId === deviceId);
9685
+ if (!defaultDeviceInfo)
9686
+ return deviceId;
9687
+ const groupId = defaultDeviceInfo.groupId;
9688
+ const candidates = devices.filter((d) => d.kind === kind && d.deviceId !== 'default' && d.groupId === groupId);
9689
+ return candidates.length === 1 ? candidates[0].deviceId : deviceId;
9690
+ }
9671
9691
 
9672
9692
  /**
9673
9693
  * Checks if the current platform is a mobile device.
@@ -10457,7 +10477,8 @@ class MicrophoneManagerState extends InputMediaDeviceManagerState {
10457
10477
  }
10458
10478
  getDeviceIdFromStream(stream) {
10459
10479
  const [track] = stream.getAudioTracks();
10460
- return track?.getSettings().deviceId;
10480
+ const unresolvedDeviceId = track?.getSettings().deviceId;
10481
+ return resolveDeviceId(unresolvedDeviceId, 'audioinput');
10461
10482
  }
10462
10483
  }
10463
10484
 
@@ -14251,7 +14272,7 @@ class StreamClient {
14251
14272
  this.getUserAgent = () => {
14252
14273
  if (!this.cachedUserAgent) {
14253
14274
  const { clientAppIdentifier = {} } = this.options;
14254
- const { sdkName = 'js', sdkVersion = "1.25.1", ...extras } = clientAppIdentifier;
14275
+ const { sdkName = 'js', sdkVersion = "1.25.3", ...extras } = clientAppIdentifier;
14255
14276
  this.cachedUserAgent = [
14256
14277
  `stream-video-${sdkName}-v${sdkVersion}`,
14257
14278
  ...Object.entries(extras).map(([key, value]) => `${key}=${value}`),
@@ -14804,5 +14825,5 @@ class StreamVideoClient {
14804
14825
  }
14805
14826
  StreamVideoClient._instances = new Map();
14806
14827
 
14807
- 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, role, screenSharing, setDeviceInfo, setLogLevel, setLogger, setOSInfo, setPowerState, setSdkInfo, setThermalState, setWebRTCInfo, speakerLayoutSortPreset, speaking };
14828
+ 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 };
14808
14829
  //# sourceMappingURL=index.es.js.map