@byteplus/react-native-live-pull 1.1.3-rc.3 → 1.2.0-rc.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.
Files changed (31) hide show
  1. package/android/build.gradle +2 -2
  2. package/android/src/main/java/com/volcengine/velive/rn/pull/ClassHelper.java +15 -0
  3. package/android/src/main/java/com/volcengine/velive/rn/pull/NativeVariableManager.java +1 -1
  4. package/android/src/main/java/com/volcengine/velive/rn/pull/VolcLiveModule.java +2 -0
  5. package/android/src/main/java/com/volcengine/velive/rn/pull/autogen/MethodSignature.java +66 -77
  6. package/android/src/main/java/com/volcengine/velive/rn/pull/pictureInpicture/FloatingWindowService.java +79 -15
  7. package/ios/VeLivePlayerMultiObserver.h +3 -2
  8. package/ios/VeLivePlayerMultiObserver.m +2 -2
  9. package/ios/include/react-native-velive-pull.modulemap +4 -0
  10. package/ios/pictureInpicture/PictureInPictureManager.h +21 -1
  11. package/ios/pictureInpicture/PictureInPictureManager.m +254 -141
  12. package/lib/commonjs/index.js +4455 -1648
  13. package/lib/module/index.js +4455 -1648
  14. package/lib/typescript/codegen/android/api.d.ts +51 -43
  15. package/lib/typescript/codegen/android/callback.d.ts +166 -0
  16. package/lib/typescript/codegen/android/errorcode.d.ts +123 -2
  17. package/lib/typescript/codegen/android/keytype.d.ts +501 -13
  18. package/lib/typescript/codegen/ios/api.d.ts +232 -16
  19. package/lib/typescript/codegen/ios/callback.d.ts +137 -1
  20. package/lib/typescript/codegen/ios/errorcode.d.ts +104 -0
  21. package/lib/typescript/codegen/ios/keytype.d.ts +460 -6
  22. package/lib/typescript/codegen/pack/api.d.ts +66 -57
  23. package/lib/typescript/codegen/pack/callback.d.ts +45 -21
  24. package/lib/typescript/codegen/pack/errorcode.d.ts +45 -15
  25. package/lib/typescript/codegen/pack/keytype.d.ts +388 -114
  26. package/lib/typescript/core/api.d.ts +13 -0
  27. package/lib/typescript/core/keytype.d.ts +18 -2
  28. package/package.json +1 -1
  29. package/react-native-velive-pull.podspec +12 -3
  30. package/ios/pictureInpicture/VeLivePictureInPictureController.h +0 -207
  31. package/ios/pictureInpicture/VeLivePictureInPictureController.m +0 -3393
@@ -1,6 +1,6 @@
1
1
  import * as $p_a from '../android/index';
2
2
  import * as $p_i from '../ios/index';
3
- import { VeLivePlayerResolution, VeLivePlayerFillMode, VeLivePlayerPixelFormat, VeLivePlayerVideoBufferType, VeLivePlayerRotation, VeLivePlayerMirror, VeLivePlayerLogLevel, VeLivePlayerConfiguration, VeLivePlayerStreamData } from './keytype';
3
+ import { VeLivePlayerResolution, VeLivePlayerFillMode, VeLivePlayerPixelFormat, VeLivePlayerVideoBufferType, VeLivePlayerAudioBufferType, VeLivePlayerRotation, VeLivePlayerMirror, VeLivePlayerLogLevel, VeLivePlayerConfiguration, VeLivePlayerStreamData } from './keytype';
4
4
  import { VeLivePlayerObserver } from './callback';
5
5
  import { Map, type String, List } from './types';
6
6
  import { ApplicationContext } from './external';
@@ -25,13 +25,6 @@ export declare class VeLivePlayer {
25
25
  *
26
26
  */
27
27
  static setLogLevel(logLevel: VeLivePlayerLogLevel): void;
28
-
29
- /** {en}
30
- * @platform ios
31
- * @brief Sets the mapping of domain names to server IP addresses.
32
- * @param hostIpMap The mapping of domain names to server IP addresses. The `Map` object uses the domain name as the key, and the corresponding value is a list of IP addresses for the servers associated with that domain. The value is of the `List` type.
33
- */
34
- static ios_setHttpDNSHostIP(hostIpMap: $p_i.NSDictionary): void;
35
28
  constructor(context: ApplicationContext);
36
29
  constructor();
37
30
  protected _instance: any;
@@ -41,24 +34,24 @@ export declare class VeLivePlayer {
41
34
  * @detail keytype
42
35
  * @brief The player observer.
43
36
  */
44
- get ios_observer(): $p_i.id<$p_i.VeLivePlayerObserver>;
45
- set ios_observer(value: $p_i.id<$p_i.VeLivePlayerObserver>);
37
+ get observer(): $p_i.id<$p_i.VeLivePlayerObserver>;
38
+ set observer(value: $p_i.id<$p_i.VeLivePlayerObserver>);
46
39
 
47
40
  /** {en}
48
41
  * @platform ios
49
42
  * @detail keytype
50
43
  * @brief The view used by the player to render video. Add `playerView` to the view hierarchy of your app to display the video content.
51
44
  */
52
- get ios_playerView(): $p_i.UIView;
53
- set ios_playerView(value: $p_i.UIView);
45
+ get playerView(): $p_i.UIView;
46
+ set playerView(value: $p_i.UIView);
54
47
 
55
48
  /** {en}
56
49
  * @platform ios
57
50
  * @detail keytype
58
51
  * @brief The player volume. The default value is `1.0`. The value range is [0.0, 1.0].
59
52
  */
60
- get ios_volume(): $p_i.float;
61
- set ios_volume(value: $p_i.float);
53
+ get volume(): $p_i.float;
54
+ set volume(value: $p_i.float);
62
55
  protected __init(...args: any[]): void;
63
56
  protected __new_instance(...args: any[]): any;
64
57
 
@@ -75,12 +68,12 @@ export declare class VeLivePlayer {
75
68
  * @detail api
76
69
  * @brief Changes the video resolution.
77
70
  * @notes - Call [setPlayStreamData](#VeLivePlayer-setplaystreamdata) to set multiple resolutions before calling this method.
78
- * - Once the player switches to the new resolution after you call this method, the [onResolutionSwitch](player-android-api-callback#VeLivePlayerObserver-onresolutionswitch) callback is triggered.
71
+ * - Once the player switches to the new resolution after you call this method, the [onResolutionSwitch](docs-player-android-api-callback#VeLivePlayerObserver-onresolutionswitch) callback is triggered.
72
+ * @order 8
73
+ * @param resolution The video resolution. For details, refer to VeLivePlayerResolution
79
74
  * @return <br>
80
75
  * - true: Success;
81
76
  * - false: Failure.
82
- * @order 8
83
- * @param resolution The video resolution. For details, refer to VeLivePlayerResolution {@link #VeLivePlayerResolution}.
84
77
  *
85
78
  */
86
79
  switchResolution(resolution: VeLivePlayerResolution): void;
@@ -90,7 +83,7 @@ export declare class VeLivePlayer {
90
83
  * @brief Initializes the player and configures whether to turn on SEI messaging, hardware decoding, local DNS prefetch, and other configurations.
91
84
  * @notes <br>Call this method to initialize the player before calling [play](#VeLivePlayer-play) .
92
85
  * @order 1
93
- * @param config Player configurations. Refer to VeLivePlayerConfiguration {@link #VeLivePlayerConfiguration} for details.
86
+ * @param config Player configurations. Refer to VeLivePlayerConfiguration{@link #VeLivePlayerConfiguration} for details.
94
87
  *
95
88
  */
96
89
  setConfig(config: VeLivePlayerConfiguration): void;
@@ -98,9 +91,9 @@ export declare class VeLivePlayer {
98
91
  /** {en}
99
92
  * @detail api
100
93
  * @brief Sets the player observer to listen to the live player's events, such as playback errors or status updates, rendering of the first audio and video frame, and resolution switching.
101
- * @notes <br>
102
- * Call this method before calling play {@link #play}.
103
- * @param observer The player observer. See VeLivePlayerObserver {@link #VeLivePlayerObserver} for details.
94
+ * @notes
95
+ * Call this method before calling [play](#VeLivePlayer-play).
96
+ * @param observer The player observer. See VeLivePlayerObserver{@link #VeLivePlayerObserver} for details.
104
97
  * @order 2
105
98
  *
106
99
  */
@@ -113,7 +106,7 @@ export declare class VeLivePlayer {
113
106
  * - Call this method before calling [play](#VeLivePlayer-play) to set the initial fill mode of the player.
114
107
  * - You can call this method during playback to dynamically adjust the fill mode.
115
108
  * @order 3
116
- * @param fillMode The fill mode of SurfaceView. The default value is `VeLivePlayerFillModeAspectFill`. For details, see VeLivePlayerFillMode {@link #VeLivePlayerFillMode}.
109
+ * @param fillMode The fill mode of SurfaceView. The default value is `VeLivePlayerFillModeAspectFill`. For details, see VeLivePlayerFillMode{@link #VeLivePlayerFillMode}.
117
110
  *
118
111
  */
119
112
  setRenderFillMode(fillMode: VeLivePlayerFillMode): Promise<void>;
@@ -122,8 +115,8 @@ export declare class VeLivePlayer {
122
115
  * @platform android
123
116
  * @detail api
124
117
  * @brief Sets the `SurfaceHolder` object for video rendering and playback. Use this method if you use `SurfaceView` for playback.
125
- * @notes <br>
126
- * If you call both `setSurfaceHolder` and setSurface {@link #setSurface} to set the `Surface` object, the player will prioritize the configurations of `surfaceHolder`.
118
+ * @notes
119
+ * If you call both setSurfaceHolder and [setSurface](#VeLivePlayer-setsurface) to set the `Surface` object, the player will prioritize the configurations of `surfaceHolder`.
127
120
  * @param surfaceHolder The `SurfaceHolder` object.
128
121
  * @order 6
129
122
  *
@@ -134,8 +127,8 @@ export declare class VeLivePlayer {
134
127
  * @platform android
135
128
  * @detail api
136
129
  * @brief Sets the `Surface` object for video rendering and playback. Use this method if you use `SurfaceView` or `TextureView` for playback.
137
- * @notes <br>
138
- * If you call both setSurfaceHolder {@link #setSurfaceHolder} and `setSurface` to set the `Surface` object, the player will prioritize the configurations of `surfaceHolder`.
130
+ * @notes
131
+ * If you call both [setSurfaceHolder](#VeLivePlayer-setsurfaceholder) and `setSurface` to set the `Surface` object, the player will prioritize the configurations of `surfaceHolder`.
139
132
  * @param surface The `Surface` object.
140
133
  * @order 7
141
134
  *
@@ -157,7 +150,7 @@ export declare class VeLivePlayer {
157
150
  * @brief Sets multiple live streams. Call this method if you need to enable features requiring multiple live streams, such as adaptive bitrate (ABR), manual resolution switching, and primary and backup streams.
158
151
  * @notes <br>Call this method before calling play.
159
152
  * @order 8
160
- * @param streamData Configurations for multiple pull stream addresses. For details, see VeLivePlayerStreamData {@link #VeLivePlayerStreamData}.
153
+ * @param streamData Configurations for multiple pull stream addresses. For details, see [VeLivePlayerStreamData](player-android-api-keytype#VeLivePlayerStreamData).
161
154
  *
162
155
  */
163
156
  setPlayStreamData(streamData: VeLivePlayerStreamData): void;
@@ -165,8 +158,8 @@ export declare class VeLivePlayer {
165
158
  /** {en}
166
159
  * @detail api
167
160
  * @brief Starts or resumes playback.
168
- * @notes <br>
169
- * After you call this method, the onPlayerStatusUpdate {@link #VeLivePlayerObserver #onPlayerStatusUpdate} callback is triggered both when the player finishes preparing for stream pulling and when the first frame is rendered.
161
+ * @notes
162
+ * After you call this method, the [onPlayerStatusUpdate](docs-player-android-api-callback#VeLivePlayerObserver-onplayerstatusupdate) callback is triggered both when the player finishes preparing for stream pulling and when the first frame is rendered.
170
163
  * @order 8
171
164
  *
172
165
  */
@@ -175,8 +168,8 @@ export declare class VeLivePlayer {
175
168
  /** {en}
176
169
  * @detail api
177
170
  * @brief Pauses playback.
178
- * @notes <br>
179
- * When playback is paused after you call this method, the onPlayerStatusUpdate {@link #VeLivePlayerObserver #onPlayerStatusUpdate} callback is triggered.
171
+ * @notes
172
+ * When playback is paused after you call this method, the [onPlayerStatusUpdate](docs-player-android-api-callback#VeLivePlayerObserver-onplayerstatusupdate) callback is triggered.
180
173
  * @order 8
181
174
  *
182
175
  */
@@ -185,8 +178,8 @@ export declare class VeLivePlayer {
185
178
  /** {en}
186
179
  * @detail api
187
180
  * @brief Stops playback. This method does not destroy the player.
188
- * @notes <br>
189
- * When playback stops after you call this method, the onPlayerStatusUpdate {@link #VeLivePlayerObserver #onPlayerStatusUpdate} callback is triggered.
181
+ * @notes
182
+ * When playback stops after you call this method, the [onPlayerStatusUpdate](docs-player-android-api-callback#VeLivePlayerObserver-onplayerstatusupdate) callback is triggered.
190
183
  * @order 8
191
184
  *
192
185
  */
@@ -238,13 +231,15 @@ export declare class VeLivePlayer {
238
231
  * @brief Sets the mapping of domain names to server IP addresses.
239
232
  * @param hostIpMap The mapping of domain names to server IP addresses. The `Map` object uses the domain name as the key, and the corresponding value is a list of IP addresses for the servers associated with that domain. The value is of the `List` type.
240
233
  * @order 11
234
+ * @notes - When using setUrlHostIP to map domain names and IP addresses, disable the DNS pre-resolution feature in the initial configuration by setting [enableLiveDNS](docs-player-android-api-keytype#VeLivePlayerConfiguration-enablelivedns) to false.
235
+ * - Call this method to set the mapping of domain names and IP addresses before calling [play](#VeLivePlayer-play) to start playback.
241
236
  *
242
237
  */
243
238
  setUrlHostIP(hostIpMap: Map<String, List<String>>): void;
244
239
 
245
240
  /** {en}
246
241
  * @detail api
247
- * @brief Configures advanced settings for the player, including offscreen rendering, maximum buffer duration, and adaptive bitrate (ABR) algorithms. Contact BytePlus technical support if you need further information.
242
+ * @brief Configures advanced settings for the player, including offscreen rendering, maximum buffer duration, and adaptive bitrate (ABR) algorithms. [Create a ticket](https://console.byteplus.com/workorder/create?step=2&SubProductID=P00000980) to contact BytePlus technical support if you need further information.
248
243
  * @param key The parameter name of the advanced setting.
249
244
  * @param value The parameter value of the advanced setting.
250
245
  * @order 12
@@ -255,13 +250,13 @@ export declare class VeLivePlayer {
255
250
  /** {en}
256
251
  * @detail api
257
252
  * @brief Takes a screenshot of the video.
258
- * @notes <br>
259
- * - This method only takes effect during playback.
260
- * - When a screenshot is captured after you call this method, the onSnapshotComplete {@link #VeLivePlayerObserver #onSnapshotComplete} callback is triggered containing the Bitmap object of the screenshot.
261
- * @return <br>
262
- * - 0: Screenshot capturing is allowed.
263
- * - [VeLivePlayerErrorRefused](player-android-api-errorcode#VeLivePlayerErrorCode-veliveplayererrorrefused) : Screenshot capturing is not allowed.
253
+ * @notes
254
+ * - This method only takes effect during playback.
255
+ * - When a screenshot is captured after you call this method, the [onSnapshotComplete](docs-player-android-api-callback#VeLivePlayerObserver-onsnapshotcomplete) callback is triggered containing the Bitmap object of the screenshot.
264
256
  * @order 13
257
+ * @return
258
+ * - 0: Screenshot capturing is allowed.
259
+ * - [VeLivePlayerErrorRefused](docs-player-android-api-errorcode#VeLivePlayerErrorCode-veliveplayererrorrefused) : Screenshot capturing is not allowed.
265
260
  *
266
261
  */
267
262
  snapshot(): number;
@@ -272,12 +267,12 @@ export declare class VeLivePlayer {
272
267
  * @param enable Whether to enable the video frame callback. The default value is `false`. <br>
273
268
  * - true: Enable;
274
269
  * - false: Disable.
275
- * @param pixelFormat The pixel format of the video frame in the callback. See VeLivePlayerPixelFormat {@link #VeLivePlayerPixelFormat} for details.
276
- * @param bufferType The encapsulation format of the video data in the callback. For details, see VeLivePlayerVideoBufferType {@link #VeLivePlayerVideoBufferType}.
277
- * @notes <br>
278
- * - You can call this method to subscribe to decoded video data for external rendering.
279
- * - After you call this method, the onRenderVideoFrame {@link #VeLivePlayerObserver #onRenderVideoFrame} callback is triggered once the SDK receives a video frame. The callback contains detailed information about the video frame.
280
- * - If you use external rendering, you need to make sure the video and audio are synchronized.
270
+ * @param pixelFormat The pixel format of the video frame in the callback. See VeLivePlayerPixelFormat{@link #VeLivePlayerPixelFormat} for details.
271
+ * @param bufferType The encapsulation format of the video data in the callback. For details, see VeLivePlayerVideoBufferType{@link #VeLivePlayerVideoBufferType}.
272
+ * @notes
273
+ * - You can call this method to subscribe to decoded video data for external rendering.
274
+ * - After you call this method, the [onRenderVideoFrame](docs-player-android-api-callback#VeLivePlayerObserver-onrendervideoframe) callback is triggered once the SDK receives a video frame. The callback contains detailed information about the video frame.
275
+ * - If you use external rendering, you need to make sure the video and audio are synchronized.
281
276
  * @order 14
282
277
  *
283
278
  */
@@ -286,25 +281,27 @@ export declare class VeLivePlayer {
286
281
  /** {en}
287
282
  * @detail api
288
283
  * @brief Sets the audio frame observer.
289
- * @notes <br>
284
+ * @notes
290
285
  * - You can call this method to subscribe to decoded audio data if you want to use external rendering.
291
- * - After you call this method, the [onRenderAudioFrame](player-android-api-callback#VeLivePlayerObserver-onrenderaudioframe) callback is triggered once the SDK receives an audio frame. The callback contains detailed information about the audio frame.
286
+ * - After you call this method, the [onRenderAudioFrame](docs-player-android-api-callback#VeLivePlayerObserver-onrenderaudioframe) callback is triggered once the SDK receives an audio frame. The callback contains detailed information about the audio frame.
292
287
  * - If you use external rendering, you need to make sure the video and audio are synchronized.
293
288
  * @order 15
289
+ *
294
290
  * @param enable Whether to enable the audio frame callback. The default value is `false`. <br>
295
291
  * - true: Enable;
296
292
  * - false: Disable.
297
293
  * @param enableRendering Whether to enable player rendering. The default value is `false`. <br>
298
294
  * - true: Enable;
299
295
  * - false: Disable.
296
+ * @param bufferType Audio buffer type. For details, please refer to [VeLivePlayerAudioBufferType](docs-player-android-api-keytype#VeLivePlayerAudioBufferType).
300
297
  *
301
298
  */
302
- enableAudioFrameObserver(enable: boolean, enableRendering: boolean): void;
299
+ enableAudioFrameObserver(enable: boolean, enableRendering: boolean, bufferType: VeLivePlayerAudioBufferType): void;
303
300
 
304
301
  /** {en}
305
302
  * @detail api
306
303
  * @brief Sets the clockwise rotation angle of the video.
307
- * @param rotation The clockwise rotation angle of the video. Rotation is disabled by default. See VeLivePlayerRotation {@link #VeLivePlayerRotation} for details.
304
+ * @param rotation The clockwise rotation angle of the video. Rotation is disabled by default. See VeLivePlayerRotation{@link #VeLivePlayerRotation} for details.
308
305
  * @notes <br>
309
306
  * - You can change the rotation angle before and during playback.
310
307
  * - Each time this method is called, the player rotates the video based on the original video.
@@ -317,7 +314,7 @@ export declare class VeLivePlayer {
317
314
  /** {en}
318
315
  * @detail api
319
316
  * @brief Configures mirroring settings.
320
- * @param mirror Mirroring settings. Mirroring is disabled by default. See VeLivePlayerMirror {@link #VeLivePlayerMirror} for details.
317
+ * @param mirror Mirroring settings. Mirroring is disabled by default. See VeLivePlayerMirror{@link #VeLivePlayerMirror} for details.
321
318
  * @notes <br>
322
319
  * - You can change the mirroring settings before and during playback.
323
320
  * - Each time this method is called, the player applies the mirroring settings to the original video.
@@ -329,11 +326,14 @@ export declare class VeLivePlayer {
329
326
 
330
327
  /** {en}
331
328
  * @detail api
332
- * @brief Enables or disables super resolution. You must first contact the BytePlus [technical support](https://www.byteplus.com/en/support) to activate the feature before using it.
333
- * @param enable Whether to enable super resolution.
334
- * @notes <br>
335
- * - Call this method after receiving the onFirstVideoFrameRender{@link #VeLivePlayerObserver#onFirstVideoFrameRender} callback, or during playback.
336
- * - If the SDK fails to enable super resolution due to device model, video resolution or frame rate, you will receive the onStreamFailedOpenSuperResolution{@link #VeLivePlayerObserver#onStreamFailedOpenSuperResolution} callback.
329
+ * @brief Enables or disables super resolution. You must first contact BytePlus [technical support](https://console.byteplus.com/workorder/create?step=2&SubProductID=P00000980) to activate the feature before using it.
330
+ * @param enable Whether to enable super resolution. The default value is false.
331
+ * - true: enable;
332
+ * - false: disable.
333
+ * @notes
334
+ * - Call this method after receiving the [onFirstVideoFrameRender](docs-player-android-api-callback#VeLivePlayerObserver-onfirstvideoframerender) callback, or during playback.
335
+ * - Support dynamically enabling and disabling super-resolution by calling this interface during playback.
336
+ * - If the SDK fails to enable super resolution due to device model, video resolution or frame rate, you will receive the [onStreamFailedOpenSuperResolution](docs-player-android-api-callback#VeLivePlayerObserver-onstreamfailedopensuperresolution) callback.
337
337
  * @order 18
338
338
  *
339
339
  */
@@ -352,7 +352,16 @@ export declare class VeLivePlayer {
352
352
  /** {en}
353
353
  * @platform ios
354
354
  * @brief Initializes the specified type of player.
355
- * @param type The player type. Refer to [VeLivePlayerType](player-sdk-for-ios-api#VeLivePlayerType) for details.
355
+ * @param type The player type. Refer to [VeLivePlayerType](docs-player-sdk-for-ios-type-definition#VeLivePlayerType) for details.
356
356
  */
357
357
  ios_initWithType(type: $p_i.VeLivePlayerType): this;
358
+
359
+ /** {en}
360
+ * @platform ios
361
+ * @brief Check whether the player currently supports the specified resolution level.
362
+ * @param resolution Resolution levels. For details, please refer to [VeLivePlayerResolution](docs-player-sdk-for-ios-type-definition#VeLivePlayerResolution).
363
+ * @return - 0: Supported;
364
+ * - Others: Not supported. For details of other return values, please refer to [VeLivePlayerSupportResolutionSwitchError](docs-player-sdk-for-ios-type-definition#VeLivePlayerSupportResolutionSwitchError).
365
+ */
366
+ ios_isSupportResolutionSwitch(resolution: $p_i.VeLivePlayerResolution): number;
358
367
  }
@@ -3,7 +3,7 @@ import * as $p_i from '../ios/index';
3
3
  import { VeLivePlayerResolution, VeLivePlayerResolutionSwitchReason, VeLivePlayerStreamType, VeLivePlayerStatus, VeLivePlayerStatistics, VeLivePlayerVideoFrame, VeLivePlayerAudioFrame } from './keytype';
4
4
  import { VeLivePlayer } from './api';
5
5
  import { VeLivePlayerError } from './errorcode';
6
- import { Bitmap } from './types';
6
+ import { Bitmap, int, BOOL, NSString } from './types';
7
7
 
8
8
  export interface VeLivePlayerObserver {
9
9
 
@@ -11,7 +11,7 @@ export interface VeLivePlayerObserver {
11
11
  * @detail callback
12
12
  * @brief Occurs when a player error occurs.
13
13
  * @param player The player object that triggers the callback function.
14
- * @param error The error message. Refer to VeLivePlayerError {@link #VeLivePlayerError} for details.
14
+ * @param error The error message. Refer to VeLivePlayerError{@link #VeLivePlayerError} for details.
15
15
  * @order 1
16
16
  *
17
17
  */
@@ -83,9 +83,9 @@ export interface VeLivePlayerObserver {
83
83
  * @detail callback
84
84
  * @brief Occurs when the video resolution changes.
85
85
  * @param player The player object that triggers the callback function.
86
- * @param resolution The updated resolution. See VeLivePlayerResolution {@link #VeLivePlayerResolution} for details.
87
- * @param error Whether an error occurred during resolution switching. See VeLivePlayerError {@link #VeLivePlayerError} for details.
88
- * @param reason The reason for resolution switching. See VeLivePlayerResolutionSwitchReason {@link #VeLivePlayerResolutionSwitchReason} for details.
86
+ * @param resolution The updated resolution. See [VeLivePlayerResolution](docs-player-android-api-keytype#VeLivePlayerResolution) for details.
87
+ * @param error Whether an error occurred during resolution switching. See VeLivePlayerError{@link #VeLivePlayerError} for details.
88
+ * @param reason The reason for resolution switching. See VeLivePlayerResolutionSwitchReason{@link #VeLivePlayerResolutionSwitchReason} for details.
89
89
  * @order 8
90
90
  *
91
91
  */
@@ -104,7 +104,7 @@ export interface VeLivePlayerObserver {
104
104
 
105
105
  /** {en}
106
106
  * @detail callback
107
- * @brief Occurs when the Player SDK receives an SEI message.
107
+ * @brief String SEI message callback. This callback is triggered when the player SDK receives an SEI message. It is necessary to enable the `enableSei` property in `VeLivePlayerConfiguration`. When the `enableBinarySei` property is enabled, the string SEI message will no longer be sent.
108
108
  * @param player The player object that triggers the callback function.
109
109
  * @param message The SEI message.
110
110
  * @order 10
@@ -112,12 +112,22 @@ export interface VeLivePlayerObserver {
112
112
  */
113
113
  onReceiveSeiMessage?(player: VeLivePlayer, message: string): void;
114
114
 
115
+ /** {en}
116
+ * @detail callback
117
+ * @brief Binary SEI message callback. This callback is triggered when the player SDK receives an SEI message. It is necessary to enable the `enableBinarySei` property in `VeLivePlayerConfiguration`. When the `enableBinarySei` property is enabled, the string SEI message will no longer be sent.
118
+ * @param player The player object that triggers the callback function.
119
+ * @param message The SEI message.
120
+ * @order 10
121
+ *
122
+ */
123
+ onReceiveBinarySeiMessage?(player: VeLivePlayer, message: ArrayBuffer): void;
124
+
115
125
  /** {en}
116
126
  * @detail callback
117
127
  * @brief Occurs when the player switches between the primary stream and the backup stream.
118
128
  * @param player The player object that triggers the callback function.
119
- * @param streamType The type of the updated stream. For details, see VeLivePlayerStreamType {@link #VeLivePlayerStreamType}.
120
- * @param error The reason for the switch. For details, see VeLivePlayerError {@link #VeLivePlayerError}.
129
+ * @param streamType The type of the updated stream. For details, see VeLivePlayerStreamType{@link #VeLivePlayerStreamType}.
130
+ * @param error The reason for the switch. For details, see VeLivePlayerError{@link #VeLivePlayerError}.
121
131
  * @order 11
122
132
  *
123
133
  */
@@ -127,7 +137,7 @@ export interface VeLivePlayerObserver {
127
137
  * @detail callback
128
138
  * @brief Occurs when the playback status changes.
129
139
  * @param player The player object that triggers the callback function.
130
- * @param status The updated status of the player. See VeLivePlayerStatus {@link #VeLivePlayerStatus} for details.
140
+ * @param status The updated status of the player. See VeLivePlayerStatus{@link #VeLivePlayerStatus} for details.
131
141
  * @order 12
132
142
  *
133
143
  */
@@ -137,7 +147,7 @@ export interface VeLivePlayerObserver {
137
147
  * @detail callback
138
148
  * @brief Occurs periodically to report information such as the current pull stream address, bitrate, and frame rate.
139
149
  * @param player The player object that triggers the callback function.
140
- * @param statistics The playback statistics. For details, see VeLivePlayerStatistics {@link #VeLivePlayerStatistics}.
150
+ * @param statistics The playback statistics. For details, see VeLivePlayerStatistics{@link #VeLivePlayerStatistics}.
141
151
  * @order 13
142
152
  *
143
153
  */
@@ -155,12 +165,12 @@ export interface VeLivePlayerObserver {
155
165
 
156
166
  /** {en}
157
167
  * @detail callback
158
- * @brief Occurs when the player decodes a video frame. Call [enableVideoFrameObserver](player-android-api-reference#VeLivePlayer-enablevideoframeobserver) to enable video frame callback.
168
+ * @brief Occurs when the player decodes a video frame. Call [enableVideoFrameObserver](docs-player-android-api-reference#VeLivePlayer-enablevideoframeobserver) to enable video frame callback.
159
169
  * @notes <br>
160
170
  * If you use the texture format for external rendering, we recommend that you render the video in the callback thread.
161
171
  * @order 15
162
172
  * @param player The player object that triggers the callback function.
163
- * @param videoFrame The video frame, including the pixel format, encapsulation format, width and height of the video, and other information. See VeLivePlayerVideoFrame {@link #VeLivePlayerVideoFrame} for details.
173
+ * @param videoFrame The video frame, including the pixel format, encapsulation format, width and height of the video, and other information. See VeLivePlayerVideoFrame{@link #VeLivePlayerVideoFrame} for details.
164
174
  *
165
175
  */
166
176
  onRenderVideoFrame?(player: VeLivePlayer, videoFrame: VeLivePlayerVideoFrame): void;
@@ -169,7 +179,7 @@ export interface VeLivePlayerObserver {
169
179
  * @detail callback
170
180
  * @brief Occurs when the player decodes an audio frame. Call enableAudioFrameObserver{@link #VeLivePlayer#enableAudioFrameObserver} to enable audio frame callback.
171
181
  * @param player The player object that triggers the callback function.
172
- * @param audioFrame The audio frame. See VeLivePlayerAudioFrame {@link #VeLivePlayerAudioFrame} for details.
182
+ * @param audioFrame The audio frame. See VeLivePlayerAudioFrame{@link #VeLivePlayerAudioFrame} for details.
173
183
  * @notes <br>
174
184
  * The audio data returned by the callback is of type Float32 and in big-endian byte order.
175
185
  * @order 16
@@ -182,10 +192,21 @@ export interface VeLivePlayerObserver {
182
192
  * @brief Occurs when the SDK fails to enable super resolution after setEnableSuperResolution{@link #VeLivePlayer#setEnableSuperResolution} is called.
183
193
  * @order 17
184
194
  * @param player The player object that triggers the callback function.
185
- * @param error The reason of the failure. See [VeLivePlayerErrorCode](player-android-api-errorcode#VeLivePlayerError-VeLivePlayerErrorCode) for details.
195
+ * @param error The reason of the failure. See [VeLivePlayerErrorCode](docs-player-android-api-errorcode#VeLivePlayerErrorCode) for details.
186
196
  *
187
197
  */
188
198
  onStreamFailedOpenSuperResolution?(player: VeLivePlayer, error: VeLivePlayerError): void;
199
+
200
+ /** {en}
201
+ * @platform android
202
+ * @detail callback
203
+ * @brief Occurs when the SDK fails to enable sharpen after [setEnableSuperResolution](docs-player-android-api-reference#VeLivePlayer-setenablesuperresolution) is called.
204
+ * @param player The player object that triggers the callback function.
205
+ * @param error The reason of the failure. See [VeLivePlayerErrorCode](docs-player-android-api-errorcode#VeLivePlayerErrorCode) for details.
206
+ * @order 18
207
+ *
208
+ */
209
+ onStreamFailedOpenSharpen?(): void;
189
210
  }
190
211
  export declare class android_VeLivePlayerObserver extends $p_a.VeLivePlayerObserver {
191
212
  protected _instance: VeLivePlayerObserver;
@@ -195,11 +216,12 @@ export declare class android_VeLivePlayerObserver extends $p_a.VeLivePlayerObser
195
216
  onFirstAudioFrameRender(player: $p_a.VeLivePlayer, isFirstFrame: boolean): void;
196
217
  onStallStart(player: $p_a.VeLivePlayer): void;
197
218
  onStallEnd(player: $p_a.VeLivePlayer): void;
198
- onVideoRenderStall(player: $p_a.VeLivePlayer, stallTime: $p_a.long): void;
199
- onAudioRenderStall(player: $p_a.VeLivePlayer, stallTime: $p_a.long): void;
219
+ onVideoRenderStall(player: $p_a.VeLivePlayer, stallTime: int): void;
220
+ onAudioRenderStall(player: $p_a.VeLivePlayer, stallTime: int): void;
200
221
  onResolutionSwitch(player: $p_a.VeLivePlayer, resolution: $p_a.VeLivePlayerResolution, error: $p_a.VeLivePlayerError, reason: $p_a.VeLivePlayerResolutionSwitchReason): void;
201
- onVideoSizeChanged(player: $p_a.VeLivePlayer, width: $p_a.int, height: $p_a.int): void;
222
+ onVideoSizeChanged(player: $p_a.VeLivePlayer, width: int, height: int): void;
202
223
  onReceiveSeiMessage(player: $p_a.VeLivePlayer, message: string): void;
224
+ onReceiveBinarySeiMessage(player: $p_a.VeLivePlayer, message: ArrayBuffer): void;
203
225
  onMainBackupSwitch(player: $p_a.VeLivePlayer, streamType: $p_a.VeLivePlayerStreamType, error: $p_a.VeLivePlayerError): void;
204
226
  onPlayerStatusUpdate(player: $p_a.VeLivePlayer, status: $p_a.VeLivePlayerStatus): void;
205
227
  onStatistics(player: $p_a.VeLivePlayer, statistics: $p_a.VeLivePlayerStatistics): void;
@@ -207,20 +229,22 @@ export declare class android_VeLivePlayerObserver extends $p_a.VeLivePlayerObser
207
229
  onRenderVideoFrame(player: $p_a.VeLivePlayer, videoFrame: $p_a.VeLivePlayerVideoFrame): void;
208
230
  onRenderAudioFrame(player: $p_a.VeLivePlayer, audioFrame: $p_a.VeLivePlayerAudioFrame): void;
209
231
  onStreamFailedOpenSuperResolution(player: $p_a.VeLivePlayer, error: $p_a.VeLivePlayerError): void;
232
+ onStreamFailedOpenSharpen(player: $p_a.VeLivePlayer, error: $p_a.VeLivePlayerError): void;
210
233
  }
211
234
  export declare class ios_VeLivePlayerObserver extends $p_i.VeLivePlayerObserver {
212
235
  protected _instance: VeLivePlayerObserver;
213
236
  constructor(_instance: VeLivePlayerObserver);
214
237
  onError$error(player: $p_i.TVLManager, error: $p_i.VeLivePlayerError): void;
215
- onFirstVideoFrameRender$isFirstFrame(player: $p_i.TVLManager, isFirstFrame: $p_i.BOOL): void;
216
- onFirstAudioFrameRender$isFirstFrame(player: $p_i.TVLManager, isFirstFrame: $p_i.BOOL): void;
238
+ onFirstVideoFrameRender$isFirstFrame(player: $p_i.TVLManager, isFirstFrame: BOOL): void;
239
+ onFirstAudioFrameRender$isFirstFrame(player: $p_i.TVLManager, isFirstFrame: BOOL): void;
217
240
  onStallStart(player: $p_i.TVLManager): void;
218
241
  onStallEnd(player: $p_i.TVLManager): void;
219
242
  onVideoRenderStall$stallTime(player: $p_i.TVLManager, stallTime: $p_i.int64_t): void;
220
243
  onAudioRenderStall$stallTime(player: $p_i.TVLManager, stallTime: $p_i.int64_t): void;
221
244
  onResolutionSwitch$resolution$error$reason(player: $p_i.TVLManager, resolution: $p_i.VeLivePlayerResolution, error: $p_i.VeLivePlayerError, reason: $p_i.VeLivePlayerResolutionSwitchReason): void;
222
- onVideoSizeChanged$width$height(player: $p_i.TVLManager, width: $p_i.int, height: $p_i.int): void;
223
- onReceiveSeiMessage$message(player: $p_i.TVLManager, message: $p_i.NSString): void;
245
+ onVideoSizeChanged$width$height(player: $p_i.TVLManager, width: int, height: int): void;
246
+ onReceiveSeiMessage$message(player: $p_i.TVLManager, message: NSString): void;
247
+ onReceiveBinarySeiMessage$message(player: $p_i.TVLManager, message: $p_i.NSData): void;
224
248
  onMainBackupSwitch$streamType$error(player: $p_i.TVLManager, streamType: $p_i.VeLivePlayerStreamType, error: $p_i.VeLivePlayerError): void;
225
249
  onPlayerStatusUpdate$status(player: $p_i.TVLManager, status: $p_i.VeLivePlayerStatus): void;
226
250
  onStatistics$statistics(player: $p_i.TVLManager, statistics: $p_i.VeLivePlayerStatistics): void;
@@ -58,61 +58,61 @@ export declare enum VeLivePlayerErrorCode {
58
58
  VeLivePlayerErrorInternalRetryFailed = -103,
59
59
 
60
60
  /** {en}
61
- * @brief DNS parsing failed. This error may occur due to an error in the pull stream address or the client's network conditions. If the error persists after you verify the pull stream address and network conditions, contact BytePlus technical support for assistance.
61
+ * @brief DNS parsing failed. This error may occur due to an error in the pull stream address or the client's network conditions. If the error persists after you verify the pull stream address and network conditions, [create a ticket](https://console.byteplus.com/workorder/create?step=2&SubProductID=P00000980) to contact BytePlus technical support for assistance.
62
62
  *
63
63
  */
64
64
  VeLivePlayerErrorDnsParseFailed = -200,
65
65
 
66
66
  /** {en}
67
- * @brief The network request failed. Check the network conditions. If the error persists, contact BytePlus technical support for assistance.
67
+ * @brief The network request failed. Check the network conditions. If the error persists, [create a ticket](https://console.byteplus.com/workorder/create?step=2&SubProductID=P00000980) to contact BytePlus technical support for assistance.
68
68
  *
69
69
  */
70
70
  VeLivePlayerErrorNetworkRequestFailed = -201,
71
71
 
72
72
  /** {en}
73
- * @brief Video decapsulation failed. This error may occur if the live stream uses an unsupported format or protocol, or if there is an audio or video error. If the error persists, contact BytePlus technical support for assistance.
73
+ * @brief Video decapsulation failed. This error may occur if the live stream uses an unsupported format or protocol, or if there is an audio or video error. If the error persists, [create a ticket](https://console.byteplus.com/workorder/create?step=2&SubProductID=P00000980) to contact BytePlus technical support for assistance.
74
74
  *
75
75
  */
76
76
  VeLivePlayerErrorDemuxFailed = -300,
77
77
 
78
78
  /** {en}
79
- * @brief Decoding failed. This error may occur if the live stream uses an unsupported audio or video format. If the error persists, contact BytePlus technical support for assistance.
79
+ * @brief Decoding failed. This error may occur if the live stream uses an unsupported audio or video format. If the error persists, [create a ticket](https://console.byteplus.com/workorder/create?step=2&SubProductID=P00000980) to contact BytePlus technical support for assistance.
80
80
  *
81
81
  */
82
82
  VeLivePlayerErrorDecodeFailed = -301,
83
83
 
84
84
  /** {en}
85
- * @brief Rendering failed. This error may occur if there is an issue with the audio or video output devices. If the error persists, contact BytePlus technical support for assistance.
85
+ * @brief Rendering failed. This error may occur if there is an issue with the audio or video output devices. If the error persists, [create a ticket](https://console.byteplus.com/workorder/create?step=2&SubProductID=P00000980) to contact BytePlus technical support for assistance.
86
86
  *
87
87
  */
88
88
  VeLivePlayerErrorAVOutputFailed = -302,
89
89
 
90
90
  /** {en}
91
- * @brief The device model does not support super resolution. Contact BytePlus technical support for any assistance you may need.
91
+ * @brief The device model does not support super resolution. [Create a ticket](https://console.byteplus.com/workorder/create?step=2&SubProductID=P00000980) to contact BytePlus technical support for any assistance you may need.
92
92
  *
93
93
  */
94
94
  VeLivePlayerErrorSRDeviceUnsupported = -303,
95
95
 
96
96
  /** {en}
97
- * @brief The current resolution exceeds the upper limit allowed for super resolution. Contact BytePlus technical support for any assistance you may need.
97
+ * @brief The current resolution exceeds the upper limit allowed for super resolution. [Create a ticket](https://console.byteplus.com/workorder/create?step=2&SubProductID=P00000980) to contact BytePlus technical support for any assistance you may need.
98
98
  *
99
99
  */
100
100
  VeLivePlayerErrorSRResolutionUnsupported = -304,
101
101
 
102
102
  /** {en}
103
- * @brief The current frame rate exceeds the upper limit allowed for super resolution. Contact BytePlus technical support for any assistance you may need.
103
+ * @brief The current frame rate exceeds the upper limit allowed for super resolution. [Create a ticket](https://console.byteplus.com/workorder/create?step=2&SubProductID=P00000980) to contact BytePlus technical support for any assistance you may need.
104
104
  *
105
105
  */
106
106
  VeLivePlayerErrorSRFpsUnsupported = -305,
107
107
 
108
108
  /** {en}
109
- * @brief Fails to initialize super resolution. Contact BytePlus technical support if the error persists.
109
+ * @brief Fails to initialize super resolution. [Create a ticket](https://console.byteplus.com/workorder/create?step=2&SubProductID=P00000980) to contact BytePlus technical support if the error persists.
110
110
  *
111
111
  */
112
112
  VeLivePlayerErrorSRInitFail = -306,
113
113
 
114
114
  /** {en}
115
- * @brief Fails to apply super resolution to the video. Contact BytePlus technical support if the error persists.
115
+ * @brief Fails to apply super resolution to the video. [Create a ticket](https://console.byteplus.com/workorder/create?step=2&SubProductID=P00000980) to contact BytePlus technical support if the error persists.
116
116
  *
117
117
  */
118
118
  VeLivePlayerErrorSRExecuteFail = -307,
@@ -123,12 +123,35 @@ export declare enum VeLivePlayerErrorCode {
123
123
  */
124
124
  VeLivePlayerLicenseUnsupportedH265 = -308,
125
125
 
126
+ /** {en}
127
+ * @platform android
128
+ * @brief The device model does not support sharpen. [Create a ticket](https://console.byteplus.com/workorder/create?step=2&SubProductID=P00000980) to contact BytePlus technical support for any assistance you may need.
129
+ *
130
+ */
131
+ VeLivePlayerErrorSharpenDeviceUnsupported = -309,
132
+
133
+ /** {en}
134
+ * @hidden (Android)
135
+ *
136
+ */
137
+ VeLivePlayerErrorNotSupportResolutionSwitch = -310,
138
+
139
+ /** {en}
140
+ * @platform ios
141
+ * @brief DRM authentication fails
142
+ *
143
+ */
126
144
  VeLivePlayerDRMFetchCKCFailed = -400,
127
145
 
146
+ /** {en}
147
+ * @platform ios
148
+ * @brief Fails to generate Server Playback Context (SPC)
149
+ *
150
+ */
128
151
  VeLivePlayerDRMFetchSPCFailed = -401,
129
152
 
130
153
  /** {en}
131
- * @brief Internal error. Please contact BytePlus technical support for assistance.
154
+ * @brief Internal error. Please [create a ticket](https://console.byteplus.com/workorder/create?step=2&SubProductID=P00000980) to contact BytePlus technical support for assistance.
132
155
  *
133
156
  */
134
157
  VeLivePlayerErrorInternal = -999
@@ -148,10 +171,17 @@ export declare class VeLivePlayerError {
148
171
  *
149
172
  */
150
173
  get errorMsg(): string;
174
+
175
+ /** {en}
176
+ * @platform android
177
+ * @brief The sub error code.
178
+ *
179
+ */
180
+ get mSubCode(): number;
151
181
  }
152
182
  export declare class t_VeLivePlayerErrorCode {
153
- static ts_to_android(value: VeLivePlayerErrorCode): $p_a.VeLivePlayerErrorCode;
154
- static android_to_ts(value: $p_a.VeLivePlayerErrorCode): VeLivePlayerErrorCode;
155
- static ts_to_ios(value: VeLivePlayerErrorCode): $p_i.VeLivePlayerErrorCode;
156
- static ios_to_ts(value: $p_i.VeLivePlayerErrorCode): VeLivePlayerErrorCode;
183
+ static code_to_android(value: VeLivePlayerErrorCode): $p_a.VeLivePlayerErrorCode;
184
+ static android_to_code(value: $p_a.VeLivePlayerErrorCode): VeLivePlayerErrorCode;
185
+ static code_to_ios(value: VeLivePlayerErrorCode): $p_i.VeLivePlayerErrorCode;
186
+ static ios_to_code(value: $p_i.VeLivePlayerErrorCode): VeLivePlayerErrorCode;
157
187
  }