react-native-theoplayer 9.2.0 → 9.4.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 +22 -0
- package/android/build.gradle +2 -2
- package/android/src/main/java/com/theoplayer/media/MediaPlaybackService.kt +7 -11
- package/android/src/main/java/com/theoplayer/presentation/PipConfig.kt +7 -0
- package/android/src/main/java/com/theoplayer/presentation/PipConfigAdapter.kt +7 -1
- package/android/src/main/java/com/theoplayer/presentation/PipUtils.kt +11 -1
- package/android/src/main/java/com/theoplayer/presentation/PresentationManager.kt +1 -1
- package/android/src/main/java/com/theoplayer/track/TextTrackStyleAdapter.kt +8 -0
- package/app.plugin.js +2 -46
- package/ios/THEOplayerRCTMainEventHandler.swift +2 -2
- package/ios/THEOplayerRCTPlayerAPI.swift +14 -1
- package/lib/commonjs/api/backgroundAudio/BackgroundAudioConfiguration.js.map +1 -1
- package/lib/commonjs/api/cache/CachingTaskParameters.js +1 -2
- package/lib/commonjs/api/cache/CachingTaskParameters.js.map +1 -1
- package/lib/commonjs/api/source/SourceDescription.js +1 -2
- package/lib/commonjs/api/source/SourceDescription.js.map +1 -1
- package/lib/commonjs/api/source/ads/Ads.js.map +1 -1
- package/lib/commonjs/api/source/cmcd/CmcdConfiguration.js.map +1 -1
- package/lib/commonjs/api/track/TextTrackStyle.js.map +1 -1
- package/lib/commonjs/internal/THEOplayerView.js +4 -4
- package/lib/commonjs/internal/THEOplayerView.js.map +1 -1
- package/lib/commonjs/internal/adapter/WebEventForwarder.js +4 -4
- package/lib/commonjs/internal/adapter/WebEventForwarder.js.map +1 -1
- package/lib/commonjs/internal/adapter/event/PlayerEvents.js +15 -1
- package/lib/commonjs/internal/adapter/event/PlayerEvents.js.map +1 -1
- package/lib/commonjs/manifest.json +1 -1
- package/lib/commonjs/plugins/expo/withTHEOplayer.js +13 -0
- package/lib/commonjs/plugins/expo/withTHEOplayer.js.map +1 -0
- package/lib/commonjs/plugins/expo/withTHEOplayerAndroid.js +57 -0
- package/lib/commonjs/plugins/expo/withTHEOplayerAndroid.js.map +1 -0
- package/lib/commonjs/plugins/typedoc-platform-icons/package-lock.json +237 -0
- package/lib/commonjs/plugins/typedoc-platform-icons/package.json +20 -0
- package/lib/commonjs/plugins/typedoc-platform-icons/src/index.js +96 -0
- package/lib/commonjs/plugins/typedoc-platform-icons/src/index.js.map +1 -0
- package/lib/commonjs/plugins/typedoc-platform-icons/tsconfig.json +24 -0
- package/lib/module/api/backgroundAudio/BackgroundAudioConfiguration.js.map +1 -1
- package/lib/module/api/cache/CachingTaskParameters.js +1 -2
- package/lib/module/api/cache/CachingTaskParameters.js.map +1 -1
- package/lib/module/api/source/SourceDescription.js +1 -2
- package/lib/module/api/source/SourceDescription.js.map +1 -1
- package/lib/module/api/source/ads/Ads.js.map +1 -1
- package/lib/module/api/source/cmcd/CmcdConfiguration.js.map +1 -1
- package/lib/module/api/track/TextTrackStyle.js.map +1 -1
- package/lib/module/internal/THEOplayerView.js +5 -5
- package/lib/module/internal/THEOplayerView.js.map +1 -1
- package/lib/module/internal/adapter/WebEventForwarder.js +5 -5
- package/lib/module/internal/adapter/WebEventForwarder.js.map +1 -1
- package/lib/module/internal/adapter/event/PlayerEvents.js +12 -0
- package/lib/module/internal/adapter/event/PlayerEvents.js.map +1 -1
- package/lib/module/manifest.json +1 -1
- package/lib/module/plugins/expo/withTHEOplayer.js +9 -0
- package/lib/module/plugins/expo/withTHEOplayer.js.map +1 -0
- package/lib/module/plugins/expo/withTHEOplayerAndroid.js +52 -0
- package/lib/module/plugins/expo/withTHEOplayerAndroid.js.map +1 -0
- package/lib/module/plugins/typedoc-platform-icons/package-lock.json +237 -0
- package/lib/module/plugins/typedoc-platform-icons/package.json +20 -0
- package/lib/module/plugins/typedoc-platform-icons/src/index.js +92 -0
- package/lib/module/plugins/typedoc-platform-icons/src/index.js.map +1 -0
- package/lib/module/plugins/typedoc-platform-icons/tsconfig.json +24 -0
- package/lib/typescript/api/THEOplayerView.d.ts +1 -2
- package/lib/typescript/api/THEOplayerView.d.ts.map +1 -1
- package/lib/typescript/api/abr/ABRConfiguration.d.ts +8 -12
- package/lib/typescript/api/abr/ABRConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/ads/AdsConfiguration.d.ts +5 -5
- package/lib/typescript/api/ads/AdsConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/ads/GoogleImaAd.d.ts +2 -4
- package/lib/typescript/api/ads/GoogleImaAd.d.ts.map +1 -1
- package/lib/typescript/api/ads/GoogleImaConfiguration.d.ts +4 -1
- package/lib/typescript/api/ads/GoogleImaConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/ads/Omid.d.ts +1 -0
- package/lib/typescript/api/ads/Omid.d.ts.map +1 -1
- package/lib/typescript/api/backgroundAudio/BackgroundAudioConfiguration.d.ts +4 -2
- package/lib/typescript/api/backgroundAudio/BackgroundAudioConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/cache/CachingTask.d.ts +2 -1
- package/lib/typescript/api/cache/CachingTask.d.ts.map +1 -1
- package/lib/typescript/api/cache/CachingTaskParameters.d.ts +10 -9
- package/lib/typescript/api/cache/CachingTaskParameters.d.ts.map +1 -1
- package/lib/typescript/api/config/PlayerConfiguration.d.ts +9 -11
- package/lib/typescript/api/config/PlayerConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/event/AdEvent.d.ts +4 -8
- package/lib/typescript/api/event/AdEvent.d.ts.map +1 -1
- package/lib/typescript/api/event/PlayerEvent.d.ts +13 -2
- package/lib/typescript/api/event/PlayerEvent.d.ts.map +1 -1
- package/lib/typescript/api/media/MediaControlConfiguration.d.ts +2 -4
- package/lib/typescript/api/media/MediaControlConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/millicast/MillicastConnectOptions.d.ts +4 -0
- package/lib/typescript/api/millicast/MillicastConnectOptions.d.ts.map +1 -1
- package/lib/typescript/api/pip/PiPConfiguration.d.ts +10 -1
- package/lib/typescript/api/pip/PiPConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/playback/PlaybackSettingsAPI.d.ts +3 -6
- package/lib/typescript/api/playback/PlaybackSettingsAPI.d.ts.map +1 -1
- package/lib/typescript/api/player/THEOplayer.d.ts +5 -9
- package/lib/typescript/api/player/THEOplayer.d.ts.map +1 -1
- package/lib/typescript/api/source/SourceDescription.d.ts +12 -27
- package/lib/typescript/api/source/SourceDescription.d.ts.map +1 -1
- package/lib/typescript/api/source/ads/Ads.d.ts +0 -1
- package/lib/typescript/api/source/ads/Ads.d.ts.map +1 -1
- package/lib/typescript/api/source/ads/TheoAdDescription.d.ts +3 -3
- package/lib/typescript/api/source/ads/ssai/GoogleDAIConfiguration.d.ts +2 -1
- package/lib/typescript/api/source/ads/ssai/GoogleDAIConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/source/cmcd/CmcdConfiguration.d.ts +5 -10
- package/lib/typescript/api/source/cmcd/CmcdConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/source/dash/DashPlaybackConfiguration.d.ts +10 -16
- package/lib/typescript/api/source/dash/DashPlaybackConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/source/hls/HlsPlaybackConfiguration.d.ts +0 -3
- package/lib/typescript/api/source/hls/HlsPlaybackConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/theoads/TheoAdsAPI.d.ts +1 -2
- package/lib/typescript/api/theoads/TheoAdsAPI.d.ts.map +1 -1
- package/lib/typescript/api/theolive/TheoLiveConfiguration.d.ts +4 -8
- package/lib/typescript/api/theolive/TheoLiveConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/track/TextTrackStyle.d.ts +11 -9
- package/lib/typescript/api/track/TextTrackStyle.d.ts.map +1 -1
- package/lib/typescript/internal/THEOplayerView.d.ts.map +1 -1
- package/lib/typescript/internal/adapter/WebEventForwarder.d.ts.map +1 -1
- package/lib/typescript/internal/adapter/event/PlayerEvents.d.ts +9 -3
- package/lib/typescript/internal/adapter/event/PlayerEvents.d.ts.map +1 -1
- package/lib/typescript/internal/adapter/event/native/NativePlayerEvent.d.ts +12 -0
- package/lib/typescript/internal/adapter/event/native/NativePlayerEvent.d.ts.map +1 -1
- package/lib/typescript/plugins/expo/withTHEOplayer.d.ts +4 -0
- package/lib/typescript/plugins/expo/withTHEOplayer.d.ts.map +1 -0
- package/lib/typescript/plugins/expo/withTHEOplayerAndroid.d.ts +8 -0
- package/lib/typescript/plugins/expo/withTHEOplayerAndroid.d.ts.map +1 -0
- package/lib/typescript/plugins/typedoc-platform-icons/src/index.d.ts +3 -0
- package/lib/typescript/plugins/typedoc-platform-icons/src/index.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/api/THEOplayerView.ts +1 -2
- package/src/api/abr/ABRConfiguration.ts +8 -12
- package/src/api/ads/AdsConfiguration.ts +5 -5
- package/src/api/ads/GoogleImaAd.ts +2 -4
- package/src/api/ads/GoogleImaConfiguration.ts +6 -3
- package/src/api/ads/Omid.ts +1 -0
- package/src/api/backgroundAudio/BackgroundAudioConfiguration.ts +4 -2
- package/src/api/cache/CachingTask.ts +2 -1
- package/src/api/cache/CachingTaskParameters.ts +10 -9
- package/src/api/config/PlayerConfiguration.ts +9 -11
- package/src/api/event/AdEvent.ts +4 -8
- package/src/api/event/PlayerEvent.ts +15 -2
- package/src/api/media/MediaControlConfiguration.ts +2 -4
- package/src/api/millicast/MillicastConnectOptions.ts +5 -1
- package/src/api/pip/PiPConfiguration.ts +11 -1
- package/src/api/playback/PlaybackSettingsAPI.ts +3 -6
- package/src/api/player/THEOplayer.ts +5 -9
- package/src/api/source/SourceDescription.ts +12 -27
- package/src/api/source/ads/Ads.ts +0 -1
- package/src/api/source/ads/TheoAdDescription.ts +3 -3
- package/src/api/source/ads/ssai/GoogleDAIConfiguration.ts +2 -1
- package/src/api/source/cmcd/CmcdConfiguration.ts +5 -10
- package/src/api/source/dash/DashPlaybackConfiguration.ts +10 -16
- package/src/api/source/hls/HlsPlaybackConfiguration.ts +0 -3
- package/src/api/theoads/TheoAdsAPI.ts +1 -2
- package/src/api/theolive/TheoLiveConfiguration.ts +4 -8
- package/src/api/track/TextTrackStyle.ts +11 -9
- package/src/internal/THEOplayerView.tsx +10 -6
- package/src/internal/adapter/WebEventForwarder.ts +8 -4
- package/src/internal/adapter/event/PlayerEvents.ts +17 -2
- package/src/internal/adapter/event/native/NativePlayerEvent.ts +14 -0
- package/src/manifest.json +1 -1
- package/src/plugins/expo/withTHEOplayer.ts +9 -0
- package/src/plugins/expo/withTHEOplayerAndroid.ts +58 -0
- package/src/plugins/typedoc-platform-icons/package-lock.json +237 -0
- package/src/plugins/typedoc-platform-icons/package.json +20 -0
- package/src/plugins/typedoc-platform-icons/src/index.tsx +90 -0
- package/src/plugins/typedoc-platform-icons/tsconfig.json +24 -0
|
@@ -12,11 +12,10 @@ export interface PlaybackSettingsAPI {
|
|
|
12
12
|
* </ul>
|
|
13
13
|
*
|
|
14
14
|
* @experimental
|
|
15
|
+
*
|
|
15
16
|
* @param {boolean} useFastStartup Whether fast startup is enabled.
|
|
16
17
|
*
|
|
17
|
-
* @
|
|
18
|
-
* - This API is experimental.
|
|
19
|
-
* - This property is supported on Android platforms only.
|
|
18
|
+
* @platform android
|
|
20
19
|
*/
|
|
21
20
|
useFastStartup(useFastStartup: boolean): void;
|
|
22
21
|
|
|
@@ -31,9 +30,7 @@ export interface PlaybackSettingsAPI {
|
|
|
31
30
|
* @param {number} correctionMs The correction delay in milliseconds.
|
|
32
31
|
* Positive values advance the audio, while negative values delay it.
|
|
33
32
|
*
|
|
34
|
-
* @
|
|
35
|
-
* - This API is experimental.
|
|
36
|
-
* - This property is supported on Android platforms only.
|
|
33
|
+
* @platform android
|
|
37
34
|
*/
|
|
38
35
|
setLipSyncCorrection(correctionMs: number): void;
|
|
39
36
|
}
|
|
@@ -157,9 +157,6 @@ export interface THEOplayer extends EventDispatcher<PlayerEventMap> {
|
|
|
157
157
|
|
|
158
158
|
/**
|
|
159
159
|
* The text track style API.
|
|
160
|
-
*
|
|
161
|
-
* @remarks
|
|
162
|
-
* Only available for Web.
|
|
163
160
|
*/
|
|
164
161
|
readonly textTrackStyle: TextTrackStyle;
|
|
165
162
|
|
|
@@ -186,8 +183,7 @@ export interface THEOplayer extends EventDispatcher<PlayerEventMap> {
|
|
|
186
183
|
/**
|
|
187
184
|
* Used to set the aspect ratio of the player.
|
|
188
185
|
*
|
|
189
|
-
* @
|
|
190
|
-
* Only available for iOS and Android.
|
|
186
|
+
* @platform ios,android
|
|
191
187
|
*/
|
|
192
188
|
aspectRatio: AspectRatio;
|
|
193
189
|
|
|
@@ -195,8 +191,8 @@ export interface THEOplayer extends EventDispatcher<PlayerEventMap> {
|
|
|
195
191
|
* Specifies where the player is displaying the video.
|
|
196
192
|
*
|
|
197
193
|
* @defaultValue `SURFACE_VIEW`
|
|
198
|
-
*
|
|
199
|
-
*
|
|
194
|
+
*
|
|
195
|
+
* @platform android
|
|
200
196
|
*/
|
|
201
197
|
renderingTarget?: RenderingTarget;
|
|
202
198
|
|
|
@@ -204,8 +200,8 @@ export interface THEOplayer extends EventDispatcher<PlayerEventMap> {
|
|
|
204
200
|
* Toggle the wake-lock on the player view. The screen will time out if disabled.
|
|
205
201
|
*
|
|
206
202
|
* @defaultValue `true`
|
|
207
|
-
*
|
|
208
|
-
*
|
|
203
|
+
*
|
|
204
|
+
* @platform android
|
|
209
205
|
*/
|
|
210
206
|
keepScreenOn: boolean;
|
|
211
207
|
|
|
@@ -54,8 +54,7 @@ export enum SourceIntegrationId {
|
|
|
54
54
|
/**
|
|
55
55
|
* The playback pipeline to use to play a stream.
|
|
56
56
|
*
|
|
57
|
-
* @
|
|
58
|
-
* <br/> - Available on Android only.
|
|
57
|
+
* @platform android
|
|
59
58
|
*/
|
|
60
59
|
export enum PlaybackPipeline {
|
|
61
60
|
LEGACY = 'legacy',
|
|
@@ -262,8 +261,7 @@ export interface TextTrackDescription {
|
|
|
262
261
|
*
|
|
263
262
|
* @internal
|
|
264
263
|
*
|
|
265
|
-
* @
|
|
266
|
-
* <br/> - Available on iOS.
|
|
264
|
+
* @platform ios
|
|
267
265
|
*/
|
|
268
266
|
subtitlePTS?: string;
|
|
269
267
|
|
|
@@ -271,8 +269,10 @@ export interface TextTrackDescription {
|
|
|
271
269
|
* The localTime that matches the PTS value that is used to sync the track with the video.
|
|
272
270
|
*
|
|
273
271
|
* @internal
|
|
272
|
+
*
|
|
273
|
+
* @platform ios
|
|
274
|
+
*
|
|
274
275
|
* @remarks
|
|
275
|
-
* <br/> - Available on iOS.
|
|
276
276
|
* <br/> - Format: "HH:mm:mm:SSS"
|
|
277
277
|
* <br/> - Default value is "00:00:00:000"
|
|
278
278
|
*/
|
|
@@ -304,8 +304,7 @@ export interface BaseSource {
|
|
|
304
304
|
* The offset in seconds used to determine the live point.
|
|
305
305
|
* This live point is the end of the manifest minus the provided offset.
|
|
306
306
|
*
|
|
307
|
-
* @
|
|
308
|
-
* <br/> - Available on Web and Android.
|
|
307
|
+
* @platform web,android
|
|
309
308
|
*
|
|
310
309
|
* @defaultValue Three times the segment's target duration.
|
|
311
310
|
*/
|
|
@@ -315,7 +314,6 @@ export interface BaseSource {
|
|
|
315
314
|
* The URL of a time server used by the player to synchronise the time in DASH sources.
|
|
316
315
|
*
|
|
317
316
|
* @remarks
|
|
318
|
-
* <br/> - Available since v2.47.0.
|
|
319
317
|
* <br/> - The time server should return time in ISO-8601 format.
|
|
320
318
|
* <br/> - Overrides the time server provided the DASH manifest's `<UTCTiming>`.
|
|
321
319
|
* <br/> - Only this source will use the time server. Alternatively, for all source use {@link SourceConfiguration.timeServer}.
|
|
@@ -329,7 +327,6 @@ export interface BaseSource {
|
|
|
329
327
|
*
|
|
330
328
|
* @remarks
|
|
331
329
|
* <br/> - This setting must be `true` when using Low-Latency CMAF with ABR.
|
|
332
|
-
* <br/> - Available since v2.62.0.
|
|
333
330
|
*/
|
|
334
331
|
lowLatency?: boolean;
|
|
335
332
|
|
|
@@ -337,7 +334,6 @@ export interface BaseSource {
|
|
|
337
334
|
* The configuration for controlling playback of an MPEG-DASH stream.
|
|
338
335
|
*
|
|
339
336
|
* @remarks
|
|
340
|
-
* <br/> - Available since v2.79.0.
|
|
341
337
|
* <br/> - Ignored for non-DASH streams.
|
|
342
338
|
*/
|
|
343
339
|
dash?: DashPlaybackConfiguration;
|
|
@@ -346,7 +342,6 @@ export interface BaseSource {
|
|
|
346
342
|
* The configuration for controlling playback of an HLS stream.
|
|
347
343
|
*
|
|
348
344
|
* @remarks
|
|
349
|
-
* <br/> - Available since v2.82.0.
|
|
350
345
|
* <br/> - Ignored for non-HLS streams.
|
|
351
346
|
*/
|
|
352
347
|
hls?: HlsPlaybackConfiguration;
|
|
@@ -355,9 +350,9 @@ export interface BaseSource {
|
|
|
355
350
|
* The playback pipeline to use for this stream.
|
|
356
351
|
*
|
|
357
352
|
* @defaultValue [PlaybackPipeline.MEDIA3]
|
|
358
|
-
* @since v9.0.0
|
|
359
|
-
* @
|
|
360
|
-
*
|
|
353
|
+
* @since React Native THEOplayer SDK v9.0.0.
|
|
354
|
+
* @since Native THEOplayer SDK v9.0.0.
|
|
355
|
+
* @platform android
|
|
361
356
|
*/
|
|
362
357
|
playbackPipeline?: PlaybackPipeline;
|
|
363
358
|
}
|
|
@@ -373,7 +368,6 @@ export interface TypedSource extends BaseSource {
|
|
|
373
368
|
*
|
|
374
369
|
* @remarks
|
|
375
370
|
* <br/> - Required if the `ssai` property is absent.
|
|
376
|
-
* <br/> - Available since v2.4.0.
|
|
377
371
|
*/
|
|
378
372
|
src?: string;
|
|
379
373
|
|
|
@@ -383,34 +377,25 @@ export interface TypedSource extends BaseSource {
|
|
|
383
377
|
* <br/> - `'application/x-mpegURL'` or `'application/vnd.apple.mpegurl'`: The media resource is an HLS stream.
|
|
384
378
|
* <br/> - `'video/mp4'`, `'video/webm'` and other formats: The media resource should use native HTML5 playback if supported by the browser.
|
|
385
379
|
* <br/> - `'application/vnd.theo.hesp+json'`: The media resource is an HESP stream.
|
|
386
|
-
*
|
|
387
|
-
* @remarks
|
|
388
|
-
* <br/> - Available since v2.4.0.
|
|
389
380
|
*/
|
|
390
381
|
type?: string;
|
|
391
382
|
|
|
392
383
|
/**
|
|
393
384
|
* The content protection parameters for the media resource.
|
|
394
|
-
*
|
|
395
|
-
* @remarks
|
|
396
|
-
* <br/> - Available since v2.15.0.
|
|
397
385
|
*/
|
|
398
386
|
contentProtection?: DRMConfiguration;
|
|
399
387
|
|
|
400
388
|
/**
|
|
401
389
|
* The headers included in the request when retrieving the resource.
|
|
402
390
|
*
|
|
403
|
-
* @
|
|
404
|
-
*
|
|
405
|
-
*
|
|
391
|
+
* @platform ios,android
|
|
392
|
+
*
|
|
393
|
+
* @since React Native THEOplayer SDK v7.9.0.
|
|
406
394
|
*/
|
|
407
395
|
headers?: { [key: string]: string };
|
|
408
396
|
|
|
409
397
|
/**
|
|
410
398
|
* The Server-side Ad Insertion parameters for the media resource.
|
|
411
|
-
*
|
|
412
|
-
* @remarks
|
|
413
|
-
* <br/> - Available since v2.12.0.
|
|
414
399
|
*/
|
|
415
400
|
ssai?: ServerSideAdInsertionConfiguration;
|
|
416
401
|
}
|
|
@@ -78,7 +78,6 @@ export interface AdDescription {
|
|
|
78
78
|
* @remarks
|
|
79
79
|
* <br/> - A timestamp which is not in the playback window will result in the ad break not being started.
|
|
80
80
|
* <br/> - VMAP resources will ignore this value as they contain an internal offset.
|
|
81
|
-
* <br/> - Since 2.18, numbers are supported for the Google IMA integration, since 2.21 other formats as well.
|
|
82
81
|
*
|
|
83
82
|
* @defaultValue `'start'`
|
|
84
83
|
*
|
|
@@ -75,9 +75,9 @@ export interface TheoAdDescription extends AdDescription {
|
|
|
75
75
|
/**
|
|
76
76
|
* The streamActivityMonitorId added to the GAM Pod stream request.
|
|
77
77
|
*
|
|
78
|
-
* @
|
|
79
|
-
*
|
|
80
|
-
*
|
|
78
|
+
* @platform web
|
|
79
|
+
*
|
|
80
|
+
* @since React Native THEOplayer SDK v8.17.0.
|
|
81
81
|
*/
|
|
82
82
|
streamActivityMonitorId?: string;
|
|
83
83
|
|
|
@@ -71,10 +71,11 @@ export interface GoogleDAIConfiguration extends ServerSideAdInsertionConfigurati
|
|
|
71
71
|
/**
|
|
72
72
|
* The network code for the publisher making this stream request.
|
|
73
73
|
*
|
|
74
|
+
* @platform web
|
|
75
|
+
*
|
|
74
76
|
* @remarks
|
|
75
77
|
* <br/> - See {@link https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/html5/reference/js/StreamRequest#networkCode}
|
|
76
78
|
* for more information.
|
|
77
|
-
* <br/> - Available on Web only.
|
|
78
79
|
*/
|
|
79
80
|
networkCode?: string;
|
|
80
81
|
}
|
|
@@ -6,16 +6,14 @@ export interface CmcdConfiguration {
|
|
|
6
6
|
/**
|
|
7
7
|
* The content ID parameter which should be passed as a CMCD value. If left empty, no content ID will be sent.
|
|
8
8
|
*
|
|
9
|
-
* @
|
|
10
|
-
* Web only
|
|
9
|
+
* @platform web
|
|
11
10
|
*/
|
|
12
11
|
contentID?: string;
|
|
13
12
|
|
|
14
13
|
/**
|
|
15
14
|
* The session ID parameter which should be passed as a CMCD value. If left empty, a UUIDv4 will be generated when applying the configuration.
|
|
16
15
|
*
|
|
17
|
-
* @
|
|
18
|
-
* Web only
|
|
16
|
+
* @platform web
|
|
19
17
|
*/
|
|
20
18
|
sessionID?: string;
|
|
21
19
|
|
|
@@ -23,8 +21,7 @@ export interface CmcdConfiguration {
|
|
|
23
21
|
* A flag to indicate if request IDs should be sent or not.
|
|
24
22
|
* When set to a truthy value, a UUIDv4 will be sent as a request id (`rid`) with every request to allow for request tracing.
|
|
25
23
|
*
|
|
26
|
-
* @
|
|
27
|
-
* Web only
|
|
24
|
+
* @platform web
|
|
28
25
|
*/
|
|
29
26
|
sendRequestID?: boolean;
|
|
30
27
|
|
|
@@ -32,8 +29,7 @@ export interface CmcdConfiguration {
|
|
|
32
29
|
* The target URI where client data is to be delivered in case the {@link transmissionMode} is set
|
|
33
30
|
* to {@link CmcdTransmissionMode.JSON_OBJECT}.
|
|
34
31
|
*
|
|
35
|
-
* @
|
|
36
|
-
* Web only
|
|
32
|
+
* @platform web
|
|
37
33
|
*/
|
|
38
34
|
jsonObjectTargetURI?: string;
|
|
39
35
|
|
|
@@ -42,8 +38,7 @@ export interface CmcdConfiguration {
|
|
|
42
38
|
* Note custom keys MUST carry a hyphenated prefix to ensure that there will not be a namespace collision with future
|
|
43
39
|
* revisions to the specification. Clients SHOULD use a reverse-DNS syntax when defining their own prefix.
|
|
44
40
|
*
|
|
45
|
-
* @
|
|
46
|
-
* Web only
|
|
41
|
+
* @platform web
|
|
47
42
|
*/
|
|
48
43
|
customKeys?: {
|
|
49
44
|
[key: string]: string | number | boolean;
|
|
@@ -15,17 +15,13 @@ export type SeamlessPeriodSwitchStrategy = 'auto' | 'always' | 'never';
|
|
|
15
15
|
/**
|
|
16
16
|
* Represents a configuration for controlling playback of an MPEG-DASH stream.
|
|
17
17
|
*
|
|
18
|
-
* @remarks
|
|
19
|
-
* <br/> - Available since v2.79.0.
|
|
20
|
-
*
|
|
21
18
|
* @public
|
|
22
19
|
*/
|
|
23
20
|
export interface DashPlaybackConfiguration {
|
|
24
21
|
/**
|
|
25
22
|
* Whether to seamlessly switch between DASH periods.
|
|
26
23
|
*
|
|
27
|
-
* @
|
|
28
|
-
* <br/> - Available on Web only.
|
|
24
|
+
* @platform web
|
|
29
25
|
*
|
|
30
26
|
* The player supports two strategies for handling a switch between two periods in an MPEG-DASH stream:
|
|
31
27
|
* <br/> - <strong>Seamless</strong>: Once the player is done buffering the current period, it immediately starts buffering the next period.
|
|
@@ -49,9 +45,9 @@ export interface DashPlaybackConfiguration {
|
|
|
49
45
|
* (Experimental) Whether the timescales of the media data need to be shifted,
|
|
50
46
|
* in order to work around platform-specific issues on certain smart TV platforms.
|
|
51
47
|
*
|
|
48
|
+
* @platform android
|
|
49
|
+
*
|
|
52
50
|
* @remarks
|
|
53
|
-
* <br/> - Available since v4.1.0.
|
|
54
|
-
* <br/> - Available on Web only.
|
|
55
51
|
* <br/> - On certain smart TV platforms (such as Tizen 2), playback issues may arise when
|
|
56
52
|
* the timescale of the media data changes across periods or discontinuities.
|
|
57
53
|
* In that case, the player may need to shift all the timescales first,
|
|
@@ -66,9 +62,9 @@ export interface DashPlaybackConfiguration {
|
|
|
66
62
|
/**
|
|
67
63
|
* (Experimental) The desired timescale to which the media data should be shifted.
|
|
68
64
|
*
|
|
65
|
+
* @platform web
|
|
66
|
+
*
|
|
69
67
|
* @remarks
|
|
70
|
-
* <br/> - Available since v4.11.0.
|
|
71
|
-
* <br/> - Available on Web only.
|
|
72
68
|
* <br/> - When specified, if the player decides to shift the timescale (see {@link DashPlaybackConfiguration.needsTimescaleShifting}), the timescale will be set to the
|
|
73
69
|
* given desired timescale.
|
|
74
70
|
* <br/> - When not specified, if the player decides to shift timescale, the player will decide the timescale to which it should shift.
|
|
@@ -82,8 +78,7 @@ export interface DashPlaybackConfiguration {
|
|
|
82
78
|
*
|
|
83
79
|
* @internal
|
|
84
80
|
*
|
|
85
|
-
* @
|
|
86
|
-
* <br/> - Available on Web only.
|
|
81
|
+
* @platform web
|
|
87
82
|
*/
|
|
88
83
|
forceSeekToSynchronize?: boolean;
|
|
89
84
|
|
|
@@ -91,9 +86,9 @@ export interface DashPlaybackConfiguration {
|
|
|
91
86
|
* (Experimental) Force the player to ignore the availability window of individual segments in the MPD,
|
|
92
87
|
* and instead consider every listed segment to be immediately available.
|
|
93
88
|
*
|
|
89
|
+
* @platform web,android
|
|
90
|
+
*
|
|
94
91
|
* @remarks
|
|
95
|
-
* <br/> - Available since v5.2.0.
|
|
96
|
-
* <br/> - Available on Web and Android.
|
|
97
92
|
* <br/> - This only applies to livestreams (with `<MPD type="dynamic">`).
|
|
98
93
|
* <br/> - This only applies to streams that use `<SegmentTimeline>`.
|
|
99
94
|
*/
|
|
@@ -102,10 +97,9 @@ export interface DashPlaybackConfiguration {
|
|
|
102
97
|
/**
|
|
103
98
|
* A flag to indicate whether timestamps of segmented WebVTT subtitles are relative to the segment start time.
|
|
104
99
|
*
|
|
105
|
-
* @
|
|
106
|
-
* <br/> - Available on Web only.
|
|
100
|
+
* @platform web
|
|
107
101
|
*
|
|
108
|
-
*
|
|
102
|
+
* @defaultValue `true`
|
|
109
103
|
*/
|
|
110
104
|
segmentRelativeVttTiming?: boolean;
|
|
111
105
|
}
|
|
@@ -23,9 +23,6 @@ export type HlsDiscontinuityAlignment = 'auto' | 'playlist' | 'media';
|
|
|
23
23
|
/**
|
|
24
24
|
* Represents a configuration for controlling playback of an MPEG-DASH stream.
|
|
25
25
|
*
|
|
26
|
-
* @remarks
|
|
27
|
-
* <br/> - Available since v2.82.0.
|
|
28
|
-
*
|
|
29
26
|
* @public
|
|
30
27
|
*/
|
|
31
28
|
export interface HlsPlaybackConfiguration {
|
|
@@ -7,32 +7,28 @@ export interface TheoLiveConfiguration {
|
|
|
7
7
|
/**
|
|
8
8
|
* An id used to report usage analytics, if not explicitly given a random UUID is used.
|
|
9
9
|
*
|
|
10
|
-
* @
|
|
11
|
-
* <br/> - Available on Web and Android only.
|
|
10
|
+
* @platform web,android
|
|
12
11
|
*/
|
|
13
12
|
readonly externalSessionId?: string;
|
|
14
13
|
|
|
15
14
|
/**
|
|
16
15
|
* Whether this player should fallback or not when it has a fallback configured.
|
|
17
16
|
*
|
|
18
|
-
* @
|
|
19
|
-
* <br/> - Available on Web only.
|
|
17
|
+
* @platform web
|
|
20
18
|
*/
|
|
21
19
|
readonly fallbackEnabled?: boolean;
|
|
22
20
|
|
|
23
21
|
/**
|
|
24
22
|
* An optional header that can be passed during discovery.
|
|
25
23
|
*
|
|
26
|
-
* @
|
|
27
|
-
* <br/> - Available on Web only.
|
|
24
|
+
* @platform web
|
|
28
25
|
*/
|
|
29
26
|
readonly discoveryHeader?: string;
|
|
30
27
|
|
|
31
28
|
/**
|
|
32
29
|
* Whether THEOlive analytics should be disabled or not.
|
|
33
30
|
*
|
|
34
|
-
* @
|
|
35
|
-
* <br/> - Available on Android only.
|
|
31
|
+
* @platform android
|
|
36
32
|
*
|
|
37
33
|
* @defaultValue `false`
|
|
38
34
|
*/
|
|
@@ -15,7 +15,7 @@ export interface TextTrackStyle {
|
|
|
15
15
|
* @example
|
|
16
16
|
* <br/> - `red` will set the color of the text to red.
|
|
17
17
|
* <br/> - `#ff0000` will set the color of the text to red.
|
|
18
|
-
* <br/> - Available
|
|
18
|
+
* <br/> - Available for Web only: `rgba(255,0,0,0.5)` will set the color of the text to red, with 50% opacity.
|
|
19
19
|
*/
|
|
20
20
|
fontColor: string | undefined;
|
|
21
21
|
|
|
@@ -36,21 +36,22 @@ export interface TextTrackStyle {
|
|
|
36
36
|
* @example
|
|
37
37
|
* <br/> - `red` will set the background color of the text track to red.
|
|
38
38
|
* <br/> - `#ff0000` will set the background color of the text track to red.
|
|
39
|
-
* <br/> - Available
|
|
39
|
+
* <br/> - Available for Web only: `rgba(255,0,0,0.5)` will set the background color of the text track to red, with 50% opacity.
|
|
40
40
|
*/
|
|
41
41
|
backgroundColor: string | undefined;
|
|
42
42
|
|
|
43
43
|
/**
|
|
44
44
|
* The window color for the text track.
|
|
45
45
|
*
|
|
46
|
+
* @platform web,android
|
|
47
|
+
*
|
|
46
48
|
* @remarks
|
|
47
49
|
* <br/> - This targets the area covering the full width of the text track.
|
|
48
|
-
* <br/> - Available on Web and Android only.
|
|
49
50
|
*
|
|
50
51
|
* @example
|
|
51
52
|
* <br/> - `red` will set the background color of the window of the text track to red.
|
|
52
53
|
* <br/> - `#ff0000` will set the background color of the window of the text track to red.
|
|
53
|
-
* <br/> - Available
|
|
54
|
+
* <br/> - Available for Web only: `rgba(255,0,0,0.5)` will set the background color of the window of the text track to red, with 50% opacity.
|
|
54
55
|
*/
|
|
55
56
|
windowColor: string | undefined;
|
|
56
57
|
|
|
@@ -60,15 +61,14 @@ export interface TextTrackStyle {
|
|
|
60
61
|
* <br/> - `'dropshadow'`
|
|
61
62
|
* <br/> - `'raised'`
|
|
62
63
|
* <br/> - `'depressed'`
|
|
63
|
-
* <br/> - `'uniform`
|
|
64
|
+
* <br/> - `'uniform'`
|
|
64
65
|
*/
|
|
65
66
|
edgeStyle: EdgeStyle | undefined;
|
|
66
67
|
|
|
67
68
|
/**
|
|
68
69
|
* The edge color for the text track.
|
|
69
70
|
*
|
|
70
|
-
* @
|
|
71
|
-
* <br/> - Available on Android only.
|
|
71
|
+
* @platform android
|
|
72
72
|
*/
|
|
73
73
|
edgeColor: string | undefined;
|
|
74
74
|
|
|
@@ -83,9 +83,10 @@ export interface TextTrackStyle {
|
|
|
83
83
|
/**
|
|
84
84
|
* The bottom margin of the area where subtitles are being rendered.
|
|
85
85
|
*
|
|
86
|
+
* @platform web,android
|
|
87
|
+
*
|
|
86
88
|
* @remarks
|
|
87
89
|
* <br/> - The margin is in number of pixels.
|
|
88
|
-
* <br/> - Available on Web only.
|
|
89
90
|
*/
|
|
90
91
|
marginBottom: number | undefined;
|
|
91
92
|
/**
|
|
@@ -98,10 +99,11 @@ export interface TextTrackStyle {
|
|
|
98
99
|
/**
|
|
99
100
|
* The right margin of the area where subtitles are being rendered.
|
|
100
101
|
*
|
|
102
|
+
* @platform web,android
|
|
103
|
+
*
|
|
101
104
|
* @remarks
|
|
102
105
|
* <br/> - The margin is in number of pixels.
|
|
103
106
|
* <br/> - Useful for pushing the subtitles left, so they don't overlap with the UI.
|
|
104
|
-
* <br/> - Available on Web only.
|
|
105
107
|
*/
|
|
106
108
|
marginRight: number | undefined;
|
|
107
109
|
}
|
|
@@ -39,6 +39,8 @@ import {
|
|
|
39
39
|
DefaultVolumeChangeEvent,
|
|
40
40
|
DefaultTimeupdateEvent,
|
|
41
41
|
DefaultResizeEvent,
|
|
42
|
+
DefaultSeekingEvent,
|
|
43
|
+
DefaultSeekedEvent,
|
|
42
44
|
} from './adapter/event/PlayerEvents';
|
|
43
45
|
import type { NativeCastEvent } from './adapter/event/native/NativeCastEvent';
|
|
44
46
|
import type {
|
|
@@ -61,6 +63,8 @@ import type {
|
|
|
61
63
|
NativeTimeUpdateEvent,
|
|
62
64
|
NativeVolumeChangeEvent,
|
|
63
65
|
NativeResizeEvent,
|
|
66
|
+
NativeSeekingEvent,
|
|
67
|
+
NativeSeekedEvent,
|
|
64
68
|
} from './adapter/event/native/NativePlayerEvent';
|
|
65
69
|
import type { NativeAdEvent } from './adapter/event/native/NativeAdEvent';
|
|
66
70
|
import { THEOplayerAdapter } from './adapter/THEOplayerAdapter';
|
|
@@ -86,8 +90,8 @@ interface THEOplayerRCTViewProps {
|
|
|
86
90
|
onNativePlay: () => void;
|
|
87
91
|
onNativePlaying: () => void;
|
|
88
92
|
onNativePause: () => void;
|
|
89
|
-
onNativeSeeking: () => void;
|
|
90
|
-
onNativeSeeked: () => void;
|
|
93
|
+
onNativeSeeking: (event: NativeSyntheticEvent<NativeSeekingEvent>) => void;
|
|
94
|
+
onNativeSeeked: (event: NativeSyntheticEvent<NativeSeekedEvent>) => void;
|
|
91
95
|
onNativeEnded: () => void;
|
|
92
96
|
onNativeWaiting: () => void;
|
|
93
97
|
onNativeTimeUpdate: (event: NativeSyntheticEvent<NativeTimeUpdateEvent>) => void;
|
|
@@ -236,12 +240,12 @@ export class THEOplayerView extends PureComponent<React.PropsWithChildren<THEOpl
|
|
|
236
240
|
this._facade.dispatchEvent(new BaseEvent(PlayerEventType.PAUSE));
|
|
237
241
|
};
|
|
238
242
|
|
|
239
|
-
private _onSeeking = () => {
|
|
240
|
-
this._facade.dispatchEvent(new
|
|
243
|
+
private _onSeeking = (event: NativeSyntheticEvent<NativeSeekingEvent>) => {
|
|
244
|
+
this._facade.dispatchEvent(new DefaultSeekingEvent(event.nativeEvent.currentTime));
|
|
241
245
|
};
|
|
242
246
|
|
|
243
|
-
private _onSeeked = () => {
|
|
244
|
-
this._facade.dispatchEvent(new
|
|
247
|
+
private _onSeeked = (event: NativeSyntheticEvent<NativeSeekedEvent>) => {
|
|
248
|
+
this._facade.dispatchEvent(new DefaultSeekedEvent(event.nativeEvent.currentTime));
|
|
245
249
|
};
|
|
246
250
|
|
|
247
251
|
private _onWaiting = () => {
|
|
@@ -10,6 +10,8 @@ import type {
|
|
|
10
10
|
RateChangeEvent as NativeRateChangeEvent,
|
|
11
11
|
ReadyStateChangeEvent as NativeReadyStateChangeEvent,
|
|
12
12
|
RemoveTrackEvent,
|
|
13
|
+
SeekingEvent as NativeSeekingEvent,
|
|
14
|
+
SeekedEvent as NativeSeekedEvent,
|
|
13
15
|
TextTrack as NativeTextTrack,
|
|
14
16
|
TextTrackCue as NativeTextTrackCue,
|
|
15
17
|
TimeUpdateEvent as NativeTimeUpdateEvent,
|
|
@@ -48,6 +50,8 @@ import {
|
|
|
48
50
|
DefaultRateChangeEvent,
|
|
49
51
|
DefaultReadyStateChangeEvent,
|
|
50
52
|
DefaultResizeEvent,
|
|
53
|
+
DefaultSeekedEvent,
|
|
54
|
+
DefaultSeekingEvent,
|
|
51
55
|
DefaultSegmentNotFoundEvent,
|
|
52
56
|
DefaultTextTrackEvent,
|
|
53
57
|
DefaultTextTrackListEvent,
|
|
@@ -211,12 +215,12 @@ export class WebEventForwarder {
|
|
|
211
215
|
this._facade.dispatchEvent(new BaseEvent(PlayerEventType.PAUSE));
|
|
212
216
|
};
|
|
213
217
|
|
|
214
|
-
private readonly onSeeking = () => {
|
|
215
|
-
this._facade.dispatchEvent(new
|
|
218
|
+
private readonly onSeeking = (event: NativeSeekingEvent) => {
|
|
219
|
+
this._facade.dispatchEvent(new DefaultSeekingEvent(event.currentTime * 1e3));
|
|
216
220
|
};
|
|
217
221
|
|
|
218
|
-
private readonly onSeeked = () => {
|
|
219
|
-
this._facade.dispatchEvent(new
|
|
222
|
+
private readonly onSeeked = (event: NativeSeekedEvent) => {
|
|
223
|
+
this._facade.dispatchEvent(new DefaultSeekedEvent(event.currentTime * 1e3));
|
|
220
224
|
};
|
|
221
225
|
|
|
222
226
|
private readonly onEnded = () => {
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
ChromecastErrorEvent,
|
|
13
13
|
DurationChangeEvent,
|
|
14
14
|
ErrorEvent,
|
|
15
|
+
Interstitial,
|
|
15
16
|
LoadedMetadataEvent,
|
|
16
17
|
MediaTrack,
|
|
17
18
|
MediaTrackEvent,
|
|
@@ -28,19 +29,21 @@ import {
|
|
|
28
29
|
RateChangeEvent,
|
|
29
30
|
ReadyStateChangeEvent,
|
|
30
31
|
ResizeEvent,
|
|
32
|
+
SeekedEvent,
|
|
33
|
+
SeekingEvent,
|
|
31
34
|
SegmentNotFoundEvent,
|
|
32
35
|
TextTrack,
|
|
33
36
|
TextTrackCue,
|
|
34
37
|
TextTrackEvent,
|
|
35
38
|
TextTrackEventType,
|
|
36
39
|
TextTrackListEvent,
|
|
40
|
+
TheoAdsEvent,
|
|
41
|
+
TheoAdsEventType,
|
|
37
42
|
TimeRange,
|
|
38
43
|
TimeUpdateEvent,
|
|
39
44
|
TrackListEventType,
|
|
40
45
|
VolumeChangeEvent,
|
|
41
46
|
} from 'react-native-theoplayer';
|
|
42
|
-
import { TheoAdsEvent, TheoAdsEventType } from '../../../api/event/TheoAdsEvent';
|
|
43
|
-
import { Interstitial } from '../../../api/theoads/interstitial/Interstitial';
|
|
44
47
|
|
|
45
48
|
export class DefaultLoadedMetadataEvent extends BaseEvent<PlayerEventType.LOADED_METADATA> implements LoadedMetadataEvent {
|
|
46
49
|
constructor(
|
|
@@ -136,6 +139,18 @@ export class DefaultSegmentNotFoundEvent extends BaseEvent<PlayerEventType.SEGME
|
|
|
136
139
|
}
|
|
137
140
|
}
|
|
138
141
|
|
|
142
|
+
export class DefaultSeekingEvent extends BaseEvent<PlayerEventType.SEEKING> implements SeekingEvent {
|
|
143
|
+
constructor(public readonly currentTime: number) {
|
|
144
|
+
super(PlayerEventType.SEEKING);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
export class DefaultSeekedEvent extends BaseEvent<PlayerEventType.SEEKED> implements SeekedEvent {
|
|
149
|
+
constructor(public readonly currentTime: number) {
|
|
150
|
+
super(PlayerEventType.SEEKED);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
139
154
|
export class DefaultTextTrackListEvent extends BaseEvent<PlayerEventType.TEXT_TRACK_LIST> implements TextTrackListEvent {
|
|
140
155
|
constructor(
|
|
141
156
|
public subType: TrackListEventType,
|
|
@@ -68,6 +68,20 @@ export interface NativeReadyStateChangeEvent {
|
|
|
68
68
|
readonly readyState: number;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
export interface NativeSeekingEvent {
|
|
72
|
+
/**
|
|
73
|
+
* The player's currentTime.
|
|
74
|
+
*/
|
|
75
|
+
readonly currentTime: number;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export interface NativeSeekedEvent {
|
|
79
|
+
/**
|
|
80
|
+
* The player's currentTime.
|
|
81
|
+
*/
|
|
82
|
+
readonly currentTime: number;
|
|
83
|
+
}
|
|
84
|
+
|
|
71
85
|
export interface NativePresentationModeChangeEvent {
|
|
72
86
|
/**
|
|
73
87
|
* The player's new presentation mode.
|
package/src/manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"9.
|
|
1
|
+
{"version":"9.4.0","buildDate":"2025-06-12T09:31:27.640Z"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ConfigPlugin } from '@expo/config-plugins';
|
|
2
|
+
import { withAndroidTHEOplayer } from './withTHEOplayerAndroid';
|
|
3
|
+
|
|
4
|
+
const withTHEOplayerAndroidWrapper: ConfigPlugin = (config, props: any) => {
|
|
5
|
+
// Apply Android modifications
|
|
6
|
+
return withAndroidTHEOplayer(config, props);
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export default withTHEOplayerAndroidWrapper;
|