@byteplus/rtc 4.52.2 → 4.54.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/index.d.ts CHANGED
@@ -694,7 +694,12 @@ declare enum ErrorCode {
694
694
  /**
695
695
  * @brief The client side failed to identity error codes sent by cloud media processing. Please contact the technical support.
696
696
  */
697
- SUBTITLE_ERR_UNKNOWN = "SUBTITLE_ERR_UNKNOWN"
697
+ SUBTITLE_ERR_UNKNOWN = "SUBTITLE_ERR_UNKNOWN",
698
+
699
+ /**
700
+ * @brief Unexpected cross-room media stream forwarding API call. For example, calling `stopForwardStreamToRooms` when media forwarding has already stopped.
701
+ */
702
+ UNEXPECTED_INVOKE_FORWARD_STREAM = "UNEXPECTED_INVOKE_FORWARD_STREAM"
698
703
  }
699
704
  declare enum AudioMixingError {
700
705
 
@@ -990,7 +995,6 @@ export interface onSEIMessageEvent {
990
995
  }
991
996
 
992
997
  /**
993
- * @hidden
994
998
  * @brief The SEI carried by the public video stream.
995
999
  */
996
1000
  export interface PublicStreamSEIMessageEvent {
@@ -1204,6 +1208,12 @@ export interface RemoteAudioStats {
1204
1208
  */
1205
1209
  e2eDelay: number;
1206
1210
 
1211
+ /**
1212
+ * @brief The round-trip transmission time delay in ms.
1213
+ * @notes For FireFox, the value is not accurate.
1214
+ */
1215
+ totalRtt: number;
1216
+
1207
1217
  /**
1208
1218
  * @hidden
1209
1219
  * @brief Sample rate of the playback
@@ -1322,6 +1332,12 @@ export interface RemoteVideoStats {
1322
1332
  */
1323
1333
  e2eDelay: number;
1324
1334
 
1335
+ /**
1336
+ * @brief The round-trip transmission time delay in ms.
1337
+ * @notes For FireFox, the value is not accurate.
1338
+ */
1339
+ totalRtt: number;
1340
+
1325
1341
  /**
1326
1342
  * @brief Whether it is a screen-sharing stream
1327
1343
  */
@@ -1507,6 +1523,9 @@ export interface ConnectionStateChangeEvent {
1507
1523
  */
1508
1524
  state: ConnectionState;
1509
1525
  }
1526
+ export interface VendorConnectionStateChangeEvent extends ConnectionStateChangeEvent {
1527
+ userId: string;
1528
+ }
1510
1529
 
1511
1530
  /**
1512
1531
  * @brief Event related to the player
@@ -1894,7 +1913,12 @@ declare enum EngineEventsTypes {
1894
1913
  onLocalVideoSizeChanged = "onLocalVideoSizeChanged",
1895
1914
  onSubtitleStateChanged = "onSubtitleStateChanged",
1896
1915
  onSubtitleMessageReceived = "onSubtitleMessageReceived",
1897
- onServerParamsSetResult = "onServerParamsSetResult"
1916
+ onServerParamsSetResult = "onServerParamsSetResult",
1917
+ onLocalStreamTrackChangedByExtension = "onLocalStreamTrackChangedByExtension",
1918
+ onVendorConnectionStateChanged = "onVendorConnectionStateChanged",
1919
+ onForwardStreamError = "onForwardStreamError",
1920
+ onRejoinWithTcp = "onRejoinWithTcp",
1921
+ onIceConnectWithTcp = "onIceConnectWithTcp"
1898
1922
  }
1899
1923
 
1900
1924
  /**
@@ -1932,6 +1956,14 @@ export interface IEngineEvents {
1932
1956
  */
1933
1957
  [EngineEventsTypes.onConnectionStateChanged]: (event: ConnectionStateChangeEvent) => void;
1934
1958
 
1959
+ /**
1960
+ * @hidden
1961
+ * @brief Vendor ICE connection state changed
1962
+ * @param event
1963
+ * @region Network Event
1964
+ */
1965
+ [EngineEventsTypes.onVendorConnectionStateChanged]: (event: VendorConnectionStateChangeEvent) => void;
1966
+
1935
1967
  /**
1936
1968
  * @brief Callback on new media streams captured by camera/microphone in the room.
1937
1969
  * @notes You will receive this callback after a remote user successfully publishes media streams captured by camera/microphone in the room with [publishStream](104478#publishstream). Then you can choose whether to call [subscribeStream](104478#subscribestream) to subscribe to the streams or not.
@@ -2087,6 +2119,10 @@ export interface IEngineEvents {
2087
2119
  */
2088
2120
  isScreen: boolean;
2089
2121
  }) => void;
2122
+
2123
+ /**
2124
+ * @internal
2125
+ */
2090
2126
  [EngineEventsTypes.onTrackMute]: (event: {
2091
2127
 
2092
2128
  /**
@@ -2099,6 +2135,10 @@ export interface IEngineEvents {
2099
2135
  */
2100
2136
  isScreen: boolean;
2101
2137
  }) => void;
2138
+
2139
+ /**
2140
+ * @internal
2141
+ */
2102
2142
  [EngineEventsTypes.onTrackUnmute]: (event: {
2103
2143
 
2104
2144
  /**
@@ -2558,6 +2598,30 @@ export interface IEngineEvents {
2558
2598
  * + If the client losts connection after the call of [setServerParams](104478#setserverparams) this event notifies once the client reconnects.
2559
2599
  */
2560
2600
  [EngineEventsTypes.onServerParamsSetResult]: (error?: ErrorCode) => void;
2601
+
2602
+ /**
2603
+ * @hidden
2604
+ */
2605
+ [EngineEventsTypes.onLocalStreamTrackChangedByExtension]: (e: {
2606
+ streamIndex: StreamIndex;
2607
+ type: "video" | "audio";
2608
+ }) => void;
2609
+
2610
+ /**
2611
+ * @brief Event of failing to forward stream across rooms.
2612
+ * @param e Status information for forwarding media stream across rooms.
2613
+ */
2614
+ [EngineEventsTypes.onForwardStreamError]: (e: ForwardStreamStateInfo) => void;
2615
+
2616
+ /**
2617
+ * @hidden
2618
+ */
2619
+ [EngineEventsTypes.onRejoinWithTcp]: () => void;
2620
+
2621
+ /**
2622
+ * @hidden
2623
+ */
2624
+ [EngineEventsTypes.onIceConnectWithTcp]: () => void;
2561
2625
  }
2562
2626
 
2563
2627
  /**
@@ -2574,12 +2638,7 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2574
2638
  * You need to bring Token to enter the room. When testing, you can use the console to generate temporary tokens. The official launch requires the use of the key SDK to generate and issue tokens at your server level. See [Use Token to complete authentication](70121) for token validity and generation method.
2575
2639
  * Apps with different AppIDs are not interoperable.
2576
2640
  * Make sure that the AppID used to generate the Token is the same as the AppID used to create the engine, otherwise it will cause the join room to fail.
2577
- * @param roomId The ID of the room to be added.
2578
- * The room ID is a non-empty string with a length of less than 128 bytes, and the following character set ranges are supported:
2579
- * 1. 26 capital letters A~ Z.
2580
- * 2. 26 lowercase letters a~ z.
2581
- * 3. 10 numbers 0~ 9.
2582
- * 4. Underscore "_", the at sign "@", and the minus sign "-".
2641
+ * @param roomId The Room ID. The string must conform to the regular expression: `[a-zA-Z0-9_@\-\.]{1,128}`.
2583
2642
  * @param userInfo User information.
2584
2643
  * @param roomConfig Room parameter configuration, set the room mode and whether to automatically publish or subscribe to the flow.
2585
2644
  * @return
@@ -2896,13 +2955,13 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
2896
2955
 
2897
2956
  /**
2898
2957
  * @brief Send SEI message carried by video frames
2899
- * @param streamIndex
2900
- * @param message SEI message within 4kb. Empty message or message exceeding this size will not be sent with respective error prompt.
2901
- * @param repeatCount Number of message sending repetitions. The value range is [0,30].
2958
+ * @param streamIndex Stream index.
2959
+ * @param message SEI message within 4 KB. Empty message or message exceeding this size will not be sent with respective error prompt.
2960
+ * @param repeatCount Number of message sending repetitions. The value range is [0, max{29, %{video frame rate}-1}]. Recommended range: [2,4].
2902
2961
  * Calling this API to add SEI data to consecutive `repeatCount` video frames starting from the current one.
2903
2962
  * @notes + Call this API to add SEI message to the video frame captured by the internal video capture module.
2904
- * + SDK will abandon the SEI message if no video frame in 2s after you call this API.
2905
- * + Users receiving the stream will receive the SEI message via [onSEIMessageReceived](104479#onseimessagereceived) once the SEI message is sent successfully.
2963
+ * + SDK will abandon the SEI message if no video frame in 2s after you call this API.
2964
+ * + Users receiving the stream will receive the SEI message via [onSEIMessageReceived](104479#onseimessagereceived) once the SEI message is sent successfully.
2906
2965
  * @region Message
2907
2966
  */
2908
2967
  sendSEIMessage: (streamIndex: StreamIndex, message: Uint8Array | string, repeatCount: number) => void;
@@ -3096,15 +3155,13 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3096
3155
  /**
3097
3156
  * @brief Log in to the RTM server.
3098
3157
  * Call this method before users within the same `appID` can communicate with each other via messages.
3099
- * @param token Dynamic key. It is used for authentication and verification of users entering the room.
3100
- * You need to bring Token to enter the room. When testing, you can use the console to generate temporary tokens. The official launch requires the use of the key SDK to generate and issue tokens at your server level.
3101
- * Apps with different AppIDs are not interoperable.
3102
- * @param userInfo User information.
3158
+ * @param token Token for authentication.
3159
+ * During testing, you can use generate a temporary Token on [Console](https://console.byteplus.com/auth/login), and fill in any value with `roomId`.
3160
+ * To officially go live, you need to use the implement token generation at your server. The `roomId` field should be empty. See [Authentication with Token](70121).
3161
+ * @param userId User ID.
3103
3162
  * @return
3104
- * @notes
3105
- * + Call [logout](#logout) to log out the IM server.
3163
+ * @notes + Call [logout](#logout) to log out the IM server.
3106
3164
  * + In the same App ID, the user ID of each user must be unique. The user will be logged out when a user with the same userID joins the room because of the error of `RTM_DUPLICATE_LOGIN`.
3107
- * @region Room Management
3108
3165
  */
3109
3166
  login: (token: string | null, userId: string) => Promise<void>;
3110
3167
 
@@ -3429,8 +3486,7 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3429
3486
  * After calling this method, you can choose between the recognition and translation modes based on your needs. In the recognition mode, the speech of the speaker in the room will be recognized and converted into captions. In the translation mode, the transcribed text will be translated.You will receive the [onSubtitleMessageReceived](104479#onsubtitlemessagereceived) callback to informs you of related information about subtitles.
3430
3487
  * After calling this method, you will receive the [onSubtitleStateChanged](104479#onsubtitlestatechanged) to inform you of whether subtitles are on.
3431
3488
  * @param config Subtitle configrations.
3432
- * @return + `0`: Success.
3433
- * + `!0`: Failure.
3489
+ * @return
3434
3490
  * @notes
3435
3491
  * You must call this method after joining the room.
3436
3492
  * You can set your source language by calling `joinRoom` and importing a json formatted string `"source_language": "zh"` through the paramater of extraInfo. Only chinese, English and Japanese are supported.
@@ -3489,6 +3545,51 @@ export interface IRTCEngine extends EnhancedEventEmitter<IEngineEvents> {
3489
3545
  * + If the playing has not yet started when you call this API, the setting will take effect after it starts.
3490
3546
  */
3491
3547
  setPublicStreamVolume: (publicStreamId: string, volume: number) => void;
3548
+
3549
+ /**
3550
+ * @brief Start forwarding media stream across rooms. See [Forward media stream across rooms](https://docs.byteplus.com/en/byteplus-rtc/docs/104398) for details.
3551
+ * After calling [joinRoom]({{api}}#RTCEngine.joinRoom), you can call this API to publish the media stream to multiple rooms. This feature is suitable for scenarios such as co-host PK and online karaoke.
3552
+ * @param forwardStreamInfos Information of the target rooms where the stream will be forwarded.
3553
+ * @return Status information for forwarding media stream across rooms.
3554
+ * @notes + Once the forwarding begins, other users in the target room will receive [onUserJoined]({{callback}}#EngineEvents.onUserJoined) and [onUserPublishStream]({{callback}}#EngineEvents.onUserPublishStream)/[onUserPublishScreen]({{callback}}#EngineEvents.onUserPublishScreen).
3555
+ * + Call [updateForwardStreamToRooms]({{api}}#RTCEngine.updateForwardStreamToRooms) to add or remove the target room(s).
3556
+ * + Call [stopForwardStreamToRooms]({{api}}#RTCEngine.stopForwardStreamToRooms) to stop forwarding media stream to all rooms.
3557
+ * + Call [pauseForwardStreamToAllRooms]({{api}}#RTCEngine.pauseForwardStreamToAllRooms) to pause forwarding media stream to all rooms.
3558
+ */
3559
+ startForwardStreamToRooms: (forwardStreamInfos: ForwardStreamInfo[]) => Promise<ForwardStreamStateInfo[]>;
3560
+
3561
+ /**
3562
+ * @brief Update information of the rooms where the stream will be forwarded after calling [startForwardStreamToRooms]({{api}}#RTCEngine.startForwardStreamToRooms).
3563
+ * @param forwardStreamInfos Information of the target rooms where the stream will be forwarded.
3564
+ * @return Status information for forwarding media stream across rooms.
3565
+ * @notes + Users in the added room will receive [onUserJoined]({{callback}}#EngineEvents.onUserJoined) and [onUserPublishStream]({{callback}}#EngineEvents.onUserPublishStream)/[onUserPublishScreen]({{callback}}#EngineEvents.onUserPublishScreen).
3566
+ * + Users in the removed room will receive [onUserUnpublishStream]({{callback}}#EngineEvents.onUserUnpublishStream)/[onUserUnpublishScreen]({{callback}}#EngineEvents.onUserUnpublishScreen) and [onUserLeave]({{callback}}#EngineEvents.onUserLeave).
3567
+ */
3568
+ updateForwardStreamToRooms: (forwardStreamInfos: ForwardStreamInfo[]) => Promise<ForwardStreamStateInfo[]>;
3569
+
3570
+ /**
3571
+ * @brief Stop forwarding media stream to all rooms.
3572
+ * @return Status information for forwarding media stream across rooms.
3573
+ * @notes + Users in the former target rooms will receive [onUserUnpublishStream]({{callback}}#EngineEvents.onUserUnpublishStream)/[onUserUnpublishScreen]({{callback}}#EngineEvents.onUserUnpublishScreen) and [onUserLeave]({{callback}}#EngineEvents.onUserLeave).
3574
+ * + Call [updateForwardStreamToRooms]({{api}}#RTCEngine.updateForwardStreamToRooms) to stop forwarding media stream to specific rooms.
3575
+ * + Call [pauseForwardStreamToAllRooms]({{api}}#RTCEngine.pauseForwardStreamToAllRooms) and [resumeForwardStreamToAllRooms]({{api}}#RTCEngine.resumeForwardStreamToAllRooms) to pause and resume fowarding media stream to all rooms.
3576
+ */
3577
+ stopForwardStreamToRooms: () => Promise<ForwardStreamStateInfo[]>;
3578
+
3579
+ /**
3580
+ * @brief Pause forwarding media stream to all rooms.
3581
+ * After calling this API, call [resumeForwardStreamToAllRooms]({{api}}#RTCEngine.resumeForwardStreamToAllRooms) to resume.
3582
+ * @return Status information for forwarding media stream across rooms.
3583
+ * @notes Users in the target rooms will receive [onUserUnpublishStream]({{callback}}#EngineEvents.onUserUnpublishStream)/[onUserUnpublishScreen]({{callback}}#EngineEvents.onUserUnpublishScreen) and [onUserLeave]({{callback}}#EngineEvents.onUserLeave).
3584
+ */
3585
+ pauseForwardStreamToAllRooms: () => Promise<ForwardStreamStateInfo[]>;
3586
+
3587
+ /**
3588
+ * @brief Resume forwarding media stream to all rooms.
3589
+ * @return Status information for forwarding media stream across rooms.
3590
+ * @notes Users in the target room will receive [onUserJoined]({{callback}}#EngineEvents.onUserJoined) and [onUserPublishStream]({{callback}}#EngineEvents.onUserPublishStream)/[onUserPublishScreen]({{callback}}#EngineEvents.onUserPublishScreen).
3591
+ */
3592
+ resumeForwardStreamToAllRooms: () => Promise<ForwardStreamStateInfo[]>;
3492
3593
  }
3493
3594
 
3494
3595
  /**
@@ -3715,7 +3816,7 @@ export interface VideoPlayerOption {
3715
3816
  renderDom?: string | HTMLElement;
3716
3817
 
3717
3818
  /**
3718
- * @brief Rendering modes: optional `RENDER_MODE_HIDDEN` and `RENDER_MODE_FIT` .
3819
+ * @brief Rendering mode.
3719
3820
  */
3720
3821
  renderMode?: VideoRenderMode;
3721
3822
 
@@ -3735,16 +3836,22 @@ export interface VideoPlayerOption {
3735
3836
  export declare enum VideoRenderMode {
3736
3837
 
3737
3838
  /**
3738
- * @brief Windows fill priority.
3739
- * Scale the video frame at the original equal ratio until the window is filled with video. If the video frame aspect ratio is different from that of the window, the over-brims of the video frame will not be displayed.
3839
+ * @brief (Default value for main stream) Fills the entire window with the video frame.
3840
+ * The video frame is scaled until the window is filled. If the video frame's aspect ratio is different from that of the window, the extra part of the video frame will be cropped.
3740
3841
  */
3741
3842
  RENDER_MODE_HIDDEN = 0,
3742
3843
 
3743
3844
  /**
3744
- * @brief All video frame contents are fit to display in the window.
3745
- * Scale the video frame at the original equal ratio until the whole video frame has been displayed in the window. If the video frame aspect ratio is different from that of the window, the area on the window that is not filled by the video frame will be blacked out.
3845
+ * @brief (Default value for screen-sharing stream) Makes the entire video frame fit within the window while maintaining the video frame's original aspect ratio.
3846
+ * There may be empty space at the margins of the window.
3847
+ */
3848
+ RENDER_MODE_FIT = 1,
3849
+
3850
+ /**
3851
+ * @brief Stretch the video frame until the window is filled.
3852
+ * The video frame's aspect ratio can be changed as it is automatically stretched to fill the window.
3746
3853
  */
3747
- RENDER_MODE_FIT = 1
3854
+ RENDER_MODE_FILL = 2
3748
3855
  }
3749
3856
 
3750
3857
  /**
@@ -3975,19 +4082,19 @@ export interface ScreenConfig {
3975
4082
  export interface VideoEncoderConfig {
3976
4083
 
3977
4084
  /**
3978
- * @brief Video width in pixels. The default value is 640 px。
4085
+ * @brief Video width in pixels. The default value is 640 px.
3979
4086
  * The input can be a number or a [ConstrainULong](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints#constrainulong).
3980
4087
  */
3981
4088
  width: ConstrainULong;
3982
4089
 
3983
4090
  /**
3984
- * @brief Video height in pixels. The default value is 480 px。
4091
+ * @brief Video height in pixels. The default value is 480 px.
3985
4092
  * The input can be a number or a [ConstrainULong](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints#constrainulong).
3986
4093
  */
3987
4094
  height: ConstrainULong;
3988
4095
 
3989
4096
  /**
3990
- * @brief Video framerate in FPS. The default value is 15 FPS。
4097
+ * @brief Video framerate in FPS. The default value is 15 FPS.
3991
4098
  * The input can be a number or a [ConstrainDouble](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints#constraindouble).
3992
4099
  */
3993
4100
  frameRate: ConstrainDouble;
@@ -4004,19 +4111,19 @@ export interface VideoEncoderConfig {
4004
4111
  export interface ScreenEncoderConfig {
4005
4112
 
4006
4113
  /**
4007
- * @brief Video width in pixels. The default value is 1920 px。
4114
+ * @brief Video width in pixels. The default value is 1920 px.
4008
4115
  * The input can be a number or a [ConstrainULong](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints#constrainulong).
4009
4116
  */
4010
4117
  width: ConstrainULong;
4011
4118
 
4012
4119
  /**
4013
- * @brief Video height in pixels. The default value is 1080 px。
4120
+ * @brief Video height in pixels. The default value is 1080 px.
4014
4121
  * The input can be a number or a [ConstrainULong](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints#constrainulong).
4015
4122
  */
4016
4123
  height: ConstrainULong;
4017
4124
 
4018
4125
  /**
4019
- * @brief Video framerate in FPS. The default value is 15 FPS。
4126
+ * @brief Video framerate in FPS. The default value is 15 FPS.
4020
4127
  * The input can be a number or a [ConstrainDouble](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints#constraindouble).
4021
4128
  */
4022
4129
  frameRate: ConstrainDouble;
@@ -4063,10 +4170,10 @@ export declare enum MirrorType {
4063
4170
  export interface AudioPropertiesConfig {
4064
4171
 
4065
4172
  /**
4066
- * @brief Prompt interval in ms, the default value is 100.
4067
- * + `<= 0`: Turn off prompt
4068
- * + `(0,100]`: Invalid interval value, and will be automatically reset to 100ms.
4069
- * + `> 100`: The actual value of interval
4173
+ * @brief Prompt interval in ms, the default value is 100. </br>
4174
+ * &ensp; + `≤0`: Turn off prompt.
4175
+ * &ensp; + `(0,100)`: Invalid interval value, and will be automatically reset to 100ms.
4176
+ * &ensp; + `≥100`: Enable prompt and set the prompt interval to the set value.
4070
4177
  */
4071
4178
  interval?: number;
4072
4179
 
@@ -4492,7 +4599,7 @@ export declare enum SubscribeFallbackOption {
4492
4599
  DISABLE = 0,
4493
4600
 
4494
4601
  /**
4495
- * @brief When the downstream network quality is bad, the video stream fallbacks to stream of lower resolution and then to voice only. See [Media Stream Fallback](https://www.volcengine.com/docs/6348/70137) for fallback rules.
4602
+ * @brief When the downstream network quality is bad, the video stream fallbacks to stream of lower resolution and then to voice only. See [Media Stream Fallback](https://docs.byteplus.com/en/byteplus-rtc/docs/70137) for fallback rules.
4496
4603
  * This setting takes effect only when the publisher enables simulcast mode through [EnableSimulcastMode](104478#enablesimulcastmode).
4497
4604
  */
4498
4605
  VIDEO_STREAM_LOW = 1,
@@ -4909,6 +5016,90 @@ export interface CloudProxyInfo {
4909
5016
  configProxy: string;
4910
5017
  }
4911
5018
 
5019
+ /**
5020
+ * @brief Information of the target rooms where the stream will be forwarded.
5021
+ */
5022
+ export interface ForwardStreamInfo {
5023
+
5024
+ /**
5025
+ * @brief The target room ID for forwarding media streams.
5026
+ */
5027
+ roomId: string;
5028
+
5029
+ /**
5030
+ * @brief Tokens generated using the target room's roomId and userId.
5031
+ * You can use the temporary token generated on the [console](https://console.byteplus.com/rtc/workplaceRTC) for testing purposes only. The official launch requires token generated by your server.
5032
+ */
5033
+ token: string;
5034
+ }
5035
+
5036
+ /**
5037
+ * @brief Status information for forwarding media stream across rooms.
5038
+ */
5039
+ export interface ForwardStreamStateInfo {
5040
+
5041
+ /**
5042
+ * @brief The target room ID for forwarding media streams.
5043
+ */
5044
+ roomId: string;
5045
+
5046
+ /**
5047
+ * @brief Status information for forwarding media stream across rooms.
5048
+ */
5049
+ state: ForwardStreamState;
5050
+
5051
+ /**
5052
+ * @brief Forward stream error code.
5053
+ */
5054
+ error: ForwardStreamError;
5055
+ }
5056
+
5057
+ /**
5058
+ * @brief Status information for forwarding media stream across rooms.
5059
+ */
5060
+ export declare enum ForwardStreamState {
5061
+
5062
+ /**
5063
+ * @brief Success.
5064
+ */
5065
+ FORWARD_STREAM_STATE_SUCCESS = 0,
5066
+
5067
+ /**
5068
+ * @brief Failure.
5069
+ */
5070
+ FORWARD_STREAM_STATE_FAILURE = 1
5071
+ }
5072
+
5073
+ /**
5074
+ * @brief Forward stream error code.
5075
+ */
5076
+ export declare enum ForwardStreamError {
5077
+
5078
+ /**
5079
+ * @brief Success.
5080
+ */
5081
+ FORWARD_STREAM_ERROR_OK = 0,
5082
+
5083
+ /**
5084
+ * @brief Target room's token is invalid.
5085
+ */
5086
+ FORWARD_STREAM_ERROR_INVALID_TOKEN = 1202,
5087
+
5088
+ /**
5089
+ * @brief Server side error.
5090
+ */
5091
+ FORWARD_STREAM_ERROR_RESPONSE = 1203,
5092
+
5093
+ /**
5094
+ * @brief The source room is set as the target room.
5095
+ */
5096
+ FORWARD_STREAM_ERROR_REMOTE_KICKED = 1204,
5097
+ /**
5098
+ * @hidden
5099
+ */
5100
+ FORWARD_STREAM_ERROR_NOT_SUPPORT = 1205
5101
+ }
5102
+
4912
5103
  /**
4913
5104
  * @brief Point-to-point text message
4914
5105
  */
@@ -4993,7 +5184,11 @@ export interface CloudProxyConnectedEvent {
4993
5184
  declare const Config: {
4994
5185
  [key: string]: any;
4995
5186
  };
4996
- declare function setParameter(key: keyof typeof Config, value: any): void;
5187
+ declare function setParameter(key: keyof typeof Config, value: any): {
5188
+ useTcpAfterJoinTimeout: boolean;
5189
+ joinWithTcpOnly: boolean;
5190
+ joinWithTcpOnlyDelay: number;
5191
+ } | undefined;
4997
5192
  declare function getParameter(key: keyof typeof Config): any;
4998
5193
 
4999
5194
  /**
@@ -5154,6 +5349,7 @@ declare class VERTC implements IVERTC {
5154
5349
  events: typeof EngineEventsTypes;
5155
5350
  ErrorCode: typeof ErrorCode;
5156
5351
  platform: string;
5352
+ commitInfo: string;
5157
5353
  downloadLog: (key?: string | undefined) => void;
5158
5354
  setLogConfig: ({ logLevel, LogfileSize }: {
5159
5355
  logLevel?: "none" | "error" | "info" | "warning" | "trace" | undefined;