@agora-js/media 4.20.2 → 4.21.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.
@@ -39,6 +39,8 @@ export declare interface AgoraRTCCompatibility {
39
39
  supportPCSetConfiguration: boolean;
40
40
  supportWebRTCEncodedTransform: boolean;
41
41
  supportWebRTCInsertableStream: boolean;
42
+ supportRequestVideoFrameCallback: boolean;
43
+ supportWebCrypto: boolean;
42
44
  }
43
45
 
44
46
  declare class AgoraRTCPlayer extends VideoPlayer {
@@ -217,12 +219,12 @@ export declare interface AudioEncoderConfiguration {
217
219
  *
218
220
  * | Audio Profile | Configurations |
219
221
  * | -------- | --------------- |
220
- * |`"speech_low_quality"`|Sample rate 16 kHz, mono, encoding rate 24 Kbps|
221
- * |`"speech_standard"`|Sample rate 32 kHz, mono, encoding rate 24 Kbps|
222
- * |`"music_standard"`|Sample rate 48 kHz, mono, encoding rate 40 Kbps|
223
- * |`"standard_stereo"`|Sample rate 48 kHz, stereo, encoding rate 64 Kbps|
224
- * |`"high_quality"`|Sample rate 48 kHz, mono, encoding rate 128 Kbps|
225
- * |`"high_quality_stereo"`|Sample rate 48 kHz, stereo, encoding rate 192 Kbps| Kbps.
222
+ * |`"speech_low_quality"`|Sample rate 16 kHz, mono, encoding bitrate 24 Kbps|
223
+ * |`"speech_standard"`|Sample rate 32 kHz, mono, encoding bitrate 24 Kbps|
224
+ * |`"music_standard"`|Sample rate 48 kHz, mono, encoding bitrate 32 Kbps|
225
+ * |`"standard_stereo"`|Sample rate 48 kHz, stereo, encoding bitrate 64 Kbps|
226
+ * |`"high_quality"`|Sample rate 48 kHz, mono, encoding bitrate 128 Kbps|
227
+ * |`"high_quality_stereo"`|Sample rate 48 kHz, stereo, encoding bitrate 192 Kbps| Kbps.
226
228
  * @public
227
229
  */
228
230
  export declare type AudioEncoderConfigurationPreset = keyof typeof AUDIO_ENCODER_CONFIG_SETTINGS;
@@ -487,7 +489,7 @@ export declare class CameraVideoTrack extends LocalVideoTrack implements ICamera
487
489
  _enabled: boolean;
488
490
  _deviceName: string;
489
491
  get __className__(): string;
490
- constructor(track: MediaStreamTrack, config: CameraVideoTrackInitConfig, constraints: MediaTrackConstraints, scalabilityConfig?: SVCConfiguration, optimizationMode?: "motion" | "detail" | "balanced", trackId?: string);
492
+ constructor(track: MediaStreamTrack, config: CameraVideoTrackInitConfig, constraints: MediaTrackConstraints, scalabilityConfig?: SVCConfiguration, optimizationMode?: OptimizationMode | "balanced", trackId?: string);
491
493
  setDevice(deviceId: string | RequiredOnlyOneOf<{
492
494
  facingMode: VideoFacingModeEnum;
493
495
  deviceId: string;
@@ -547,7 +549,7 @@ export declare interface CameraVideoTrackInitConfig {
547
549
  *
548
550
  * > Note: This method is only supported on Chrome.
549
551
  */
550
- optimizationMode?: "motion" | "detail";
552
+ optimizationMode?: OptimizationMode;
551
553
  /**
552
554
  * @ignore
553
555
  *
@@ -794,6 +796,8 @@ export declare interface DenoiserStats {
794
796
  vl: number;
795
797
  }
796
798
 
799
+ export declare function detectSupportAudioElementSetSinkId(): boolean;
800
+
797
801
  /**
798
802
  * Information of the media input device.
799
803
  *
@@ -939,6 +943,13 @@ declare function event_source_state_change(currentState: AudioSourceState): void
939
943
  */
940
944
  declare function event_track_ended(): void;
941
945
 
946
+ /**
947
+ * Triggers when a media track is updated.
948
+ * @param track The media stream track. See [MediaStreamTrack](https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack).
949
+ * @event
950
+ */
951
+ export declare function event_track_updated(track: MediaStreamTrack): void;
952
+
942
953
  /**
943
954
  * Occurs when the `RTCRtpTransceiver` instance of the current track is updated.
944
955
  *
@@ -1064,6 +1075,8 @@ export declare function getAudioEncoderConfiguration(profile: AudioEncoderConfig
1064
1075
 
1065
1076
  export declare function getBitrateConstrainRange(width: number, height: number, frameRate: number, bitrateMin?: number, bitrateMax?: number): DoubleRange;
1066
1077
 
1078
+ export declare function getBitrateFromResAndFps(width: number, height: number, fps: number): Required<DoubleRange>;
1079
+
1067
1080
  export declare function getCompatibility(): AgoraRTCCompatibility;
1068
1081
 
1069
1082
  export declare function getConstraintsFromCameraConfig(config: CameraVideoTrackInitConfig): MediaTrackConstraints;
@@ -1080,6 +1093,14 @@ export declare function getElectronScreenStreamByUserSelect(config: ScreenConstr
1080
1093
 
1081
1094
  export declare function getLocalStream(config: GetUserMediaConfig, id: string): Promise<MediaStream>;
1082
1095
 
1096
+ export declare const getOriginSenderConfig: (track: LocalVideoTrack) => {
1097
+ frameRate: number;
1098
+ bitrateMax: number;
1099
+ bitrateMin: number;
1100
+ scaleResolutionDownBy: number;
1101
+ scale: number;
1102
+ };
1103
+
1083
1104
  export declare function getScalabilityConfiguration(profile: SVCConfiguration | SVCConfigurationPreset): SVCConfiguration;
1084
1105
 
1085
1106
  export declare function getScreenEncoderConfiguration(profile: VideoEncoderConfiguration | ScreenEncoderConfigurationPreset | string): VideoEncoderConfiguration;
@@ -1390,6 +1411,11 @@ export declare interface ILocalDataChannel extends IDataChannel {
1390
1411
  * `LocalTrack` is the basic interface for local tracks, providing public methods for [LocalAudioTrack]{@link ILocalAudioTrack} and [LocalVideoTrack]{@link ILocalVideoTrack}.
1391
1412
  */
1392
1413
  export declare interface ILocalTrack extends ITrack {
1414
+ /**
1415
+ * @param event The event name.
1416
+ * @param listener See [track-updated]{@link event_track_updated}.
1417
+ */
1418
+ on(event: "track-updated", listener: typeof event_track_updated): void;
1393
1419
  /**
1394
1420
  * @param event The event name.
1395
1421
  * @param listener See [track-ended]{@link event_track_ended}.
@@ -1469,6 +1495,11 @@ export declare interface ILocalTrack extends ITrack {
1469
1495
  * Inherited from `LocalVideoTrack`, [CameraVideoTrack]{@link ICameraVideoTrack} is an interface for the video captured by a local camera and adds several camera-related functions.
1470
1496
  */
1471
1497
  export declare interface ILocalVideoTrack extends ILocalTrack {
1498
+ /**
1499
+ * @param event The event name.
1500
+ * @param listener See [track-updated]{@link event_track_updated}.
1501
+ */
1502
+ on(event: "track-updated", listener: typeof event_track_updated): void;
1472
1503
  /** @internal */
1473
1504
  on(event: "beauty-effect-overload", listener: typeof event_beauty_effect_overload): void;
1474
1505
  /**
@@ -1738,7 +1769,7 @@ export declare interface IRemoteAudioTrack extends IRemoteTrack {
1738
1769
  *
1739
1770
  * Sets the audio playback device, for example, the speaker.
1740
1771
  *
1741
- * > This method supports Chrome and Edge on desktop devices only. Other browsers throw a `NOT_SUPPORTED` error when calling this method.
1772
+ * > > This method is only supported on desktop Chrome and Edge browsers. If you call it on other browsers, you need to set `RESTRICTION_SET_PLAYBACK_DEVICE` to `false` first, and calling it directly will throw a `NOT_SUPPORTED` error.
1742
1773
  * @param deviceId Device ID, which can be retrieved by calling [[getPlaybackDevices]].
1743
1774
  */
1744
1775
  setPlaybackDevice(deviceId: string): Promise<void>;
@@ -1825,6 +1856,11 @@ export declare interface IRemoteDataChannel extends IDataChannel {
1825
1856
  * `RemoteTrack` is the basic interface for remote tracks, providing public methods for [RemoteAudioTrack]{@link IRemoteAudioTrack} and [RemoteVideoTrack]{@link IRemoteVideoTrack}.
1826
1857
  */
1827
1858
  export declare interface IRemoteTrack extends ITrack {
1859
+ /**
1860
+ * @param event The event name.
1861
+ * @param listener See [track-updated]{@link event_track_updated}.
1862
+ */
1863
+ on(event: "track-updated", listener: typeof event_track_updated): void;
1828
1864
  /**
1829
1865
  * @param event The event name.
1830
1866
  * @param listener See [first-frame-decoded]{@link event_first_frame_decoded}.
@@ -1857,6 +1893,11 @@ export declare interface IRemoteTrack extends ITrack {
1857
1893
  * You can get create a remote video track by the [AgoraRTCRemoteUser.videoTrack]{@link IAgoraRTCRemoteUser.videoTrack} object after calling [subscribe]{@link IAgoraRTCClient.subscribe}.
1858
1894
  */
1859
1895
  export declare interface IRemoteVideoTrack extends IRemoteTrack {
1896
+ /**
1897
+ * @param event The event name.
1898
+ * @param listener See [track-updated]{@link event_track_updated}.
1899
+ */
1900
+ on(event: "track-updated", listener: typeof event_track_updated): void;
1860
1901
  /**
1861
1902
  * @param event The event name.
1862
1903
  * @param listener See [video-state-changed]{@link event_video_state_changed}.
@@ -1919,7 +1960,7 @@ export declare interface IRemoteVideoTrack extends IRemoteTrack {
1919
1960
  * After you call `remoteVideoTrack.play`, the SDK creates an [`<video>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video) tag for playing video tracks. When `remoteVideoTrack.isPlaying` is `true` but you cannot see any video, call this method to check whether the `<video>` tag is visible or not and learn the reason when the `<video>` tag is invisible.
1920
1961
  *
1921
1962
  * @returns The [[CheckVideoVisibleResult]] object. If this method returns `undefined`, it may be due to the following reasons:
1922
- * - `localRemoteTrack.isPlaying` is `false`.
1963
+ * - `remoteVideoTrack.isPlaying` is `false`.
1923
1964
  * - The `<video>` tag does not exist.
1924
1965
  * - The `<video>` tag is not created by calling the `play` method.
1925
1966
  */
@@ -2134,7 +2175,7 @@ export declare abstract class LocalTrack extends Track implements ILocalTrack {
2134
2175
  protected processor?: IBaseProcessor;
2135
2176
  protected abstract _processorContext: IProcessorContext | undefined;
2136
2177
  protected get processorContext(): IProcessorContext | undefined;
2137
- abstract processorDestination: IBaseProcessor;
2178
+ abstract get processorDestination(): IBaseProcessor;
2138
2179
  constructor(track: MediaStreamTrack, trackId?: string);
2139
2180
  abstract getStats(): LocalVideoTrackStats | LocalAudioTrackStats;
2140
2181
  abstract setMuted(enabled: boolean): Promise<void>;
@@ -2170,21 +2211,24 @@ export declare class LocalVideoTrack extends LocalTrack implements ILocalVideoTr
2170
2211
  private _clearPreviousVideoVisibleStatus;
2171
2212
  _encoderConfig?: Partial<VideoEncoderConfiguration>;
2172
2213
  _scalabilityMode?: SVCConfiguration;
2173
- _optimizationMode?: "motion" | "detail" | "balanced";
2174
- _videoHeight?: number;
2175
- _videoWidth?: number;
2214
+ _optimizationMode?: OptimizationMode | "balanced";
2215
+ private _videoHeight?;
2216
+ private _videoWidth?;
2217
+ get videoHeight(): number | undefined;
2218
+ get videoWidth(): number | undefined;
2176
2219
  _forceBitrateLimit?: {
2177
2220
  max_bitrate: number;
2178
2221
  min_bitrate: number;
2179
2222
  };
2180
2223
  _enabled: boolean;
2181
2224
  get isPlaying(): boolean;
2182
- processorDestination: VideoProcessorDestination;
2225
+ protected _processorDestination: VideoProcessorDestination;
2226
+ get processorDestination(): VideoProcessorDestination;
2183
2227
  protected _processorContext: VideoProcessorContext;
2184
2228
  protected get processorContext(): VideoProcessorContext;
2185
2229
  protected set processorContext(ctx: VideoProcessorContext);
2186
2230
  get __className__(): string;
2187
- constructor(track: MediaStreamTrack, encoderConfig?: Partial<VideoEncoderConfiguration>, scalabilityConfig?: SVCConfiguration, optimizationMode?: "motion" | "detail" | "balanced", trackId?: string, hints?: TrackHint[]);
2231
+ constructor(track: MediaStreamTrack, encoderConfig?: Partial<VideoEncoderConfiguration>, scalabilityConfig?: SVCConfiguration, optimizationMode?: OptimizationMode | "balanced", trackId?: string, hints?: TrackHint[]);
2188
2232
  play(element: HTMLElement | HTMLVideoElement | string, config?: VideoPlayerConfig): void;
2189
2233
  stop(): void;
2190
2234
  setEnabled(enabled: boolean, skipChangeState?: boolean): Promise<void>;
@@ -2198,7 +2242,7 @@ export declare class LocalVideoTrack extends LocalTrack implements ILocalVideoTr
2198
2242
  max_bitrate: number;
2199
2243
  min_bitrate: number;
2200
2244
  }): Promise<void>;
2201
- setOptimizationMode(mode: "motion" | "detail" | "balanced"): Promise<void>;
2245
+ setOptimizationMode(mode: OptimizationMode | "balanced"): Promise<void>;
2202
2246
  setScalabiltyMode(mode: SVCConfiguration): void;
2203
2247
  updateMediaStreamTrackResolution(): void;
2204
2248
  protected _updatePlayerSource(): void;
@@ -2450,6 +2494,8 @@ export declare class MixingAudioTrack extends LocalAudioTrack {
2450
2494
  _updateRtpTransceiver(transceiver: RTCRtpTransceiver): void;
2451
2495
  }
2452
2496
 
2497
+ export declare type OptimizationMode = "motion" | "detail";
2498
+
2453
2499
  export declare interface PlayerConfig extends VideoPlayerConfig {
2454
2500
  trackId: string;
2455
2501
  element: HTMLElement;
@@ -2941,6 +2987,12 @@ export declare interface ScreenVideoTrackInitConfig {
2941
2987
  systemAudio?: "include" | "exclude";
2942
2988
  }
2943
2989
 
2990
+ export declare type SenderConfig = {
2991
+ bitrateMax: number;
2992
+ bitrateMin: number;
2993
+ scaleResolutionDownBy: number;
2994
+ };
2995
+
2944
2996
  export declare function silenceScriptProcessHandler(e: AudioProcessingEvent): AudioBuffer;
2945
2997
 
2946
2998
  export declare interface StatsRegistry {
@@ -3036,7 +3088,9 @@ export declare abstract class Track extends EventEmitter implements ITrack {
3036
3088
  _hints: TrackHint[];
3037
3089
  _isClosed: boolean;
3038
3090
  _originMediaStreamTrack: MediaStreamTrack;
3039
- _mediaStreamTrack: MediaStreamTrack;
3091
+ mediaStreamTrack: MediaStreamTrack;
3092
+ set _mediaStreamTrack(track: MediaStreamTrack);
3093
+ get _mediaStreamTrack(): MediaStreamTrack;
3040
3094
  _external: ExternalMethods;
3041
3095
  constructor(track: MediaStreamTrack, trackId?: string);
3042
3096
  toString(): string;
@@ -3053,7 +3107,8 @@ export declare abstract class Track extends EventEmitter implements ITrack {
3053
3107
  export declare enum TrackEvents {
3054
3108
  TRANSCEIVER_UPDATED = "transceiver-updated",
3055
3109
  SEI_TO_SEND = "sei-to-send",
3056
- SEI_RECEIVED = "sei-received"
3110
+ SEI_RECEIVED = "sei-received",
3111
+ TRACK_UPDATED = "track-updated"
3057
3112
  }
3058
3113
 
3059
3114
  export declare enum TrackHint {
@@ -3076,6 +3131,7 @@ export declare enum TrackInternalEvent {
3076
3131
  GET_LOW_VIDEO_TRACK = "@get_low_video_track",
3077
3132
  NEED_RESET_REMOTE_SDP = "@need_reset_remote_sdp",
3078
3133
  NEED_UPDATE_VIDEO_ENCODER = "@need_update_video_encoder",
3134
+ NEED_UPDATE_VIDEO_SEND_PARAMETERS = "@need_update_video_send_parameters",
3079
3135
  NEED_MUTE_TRACK = "@need_mute_track",
3080
3136
  NEED_UNMUTE_TRACK = "@need_unmute_track"
3081
3137
  }
@@ -3144,50 +3200,50 @@ export declare interface VideoEncoderConfiguration {
3144
3200
  *
3145
3201
  * The following table lists all the preset video profiles. The SDK uses `"480p_1"` by default.
3146
3202
  *
3147
- * | Video Profile | Resolution (Width×Height) | Frame Rate (fps) | Bitrate (Kbps) | Chrome | Firefox | Safari |
3148
- * | -------- | --------------- | ----------- | ------------ | ------ | ------- | ------ |
3149
- * | 120p | 160 × 120 | 15 | 65 | ✓ | | |
3150
- * | 120p_1 | 160 × 120 | 15 | 65 | ✓ | | |
3151
- * | 120p_3 | 120 × 120 | 15 | 50 | ✓ | | |
3152
- * | 180p | 320 × 180 | 15 | 140 | ✓ | | |
3153
- * | 180p_1 | 320 × 180 | 15 | 140 | ✓ | | |
3154
- * | 180p_3 | 180 × 180 | 15 | 100 | ✓ | | |
3155
- * | 180p_4 | 240 × 180 | 15 | 120 | ✓ | | |
3156
- * | 240p | 320 × 240 | 15 | 200 | ✓ | | |
3157
- * | 240p_1 | 320 × 240 | 15 | 200 | ✓ | | |
3158
- * | 240p_3 | 240 × 240 | 15 | 140 | ✓ | | |
3159
- * | 240p_4 | 424 × 240 | 15 | 220 | ✓ | | |
3160
- * | 360p | 640 × 360 | 15 | 400 | ✓ | | |
3161
- * | 360p_1 | 640 × 360 | 15 | 400 | ✓ | | |
3162
- * | 360p_3 | 360 × 360 | 15 | 260 | ✓ | | |
3163
- * | 360p_4 | 640 × 360 | 30 | 600 | ✓ | | |
3164
- * | 360p_6 | 360 × 360 | 30 | 400 | ✓ | | |
3165
- * | 360p_7 | 480 × 360 | 15 | 320 | ✓ | | |
3166
- * | 360p_8 | 480 × 360 | 30 | 490 | ✓ | | |
3167
- * | 360p_9 | 640 × 360 | 15 | 800 | ✓ | | |
3168
- * | 360p_10 | 640 × 360 | 24 | 800 | ✓ | | |
3169
- * | 360p_11 | 640 × 360 | 24 | 1000 | ✓ | | |
3170
- * | 480p | 640 × 480 | 15 | 500 | ✓ | ✓ | ✓ |
3171
- * | 480p_1 | 640 × 480 | 15 | 500 | ✓ | ✓ | ✓ |
3172
- * | 480p_2 | 640 × 480 | 30 | 1000 | ✓ | ✓ | ✓ |
3173
- * | 480p_3 | 480 × 480 | 15 | 400 | ✓ | ✓ | ✓ |
3174
- * | 480p_4 | 640 × 480 | 30 | 750 | ✓ | ✓ | ✓ |
3175
- * | 480p_6 | 480 × 480 | 30 | 600 | ✓ | ✓ | ✓ |
3176
- * | 480p_8 | 848 × 480 | 15 | 610 | ✓ | ✓ | ✓ |
3177
- * | 480p_9 | 848 × 480 | 30 | 930 | ✓ | ✓ | ✓ |
3178
- * | 480p_10 | 640 × 480 | 10 | 400 | ✓ | ✓ | ✓ |
3179
- * | 720p | 1280 × 720 | 15 | 1130 | ✓ | ✓ | ✓ |
3180
- * | 720p_1 | 1280 × 720 | 15 | 1130 | ✓ | ✓ | ✓ |
3181
- * | 720p_2 | 1280 × 720 | 30 | 2000 | ✓ | ✓ | ✓ |
3182
- * | 720p_3 | 1280 × 720 | 30 | 1710 | ✓ | ✓ | ✓ |
3183
- * | 720p_auto <sup>①</sup> | 1280 × 720 | 30 | 3000 | ✓ | ✓ | ✓ |
3184
- * | 720p_5 | 960 × 720 | 15 | 910 | ✓ | ✓ | ✓ |
3185
- * | 720p_6 | 960 × 720 | 30 | 1380 | ✓ | ✓ | ✓ |
3186
- * | 1080p | 1920 × 1080 | 15 | 2080 | ✓ | | ✓ |
3187
- * | 1080p_1 | 1920 × 1080 | 15 | 2080 | ✓ | | ✓ |
3188
- * | 1080p_2 | 1920 × 1080 | 30 | 3000 | ✓ | | ✓ |
3189
- * | 1080p_3 | 1920 × 1080 | 30 | 3150 | ✓ | | ✓ |
3190
- * | 1080p_5 | 1920 × 1080 | 60 | 4780 | ✓ | | ✓ |
3203
+ * | Video Profile | Resolution (Width×Height) | Frame Rate (fps) | Chrome | Firefox | Safari |
3204
+ * | -------- | --------------- | ----------- | ------ | ------- | ------ |
3205
+ * | 120p | 160 × 120 | 15 | ✓ | | |
3206
+ * | 120p_1 | 160 × 120 | 15 | ✓ | | |
3207
+ * | 120p_3 | 120 × 120 | 15 | ✓ | | |
3208
+ * | 180p | 320 × 180 | 15 | ✓ | | |
3209
+ * | 180p_1 | 320 × 180 | 15 | ✓ | | |
3210
+ * | 180p_3 | 180 × 180 | 15 | ✓ | | |
3211
+ * | 180p_4 | 240 × 180 | 15 | ✓ | | |
3212
+ * | 240p | 320 × 240 | 15 | ✓ | | |
3213
+ * | 240p_1 | 320 × 240 | 15 | ✓ | | |
3214
+ * | 240p_3 | 240 × 240 | 15 | ✓ | | |
3215
+ * | 240p_4 | 424 × 240 | 15 | ✓ | | |
3216
+ * | 360p | 640 × 360 | 15 | ✓ | | |
3217
+ * | 360p_1 | 640 × 360 | 15 | ✓ | | |
3218
+ * | 360p_3 | 360 × 360 | 15 | ✓ | | |
3219
+ * | 360p_4 | 640 × 360 | 30 | ✓ | | |
3220
+ * | 360p_6 | 360 × 360 | 30 | ✓ | | |
3221
+ * | 360p_7 | 480 × 360 | 15 | ✓ | | |
3222
+ * | 360p_8 | 480 × 360 | 30 | ✓ | | |
3223
+ * | 360p_9 | 640 × 360 | 15 | ✓ | | |
3224
+ * | 360p_10 | 640 × 360 | 24 | ✓ | | |
3225
+ * | 360p_11 | 640 × 360 | 24 | ✓ | | |
3226
+ * | 480p | 640 × 480 | 15 | ✓ | ✓ | ✓ |
3227
+ * | 480p_1 | 640 × 480 | 15 | ✓ | ✓ | ✓ |
3228
+ * | 480p_2 | 640 × 480 | 30 | ✓ | ✓ | ✓ |
3229
+ * | 480p_3 | 480 × 480 | 15 | ✓ | ✓ | ✓ |
3230
+ * | 480p_4 | 640 × 480 | 30 | ✓ | ✓ | ✓ |
3231
+ * | 480p_6 | 480 × 480 | 30 | ✓ | ✓ | ✓ |
3232
+ * | 480p_8 | 848 × 480 | 15 | ✓ | ✓ | ✓ |
3233
+ * | 480p_9 | 848 × 480 | 30 | ✓ | ✓ | ✓ |
3234
+ * | 480p_10 | 640 × 480 | 10 | ✓ | ✓ | ✓ |
3235
+ * | 720p | 1280 × 720 | 15 | ✓ | ✓ | ✓ |
3236
+ * | 720p_1 | 1280 × 720 | 15 | ✓ | ✓ | ✓ |
3237
+ * | 720p_2 | 1280 × 720 | 30 | ✓ | ✓ | ✓ |
3238
+ * | 720p_3 | 1280 × 720 | 30 | ✓ | ✓ | ✓ |
3239
+ * | 720p_auto <sup>①</sup> | 1280 × 720 | 30 | ✓ | ✓ | ✓ |
3240
+ * | 720p_5 | 960 × 720 | 15 | ✓ | ✓ | ✓ |
3241
+ * | 720p_6 | 960 × 720 | 30 | ✓ | ✓ | ✓ |
3242
+ * | 1080p | 1920 × 1080 | 15 | ✓ | | ✓ |
3243
+ * | 1080p_1 | 1920 × 1080 | 15 | ✓ | | ✓ |
3244
+ * | 1080p_2 | 1920 × 1080 | 30 | ✓ | | ✓ |
3245
+ * | 1080p_3 | 1920 × 1080 | 30 | ✓ | | ✓ |
3246
+ * | 1080p_5 | 1920 × 1080 | 60 | ✓ | | ✓ |
3191
3247
  *
3192
3248
  * > <sup>①</sup> `"720p_auto"` is only recommended to be set on Safari to ensure dynamic adjustment of the encoding resolution. For details, see the release notes.
3193
3249
  */
@@ -3209,6 +3265,8 @@ declare class VideoPlayer {
3209
3265
  protected videoTrack?: MediaStreamTrack;
3210
3266
  protected videoElement: HTMLVideoElement;
3211
3267
  protected cacheVideoElement?: HTMLVideoElement;
3268
+ private renderStats?;
3269
+ get rendFrameRate(): number;
3212
3270
  get videoElementStatus(): MediaElementStatus;
3213
3271
  set videoElementStatus(status: MediaElementStatus);
3214
3272
  get videoState(): VideoState;