@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 +8 -0
- package/dist/index.browser.es.js +71 -4
- package/dist/index.browser.es.js.map +1 -1
- package/dist/index.cjs.js +71 -3
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +71 -4
- package/dist/index.es.js.map +1 -1
- package/dist/src/gen/video/sfu/event/events.d.ts +5 -1
- package/dist/src/gen/video/sfu/models/models.d.ts +35 -0
- package/dist/src/sorting/participants.d.ts +8 -0
- package/package.json +1 -1
- package/src/Call.ts +2 -0
- package/src/__tests__/StreamVideoClient.api.test.ts +1 -1
- package/src/gen/video/sfu/event/events.ts +15 -0
- package/src/gen/video/sfu/models/models.ts +45 -0
- package/src/sorting/participants.ts +15 -0
- package/src/sorting/presets.ts +3 -4
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
|
package/dist/index.browser.es.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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
|