@stream-io/video-client 1.29.0 → 1.30.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,14 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [1.30.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.29.0...@stream-io/video-client-1.30.0) (2025-09-11)
6
+
7
+ - Skip tests for StreamVideoClient coordinator API ([aabe1d0](https://github.com/GetStream/stream-video-js/commit/aabe1d0ad3e3a95698b422991729e46289ab0277))
8
+
9
+ ### Features
10
+
11
+ - Participant Source ([#1896](https://github.com/GetStream/stream-video-js/issues/1896)) ([b1cf710](https://github.com/GetStream/stream-video-js/commit/b1cf710ac3bfda573c0379dac1e6a107d2dbabf6))
12
+
5
13
  ## [1.29.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.28.1...@stream-io/video-client-1.29.0) (2025-09-09)
6
14
 
7
15
  ### Features
@@ -925,6 +925,38 @@ var TrackType;
925
925
  */
926
926
  TrackType[TrackType["SCREEN_SHARE_AUDIO"] = 4] = "SCREEN_SHARE_AUDIO";
927
927
  })(TrackType || (TrackType = {}));
928
+ /**
929
+ * must be aligned with kit
930
+ *
931
+ * @generated from protobuf enum stream.video.sfu.models.ParticipantSource
932
+ */
933
+ var ParticipantSource;
934
+ (function (ParticipantSource) {
935
+ /**
936
+ * @generated from protobuf enum value: PARTICIPANT_SOURCE_WEBRTC_UNSPECIFIED = 0;
937
+ */
938
+ ParticipantSource[ParticipantSource["WEBRTC_UNSPECIFIED"] = 0] = "WEBRTC_UNSPECIFIED";
939
+ /**
940
+ * @generated from protobuf enum value: PARTICIPANT_SOURCE_RTMP = 1;
941
+ */
942
+ ParticipantSource[ParticipantSource["RTMP"] = 1] = "RTMP";
943
+ /**
944
+ * @generated from protobuf enum value: PARTICIPANT_SOURCE_WHIP = 2;
945
+ */
946
+ ParticipantSource[ParticipantSource["WHIP"] = 2] = "WHIP";
947
+ /**
948
+ * @generated from protobuf enum value: PARTICIPANT_SOURCE_SIP = 3;
949
+ */
950
+ ParticipantSource[ParticipantSource["SIP"] = 3] = "SIP";
951
+ /**
952
+ * @generated from protobuf enum value: PARTICIPANT_SOURCE_RTSP = 4;
953
+ */
954
+ ParticipantSource[ParticipantSource["RTSP"] = 4] = "RTSP";
955
+ /**
956
+ * @generated from protobuf enum value: PARTICIPANT_SOURCE_SRT = 5;
957
+ */
958
+ ParticipantSource[ParticipantSource["SRT"] = 5] = "SRT";
959
+ })(ParticipantSource || (ParticipantSource = {}));
928
960
  /**
929
961
  * @generated from protobuf enum stream.video.sfu.models.ErrorCode
930
962
  */
@@ -1386,6 +1418,16 @@ class Participant$Type extends MessageType {
1386
1418
  repeat: 2 /*RepeatType.UNPACKED*/,
1387
1419
  T: 9 /*ScalarType.STRING*/,
1388
1420
  },
1421
+ {
1422
+ no: 14,
1423
+ name: 'source',
1424
+ kind: 'enum',
1425
+ T: () => [
1426
+ 'stream.video.sfu.models.ParticipantSource',
1427
+ ParticipantSource,
1428
+ 'PARTICIPANT_SOURCE_',
1429
+ ],
1430
+ },
1389
1431
  ]);
1390
1432
  }
1391
1433
  }
@@ -1959,6 +2001,7 @@ var models = /*#__PURE__*/Object.freeze({
1959
2001
  OS: OS,
1960
2002
  Participant: Participant,
1961
2003
  ParticipantCount: ParticipantCount,
2004
+ get ParticipantSource () { return ParticipantSource; },
1962
2005
  get PeerType () { return PeerType; },
1963
2006
  PerformanceStats: PerformanceStats,
1964
2007
  Pin: Pin,
@@ -2961,6 +3004,16 @@ class JoinRequest$Type extends MessageType {
2961
3004
  'CLIENT_CAPABILITY_',
2962
3005
  ],
2963
3006
  },
3007
+ {
3008
+ no: 12,
3009
+ name: 'source',
3010
+ kind: 'enum',
3011
+ T: () => [
3012
+ 'stream.video.sfu.models.ParticipantSource',
3013
+ ParticipantSource,
3014
+ 'PARTICIPANT_SOURCE_',
3015
+ ],
3016
+ },
2964
3017
  ]);
2965
3018
  }
2966
3019
  }
@@ -4525,6 +4578,19 @@ const pinned = (a, b) => {
4525
4578
  return 1;
4526
4579
  return 0;
4527
4580
  };
4581
+ /**
4582
+ * A comparator creator which will set up a comparator which prioritizes
4583
+ * participants who are from a specific source (e.g., WebRTC, RTMP, WHIP...).
4584
+ *
4585
+ * @param source the source to prioritize.
4586
+ */
4587
+ const withParticipantSource = (source) => (a, b) => {
4588
+ if (a.source === source && b.source !== source)
4589
+ return -1;
4590
+ if (a.source !== source && b.source === source)
4591
+ return 1;
4592
+ return 0;
4593
+ };
4528
4594
  /**
4529
4595
  * A comparator creator which will set up a comparator which prioritizes
4530
4596
  * participants who have a specific reaction.
@@ -4598,7 +4664,7 @@ const paginatedLayoutSortPreset = combineComparators(pinned, ifInvisibleOrUnknow
4598
4664
  /**
4599
4665
  * The sorting preset for livestreams and audio rooms.
4600
4666
  */
4601
- const livestreamOrAudioRoomSortPreset = combineComparators(ifInvisibleBy(combineComparators(dominantSpeaker, speaking, reactionType('raised-hand'), publishingVideo, publishingAudio)), role('admin', 'host', 'speaker'));
4667
+ const livestreamOrAudioRoomSortPreset = combineComparators(ifInvisibleBy(combineComparators(dominantSpeaker, speaking, reactionType('raised-hand'), withParticipantSource(ParticipantSource.RTMP), publishingVideo, publishingAudio)), role('admin', 'host', 'speaker'));
4602
4668
 
4603
4669
  /**
4604
4670
  * Returns the default egress object - when no egress data is available.
@@ -5691,7 +5757,7 @@ const getSdkVersion = (sdk) => {
5691
5757
  return sdk ? `${sdk.major}.${sdk.minor}.${sdk.patch}` : '0.0.0-development';
5692
5758
  };
5693
5759
 
5694
- const version = "1.29.0";
5760
+ const version = "1.30.0";
5695
5761
  const [major, minor, patch] = version.split('.');
5696
5762
  let sdkInfo = {
5697
5763
  type: SdkType.PLAIN_JAVASCRIPT,
@@ -12045,6 +12111,7 @@ class Call {
12045
12111
  preferredPublishOptions,
12046
12112
  preferredSubscribeOptions,
12047
12113
  capabilities: Array.from(this.clientCapabilities),
12114
+ source: ParticipantSource.WEBRTC_UNSPECIFIED,
12048
12115
  });
12049
12116
  this.currentPublishOptions = publishOptions;
12050
12117
  this.fastReconnectDeadlineSeconds = fastReconnectDeadlineSeconds;
@@ -14594,7 +14661,7 @@ class StreamClient {
14594
14661
  this.getUserAgent = () => {
14595
14662
  if (!this.cachedUserAgent) {
14596
14663
  const { clientAppIdentifier = {} } = this.options;
14597
- const { sdkName = 'js', sdkVersion = "1.29.0", ...extras } = clientAppIdentifier;
14664
+ const { sdkName = 'js', sdkVersion = "1.30.0", ...extras } = clientAppIdentifier;
14598
14665
  this.cachedUserAgent = [
14599
14666
  `stream-video-${sdkName}-v${sdkVersion}`,
14600
14667
  ...Object.entries(extras).map(([key, value]) => `${key}=${value}`),
@@ -15162,5 +15229,5 @@ class StreamVideoClient {
15162
15229
  }
15163
15230
  StreamVideoClient._instances = new Map();
15164
15231
 
15165
- export { AudioSettingsRequestDefaultDeviceEnum, AudioSettingsResponseDefaultDeviceEnum, browsers as Browsers, Call, CallState, CallType, CallTypes, CallingState, CameraManager, CameraManagerState, CreateDeviceRequestPushProviderEnum, DebounceType, DynascaleManager, ErrorFromResponse, FrameRecordingSettingsRequestModeEnum, FrameRecordingSettingsRequestQualityEnum, FrameRecordingSettingsResponseModeEnum, IngressAudioEncodingOptionsRequestChannelsEnum, IngressVideoLayerRequestCodecEnum, 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, hasPausedTrack, 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 };
15232
+ export { AudioSettingsRequestDefaultDeviceEnum, AudioSettingsResponseDefaultDeviceEnum, browsers as Browsers, Call, CallState, CallType, CallTypes, CallingState, CameraManager, CameraManagerState, CreateDeviceRequestPushProviderEnum, DebounceType, DynascaleManager, ErrorFromResponse, FrameRecordingSettingsRequestModeEnum, FrameRecordingSettingsRequestQualityEnum, FrameRecordingSettingsResponseModeEnum, IngressAudioEncodingOptionsRequestChannelsEnum, IngressVideoLayerRequestCodecEnum, 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, hasPausedTrack, 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, withParticipantSource };
15166
15233
  //# sourceMappingURL=index.browser.es.js.map