react-native-theoplayer 10.12.1 → 11.0.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 (105) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/android/build.gradle +13 -7
  3. package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/11.0.0/ads-wrapper-11.0.0.aar +0 -0
  4. package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/{10.12.0/ads-wrapper-10.12.0.pom → 11.0.0/ads-wrapper-11.0.0.pom} +3 -3
  5. package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/maven-metadata-local.xml +4 -4
  6. package/android/src/main/java/com/theoplayer/PlayerConfigAdapter.kt +7 -7
  7. package/android/src/main/java/com/theoplayer/ads/AdAdapter.kt +7 -12
  8. package/android/src/main/java/com/theoplayer/ads/AdsModule.kt +23 -51
  9. package/android/src/main/java/com/theoplayer/cast/CastModule.kt +0 -1
  10. package/android/src/main/java/com/theoplayer/track/TrackListAdapter.kt +14 -17
  11. package/ios/ads/THEOplayerRCTAdAdapter.swift +2 -2
  12. package/ios/ads/THEOplayerRCTAdsNative.swift +1 -1
  13. package/ios/presentationMode/THEOplayerRCTPresentationModeManager.swift +3 -2
  14. package/lib/commonjs/api/event/PlayerEvent.js +0 -9
  15. package/lib/commonjs/api/event/PlayerEvent.js.map +1 -1
  16. package/lib/commonjs/api/player/PlayerEventMap.js +0 -1
  17. package/lib/commonjs/api/player/PlayerEventMap.js.map +1 -1
  18. package/lib/commonjs/api/source/SourceDescription.js +0 -80
  19. package/lib/commonjs/api/source/SourceDescription.js.map +1 -1
  20. package/lib/commonjs/api/track/TextTrack.js.map +1 -1
  21. package/lib/commonjs/internal/THEOplayerView.js +24 -7
  22. package/lib/commonjs/internal/THEOplayerView.js.map +1 -1
  23. package/lib/commonjs/internal/THEOplayerView.web.js +5 -3
  24. package/lib/commonjs/internal/THEOplayerView.web.js.map +1 -1
  25. package/lib/commonjs/internal/adapter/THEOplayerAdapter.js +0 -3
  26. package/lib/commonjs/internal/adapter/THEOplayerAdapter.js.map +1 -1
  27. package/lib/commonjs/internal/adapter/THEOplayerWebAdapter.js +0 -3
  28. package/lib/commonjs/internal/adapter/THEOplayerWebAdapter.js.map +1 -1
  29. package/lib/commonjs/internal/adapter/WebEventForwarder.js +0 -1
  30. package/lib/commonjs/internal/adapter/WebEventForwarder.js.map +1 -1
  31. package/lib/commonjs/internal/adapter/event/PlayerEvents.js +1 -13
  32. package/lib/commonjs/internal/adapter/event/PlayerEvents.js.map +1 -1
  33. package/lib/commonjs/internal/adapter/web/TrackUtils.js +3 -1
  34. package/lib/commonjs/internal/adapter/web/TrackUtils.js.map +1 -1
  35. package/lib/commonjs/internal/hooks/useIsAttached.js +48 -0
  36. package/lib/commonjs/internal/hooks/useIsAttached.js.map +1 -0
  37. package/lib/commonjs/manifest.json +1 -1
  38. package/lib/module/api/event/PlayerEvent.js +0 -10
  39. package/lib/module/api/event/PlayerEvent.js.map +1 -1
  40. package/lib/module/api/player/PlayerEventMap.js +0 -1
  41. package/lib/module/api/player/PlayerEventMap.js.map +1 -1
  42. package/lib/module/api/source/SourceDescription.js +1 -88
  43. package/lib/module/api/source/SourceDescription.js.map +1 -1
  44. package/lib/module/api/track/TextTrack.js.map +1 -1
  45. package/lib/module/internal/THEOplayerView.js +25 -8
  46. package/lib/module/internal/THEOplayerView.js.map +1 -1
  47. package/lib/module/internal/THEOplayerView.web.js +5 -3
  48. package/lib/module/internal/THEOplayerView.web.js.map +1 -1
  49. package/lib/module/internal/adapter/THEOplayerAdapter.js +0 -3
  50. package/lib/module/internal/adapter/THEOplayerAdapter.js.map +1 -1
  51. package/lib/module/internal/adapter/THEOplayerWebAdapter.js +0 -3
  52. package/lib/module/internal/adapter/THEOplayerWebAdapter.js.map +1 -1
  53. package/lib/module/internal/adapter/WebEventForwarder.js +1 -2
  54. package/lib/module/internal/adapter/WebEventForwarder.js.map +1 -1
  55. package/lib/module/internal/adapter/event/PlayerEvents.js +0 -11
  56. package/lib/module/internal/adapter/event/PlayerEvents.js.map +1 -1
  57. package/lib/module/internal/adapter/web/TrackUtils.js +3 -1
  58. package/lib/module/internal/adapter/web/TrackUtils.js.map +1 -1
  59. package/lib/module/internal/hooks/useIsAttached.js +43 -0
  60. package/lib/module/internal/hooks/useIsAttached.js.map +1 -0
  61. package/lib/module/manifest.json +1 -1
  62. package/lib/typescript/api/event/PlayerEvent.d.ts +0 -19
  63. package/lib/typescript/api/event/PlayerEvent.d.ts.map +1 -1
  64. package/lib/typescript/api/player/PlayerEventMap.d.ts +1 -11
  65. package/lib/typescript/api/player/PlayerEventMap.d.ts.map +1 -1
  66. package/lib/typescript/api/player/THEOplayer.d.ts +0 -6
  67. package/lib/typescript/api/player/THEOplayer.d.ts.map +1 -1
  68. package/lib/typescript/api/source/SourceDescription.d.ts +0 -20
  69. package/lib/typescript/api/source/SourceDescription.d.ts.map +1 -1
  70. package/lib/typescript/api/theolive/TheoLiveSource.d.ts +3 -3
  71. package/lib/typescript/api/theolive/TheoLiveSource.d.ts.map +1 -1
  72. package/lib/typescript/api/track/TextTrack.d.ts +11 -0
  73. package/lib/typescript/api/track/TextTrack.d.ts.map +1 -1
  74. package/lib/typescript/internal/THEOplayerView.d.ts +2 -1
  75. package/lib/typescript/internal/THEOplayerView.d.ts.map +1 -1
  76. package/lib/typescript/internal/THEOplayerView.web.d.ts.map +1 -1
  77. package/lib/typescript/internal/adapter/THEOplayerAdapter.d.ts +0 -1
  78. package/lib/typescript/internal/adapter/THEOplayerAdapter.d.ts.map +1 -1
  79. package/lib/typescript/internal/adapter/THEOplayerWebAdapter.d.ts +0 -1
  80. package/lib/typescript/internal/adapter/THEOplayerWebAdapter.d.ts.map +1 -1
  81. package/lib/typescript/internal/adapter/WebEventForwarder.d.ts.map +1 -1
  82. package/lib/typescript/internal/adapter/event/PlayerEvents.d.ts +1 -9
  83. package/lib/typescript/internal/adapter/event/PlayerEvents.d.ts.map +1 -1
  84. package/lib/typescript/internal/adapter/web/TrackUtils.d.ts.map +1 -1
  85. package/lib/typescript/internal/hooks/useIsAttached.d.ts +16 -0
  86. package/lib/typescript/internal/hooks/useIsAttached.d.ts.map +1 -0
  87. package/package.json +9 -9
  88. package/react-native-theoplayer.podspec +8 -8
  89. package/src/api/event/PlayerEvent.ts +0 -21
  90. package/src/api/player/PlayerEventMap.ts +0 -12
  91. package/src/api/player/THEOplayer.ts +0 -7
  92. package/src/api/source/SourceDescription.ts +0 -22
  93. package/src/api/theolive/TheoLiveSource.ts +3 -3
  94. package/src/api/track/TextTrack.ts +12 -0
  95. package/src/internal/THEOplayerView.tsx +27 -12
  96. package/src/internal/THEOplayerView.web.tsx +6 -4
  97. package/src/internal/adapter/THEOplayerAdapter.ts +0 -4
  98. package/src/internal/adapter/THEOplayerWebAdapter.ts +0 -4
  99. package/src/internal/adapter/WebEventForwarder.ts +0 -2
  100. package/src/internal/adapter/event/PlayerEvents.ts +0 -13
  101. package/src/internal/adapter/track/TextTrackStyleAdapter.ts +4 -4
  102. package/src/internal/adapter/web/TrackUtils.ts +2 -1
  103. package/src/internal/hooks/useIsAttached.ts +44 -0
  104. package/src/manifest.json +1 -1
  105. package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/10.12.0/ads-wrapper-10.12.0.aar +0 -0
package/CHANGELOG.md CHANGED
@@ -5,6 +5,36 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.1.0/)
6
6
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [11.0.0] - 26-04-16
9
+
10
+ ### Added
11
+
12
+ - Added support for player SDK v11. More info on the [migration documentation](./doc/migrating-to-react-native-theoplayer-11.md) page.
13
+ - Enabled core library desugaring for Android to support version 3.39.0 of the Google IMA SDK.
14
+ - Added `TextTrack.captionChannel` to retrieve the CEA-608 channel and/or CEA-708 service numbers of closed caption text tracks.
15
+
16
+ ### Changed
17
+
18
+ - Upgraded example app to React-Native v0.84.1.
19
+ - Changed the minimum supported iOS/tvOS version to 15.0, dropping support for iOS/tvOS 13 and 14.
20
+
21
+ ### Fixed
22
+
23
+ - Fixed an issue on Web where Google IMA could fail to initialize when used with `react-reverse-portal` due to the player container not being attached to the document yet.
24
+
25
+ ### Removed
26
+
27
+ - Removed deprecated `ResizeEvent` in favor of `DimensionChangeEvent`.
28
+ - Removed deprecated `player.theolive` property in favor of `player.theoLive`.
29
+ - Removed deprecated `source.integration` property in favor of `source.type`.
30
+
31
+ ## [10.13.0] - 26-03-27
32
+
33
+ ### Fixed
34
+
35
+ - Fixed an issue on Android where the Ads API would sometimes return an empty map instead of an array when querying the list of current ads or scheduled ad breaks.
36
+ - Fixed an issue on iOS where the transition from PiP to fullscreen was not smooth.
37
+
8
38
  ## [10.12.1] - 26-03-19
9
39
 
10
40
  ### Fixed
@@ -9,7 +9,7 @@ buildscript {
9
9
  }
10
10
 
11
11
  dependencies {
12
- classpath "com.android.tools.build:gradle:${safeExtGet('gradlePluginVersion', '8.12.3')}"
12
+ classpath "com.android.tools.build:gradle:${safeExtGet('gradlePluginVersion', '8.13.0')}"
13
13
  classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${safeExtGet('kotlinVersion', '2.2.10')}"
14
14
  }
15
15
  }
@@ -92,12 +92,16 @@ android {
92
92
  minifyEnabled false
93
93
  }
94
94
  }
95
+ buildFeatures {
96
+ buildConfig true
97
+ }
95
98
  lint {
96
99
  disable 'GradleCompatible'
97
100
  }
98
101
  compileOptions {
99
102
  sourceCompatibility JavaVersion.VERSION_1_8
100
103
  targetCompatibility JavaVersion.VERSION_1_8
104
+ coreLibraryDesugaringEnabled true
101
105
  }
102
106
  packagingOptions {
103
107
  exclude 'META-INF/kotlin-stdlib.kotlin_module'
@@ -122,15 +126,16 @@ repositories {
122
126
  mavenLocal()
123
127
  }
124
128
 
125
- // The minimum supported THEOplayer version is 10.12.0
126
- def theoVersion = safeExtGet('THEOplayer_sdk', '[10.12.0, 11.0.0)')
127
- def theoMediaSessionVersion = safeExtGet('THEOplayer_mediasession', '[8.0.0, 11.0.0)')
128
- def theoAdsWrapperVersion = "10.12.0"
129
+ // The minimum supported THEOplayer version is 11.0.0
130
+ def theoVersion = safeExtGet('THEOplayer_sdk', '[11.0.0, 12.0.0)')
131
+ def theoMediaSessionVersion = safeExtGet('THEOplayer_mediasession', '[11.0.0, 12.0.0)')
132
+ def theoAdsWrapperVersion = "11.0.0"
129
133
  def coroutinesVersion = safeExtGet('coroutinesVersion', '1.10.2')
130
134
  def appcompatVersion = safeExtGet('appcompatVersion', '1.7.1')
131
- def corektxVersion = safeExtGet('corektxVersion', '1.16.0')
132
- def gsonVersion = safeExtGet('gsonVersion', '2.13.1')
135
+ def corektxVersion = safeExtGet('corektxVersion', '1.17.0')
136
+ def gsonVersion = safeExtGet('gsonVersion', '2.13.2')
133
137
  def activityktxVersion = safeExtGet('activityktxVersion', '1.10.1')
138
+ def coreLibraryDesugaringVersion = safeExtGet('coreLibraryDesugaringVersion', '2.1.5')
134
139
 
135
140
  dependencies {
136
141
  def addOptiViewIntegration = { enabled, notation, additional = null ->
@@ -156,6 +161,7 @@ dependencies {
156
161
  implementation("androidx.core:core-ktx:$corektxVersion")
157
162
  implementation("androidx.activity:activity-ktx:$activityktxVersion")
158
163
  implementation("com.google.code.gson:gson:$gsonVersion")
164
+ coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:$coreLibraryDesugaringVersion")
159
165
 
160
166
  println("Using THEOplayer (${versionString(theoVersion)})")
161
167
  implementation("com.theoplayer.theoplayer-sdk-android:core:$theoVersion")
@@ -1,17 +1,17 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
3
3
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
4
- <modelVersion>10.12.0</modelVersion>
4
+ <modelVersion>11.0.0</modelVersion>
5
5
  <groupId>com.theoplayer.theoplayer-sdk-android</groupId>
6
6
  <artifactId>ads-wrapper</artifactId>
7
- <version>10.12.0</version>
7
+ <version>11.0.0</version>
8
8
  <packaging>aar</packaging>
9
9
  <dependencies>
10
10
  <!-- Include transitive dependencies -->
11
11
  <dependency>
12
12
  <groupId>com.theoplayer.theoplayer-sdk-android</groupId>
13
13
  <artifactId>integration-ads-ima</artifactId>
14
- <version>[10.0.0,11.0.0)</version>
14
+ <version>[11.0.0,12.0.0)</version>
15
15
  <scope>runtime</scope>
16
16
  </dependency>
17
17
  </dependencies>
@@ -3,11 +3,11 @@
3
3
  <groupId>com.theoplayer.theoplayer-sdk-android</groupId>
4
4
  <artifactId>ads-wrapper</artifactId>
5
5
  <versioning>
6
- <latest>10.12.0</latest>
7
- <release>10.12.0</release>
6
+ <latest>11.0.0</latest>
7
+ <release>11.0.0</release>
8
8
  <versions>
9
- <version>10.12.0</version>
9
+ <version>11.0.0</version>
10
10
  </versions>
11
- <lastUpdated>20260318164412</lastUpdated>
11
+ <lastUpdated>20260410095400</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -133,24 +133,24 @@ class PlayerConfigAdapter(private val configProps: ReadableMap?) {
133
133
  getMap(PROP_FEATURE_FLAGS)?.toHashMap()?.forEach { (key, value) ->
134
134
  convertedMap[key] = value as String
135
135
  }
136
- featureFlags = convertedMap
136
+ setFeatureFlags(convertedMap)
137
137
  }
138
138
  // The maximum number of VAST redirects.
139
139
  if (hasKey(PROP_MAX_REDIRECTS)) {
140
140
  maxRedirects = getInt(PROP_MAX_REDIRECTS)
141
141
  }
142
142
  // The partner provided player type.
143
- playerType = "THEOplayer"
143
+ setPlayerType("THEOplayer")
144
144
  // The partner provided player version.
145
- playerVersion = THEOplayerGlobal.getVersion()
145
+ setPlayerVersion(THEOplayerGlobal.getVersion())
146
146
  // The Publisher Provided Identification (PPID) sent with ads request.
147
147
  if (hasKey(PROP_PPID)) {
148
- ppid = getString(PROP_PPID) ?: ""
148
+ setPpid(getString(PROP_PPID) ?: "")
149
149
  }
150
150
  // The session ID to identify a single user session. This should be a UUID. It
151
151
  // is used exclusively for frequency capping across the user session.
152
152
  if (hasKey(PROP_SESSION_ID)) {
153
- sessionId = getString(PROP_PPID) ?: ""
153
+ setSessionId(getString(PROP_PPID) ?: "")
154
154
  }
155
155
  // Toggles debug mode which will output detailed log information to the console.
156
156
  if (hasKey(PROP_ENABLE_DEBUG_MODE)) {
@@ -177,11 +177,11 @@ class PlayerConfigAdapter(private val configProps: ReadableMap?) {
177
177
  enablePreloading = preloadTypeString !== "none"
178
178
  }
179
179
  if (hasKey(PROP_ALLOWED_MIMETYPES)) {
180
- mimeTypes = ArrayList<String>().apply {
180
+ setMimeTypes(ArrayList<String>().apply {
181
181
  getArray(PROP_ALLOWED_MIMETYPES)?.toArrayList()?.forEach {
182
182
  add(it as String)
183
183
  }
184
- }
184
+ })
185
185
  }
186
186
  }
187
187
  // bitrate and timeout are configured under the ima config
@@ -100,7 +100,7 @@ object AdAdapter {
100
100
  adPayload.putDouble(PROP_AD_HEIGHT, ad.imaAd.vastMediaHeight.toDouble())
101
101
  adPayload.putString(PROP_AD_CONTENT_TYPE, ad.imaAd.contentType)
102
102
  adPayload.putString(PROP_AD_DESCRIPTION, ad.imaAd.description)
103
- } catch (ignore: Exception) {
103
+ } catch (_: Exception) {
104
104
  // googleImaAd.getImaAd() is not known yet
105
105
  }
106
106
  val universalAdIdsPayload = Arguments.createArray()
@@ -142,7 +142,7 @@ object AdAdapter {
142
142
  return adbreakPayload
143
143
  }
144
144
  adbreakPayload.putString(PROP_ADBREAK_INTEGRATION, adbreak.integration.type)
145
- adbreakPayload.putString(PROP_ADBREAK_ID, adbreak.idAsString)
145
+ adbreakPayload.putString(PROP_ADBREAK_ID, adbreak.id)
146
146
  adbreakPayload.putInt(PROP_ADBREAK_MAXDURATION,adbreak.maxDuration)
147
147
  adbreakPayload.putInt(PROP_ADBREAK_TIMEOFFSET, adbreak.timeOffset)
148
148
  adbreakPayload.putDouble(PROP_ADBREAK_MAXREMAININGDURATION, adbreak.maxRemainingDuration)
@@ -288,10 +288,15 @@ object AdAdapter {
288
288
  return adBreak.getString(PROP_AD_CUSTOM_INTEGRATION)
289
289
  }
290
290
 
291
+ @Deprecated("Deprecated in favor of getIdAsString()")
291
292
  override fun getIdAsString(): String? {
292
293
  return if (adBreak.hasKey(PROP_ADBREAK_ID)) adBreak.getString(PROP_ADBREAK_ID) else null
293
294
  }
294
295
 
296
+ override fun getId(): String? {
297
+ return if (adBreak.hasKey(PROP_ADBREAK_ID)) adBreak.getString(PROP_ADBREAK_ID) else null
298
+ }
299
+
295
300
  override fun getCustomData(): Any? {
296
301
  // Not supported yet
297
302
  return null
@@ -415,16 +420,6 @@ object AdAdapter {
415
420
  return ad?.getString(PROP_AD_TRAFFICKING_PARAMETERS) ?: ""
416
421
  }
417
422
 
418
- @Deprecated("Deprecated in Java")
419
- override fun getUniversalAdIdRegistry(): String {
420
- return ""
421
- }
422
-
423
- @Deprecated("Deprecated in Java")
424
- override fun getUniversalAdIdValue(): String {
425
- return ad?.getString(PROP_UNIVERSAL_AD_ID_VALUE) ?: ""
426
- }
427
-
428
423
  override fun getCompanionAds(): List<com.google.ads.interactivemedia.v3.api.CompanionAd> {
429
424
  return emptyList()
430
425
  }
@@ -16,6 +16,8 @@ private const val PROP_OMID_VIEW = "view"
16
16
  private const val PROP_OMID_PURPOSE = "purpose"
17
17
  private const val PROP_OMID_REASON = "reason"
18
18
 
19
+ private const val ERR_SCHEDULE_AD = "Error scheduling ad"
20
+
19
21
  @Suppress("unused")
20
22
  @ReactModule(name = AdsModule.NAME)
21
23
  class AdsModule(context: ReactApplicationContext) : ReactContextBaseJavaModule(context) {
@@ -42,12 +44,10 @@ class AdsModule(context: ReactApplicationContext) : ReactContextBaseJavaModule(c
42
44
  @ReactMethod
43
45
  fun schedule(tag: Int, ad: ReadableMap) {
44
46
  viewResolver.resolveViewByTag(tag) { view: ReactTHEOplayerView? ->
45
- if (view != null) {
46
- try {
47
- view.adsApi.schedule(sourceHelper.parseAdFromJS(ad))
48
- } catch (exception: THEOplayerException) {
49
- Log.e(NAME, exception.message!!)
50
- }
47
+ try {
48
+ view?.adsApi?.schedule(sourceHelper.parseAdFromJS(ad))
49
+ } catch (exception: THEOplayerException) {
50
+ Log.e(NAME, exception.message ?: ERR_SCHEDULE_AD)
51
51
  }
52
52
  }
53
53
  }
@@ -56,11 +56,7 @@ class AdsModule(context: ReactApplicationContext) : ReactContextBaseJavaModule(c
56
56
  @ReactMethod
57
57
  fun currentAdBreak(tag: Int, promise: Promise) {
58
58
  viewResolver.resolveViewByTag(tag) { view: ReactTHEOplayerView? ->
59
- if (view == null) {
60
- promise.resolve(Arguments.createMap())
61
- } else {
62
- promise.resolve(AdAdapter.fromAdBreak(view.adsApi.currentAdBreak))
63
- }
59
+ promise.resolve(if (view == null) Arguments.createMap() else AdAdapter.fromAdBreak(view.adsApi.currentAdBreak))
64
60
  }
65
61
  }
66
62
 
@@ -68,11 +64,7 @@ class AdsModule(context: ReactApplicationContext) : ReactContextBaseJavaModule(c
68
64
  @ReactMethod
69
65
  fun currentAds(tag: Int, promise: Promise) {
70
66
  viewResolver.resolveViewByTag(tag) { view: ReactTHEOplayerView? ->
71
- if (view == null) {
72
- promise.resolve(Arguments.createMap())
73
- } else {
74
- promise.resolve(AdAdapter.fromAds(view.adsApi.currentAds))
75
- }
67
+ promise.resolve(if (view == null) Arguments.createArray() else AdAdapter.fromAds(view.adsApi.currentAds))
76
68
  }
77
69
  }
78
70
 
@@ -80,11 +72,7 @@ class AdsModule(context: ReactApplicationContext) : ReactContextBaseJavaModule(c
80
72
  @ReactMethod
81
73
  fun scheduledAdBreaks(tag: Int, promise: Promise) {
82
74
  viewResolver.resolveViewByTag(tag) { view: ReactTHEOplayerView? ->
83
- if (view == null) {
84
- promise.resolve(Arguments.createMap())
85
- } else {
86
- promise.resolve(AdAdapter.fromAdBreaks(view.adsApi.scheduledAdBreaks))
87
- }
75
+ promise.resolve(if (view == null) Arguments.createArray() else AdAdapter.fromAdBreaks(view.adsApi.scheduledAdBreaks))
88
76
  }
89
77
  }
90
78
 
@@ -92,16 +80,12 @@ class AdsModule(context: ReactApplicationContext) : ReactContextBaseJavaModule(c
92
80
  @ReactMethod
93
81
  fun playing(tag: Int, promise: Promise) {
94
82
  viewResolver.resolveViewByTag(tag) { view: ReactTHEOplayerView? ->
95
- if (view == null) {
96
- promise.resolve(false)
97
- } else {
98
- promise.resolve(view.adsApi.isPlaying)
99
- }
83
+ promise.resolve(view?.adsApi?.isPlaying ?: false)
100
84
  }
101
85
  }
102
86
 
103
87
  // Skip the current linear ad.
104
- // NOTE: This will have no effect when the current linear ad is (not yet) skippable.
88
+ // NOTE: This will have no effect when the current linear ad is not (yet) skippable.
105
89
  @ReactMethod
106
90
  fun skip(tag: Int) {
107
91
  viewResolver.resolveViewByTag(tag) { view: ReactTHEOplayerView? -> view?.adsApi?.skip() }
@@ -110,21 +94,15 @@ class AdsModule(context: ReactApplicationContext) : ReactContextBaseJavaModule(c
110
94
  @ReactMethod
111
95
  fun daiSnapback(tag: Int, promise: Promise) {
112
96
  viewResolver.resolveViewByTag(tag) { view: ReactTHEOplayerView? ->
113
- val daiIntegration = view?.playerContext?.daiIntegration
114
- if (daiIntegration == null) {
115
- promise.resolve(false)
116
- } else {
117
- promise.resolve(daiIntegration.enableSnapback)
118
- }
97
+ promise.resolve(view?.playerContext?.daiIntegration?.enableSnapback ?: false)
119
98
  }
120
99
  }
121
100
 
122
101
  @ReactMethod
123
102
  fun daiSetSnapback(tag: Int, enabled: Boolean?) {
124
103
  viewResolver.resolveViewByTag(tag) { view: ReactTHEOplayerView? ->
125
- val daiIntegration = view?.playerContext?.daiIntegration
126
- if (daiIntegration != null) {
127
- daiIntegration.enableSnapback = enabled!!
104
+ view?.playerContext?.daiIntegration?.let { integration ->
105
+ integration.enableSnapback = enabled ?: false
128
106
  }
129
107
  }
130
108
  }
@@ -132,24 +110,20 @@ class AdsModule(context: ReactApplicationContext) : ReactContextBaseJavaModule(c
132
110
  @ReactMethod
133
111
  fun daiContentTimeForStreamTime(tag: Int, time: Int, promise: Promise) {
134
112
  viewResolver.resolveViewByTag(tag) { view: ReactTHEOplayerView? ->
135
- val daiIntegration = view?.playerContext?.daiIntegration
136
- if (daiIntegration == null) {
137
- promise.resolve(time)
138
- } else {
139
- promise.resolve((1e03 * daiIntegration.contentTimeForStreamTime(1e-03 * time)).toInt())
140
- }
113
+ val contentTime = view?.playerContext?.daiIntegration?.let { integration ->
114
+ (1e03 * integration.contentTimeForStreamTime(1e-03 * time)).toInt()
115
+ } ?: time
116
+ promise.resolve(contentTime)
141
117
  }
142
118
  }
143
119
 
144
120
  @ReactMethod
145
121
  fun daiStreamTimeForContentTime(tag: Int, time: Int, promise: Promise) {
146
122
  viewResolver.resolveViewByTag(tag) { view: ReactTHEOplayerView? ->
147
- val daiIntegration = view?.playerContext?.daiIntegration
148
- if (daiIntegration == null) {
149
- promise.resolve(time)
150
- } else {
151
- promise.resolve((1e03 * daiIntegration.streamTimeForContentTime(1e-03 * time)).toInt())
152
- }
123
+ val streamTime = view?.playerContext?.daiIntegration?.let { integration ->
124
+ (1e03 * integration.streamTimeForContentTime(1e-03 * time)).toInt()
125
+ } ?: time
126
+ promise.resolve(streamTime)
153
127
  }
154
128
  }
155
129
 
@@ -181,9 +155,7 @@ class AdsModule(context: ReactApplicationContext) : ReactContextBaseJavaModule(c
181
155
  purpose: OmidFriendlyObstructionPurpose?,
182
156
  reason: String?
183
157
  ) {
184
- if (obsView == null || purpose == null) {
185
- return
186
- }
158
+ if (obsView == null || purpose == null) return
187
159
  viewResolver.resolveViewByTag(tag) { view: ReactTHEOplayerView? ->
188
160
  view?.player?.ads?.omid?.addFriendlyObstruction(
189
161
  OmidFriendlyObstruction(obsView, purpose, reason)
@@ -59,7 +59,6 @@ class CastModule(context: ReactApplicationContext) : ReactContextBaseJavaModule(
59
59
  PlayerCastState.AVAILABLE -> "available"
60
60
  PlayerCastState.CONNECTED -> "connected"
61
61
  PlayerCastState.CONNECTING -> "connecting"
62
- PlayerCastState.UNAVAILABLE -> "unavailable"
63
62
  else -> "unavailable"
64
63
  }
65
64
  }
@@ -26,6 +26,7 @@ private const val PROP_NAME = "name"
26
26
  private const val PROP_ENABLED = "enabled"
27
27
  private const val PROP_SRC = "src"
28
28
  private const val PROP_FORCED = "forced"
29
+ private const val PROP_CAPTION_CHANNEL = "captionChannel"
29
30
  private const val PROP_AUDIO_SAMPLING_RATE = "audioSamplingRate"
30
31
  private const val PROP_BANDWIDTH = "bandwidth"
31
32
  private const val PROP_QUALITIES = "qualities"
@@ -43,9 +44,6 @@ private const val PROP_ENDDATE = "endDate"
43
44
  private const val PROP_DURATION = "duration"
44
45
  private const val PROP_PLANNED_DURATION = "plannedDuration"
45
46
  private const val PROP_END_ON_NEXT = "endOnNext"
46
- private const val PROP_SCTE35CMD = "scte35Cmd"
47
- private const val PROP_SCTE35OUT = "scte35Out"
48
- private const val PROP_SCTE35IN = "scte35In"
49
47
  private const val PROP_CUSTOM_ATTRIBUTES = "customAttributes"
50
48
 
51
49
  object TrackListAdapter {
@@ -72,6 +70,9 @@ object TrackListAdapter {
72
70
  textTrackPayload.putString(PROP_SRC, textTrack.source)
73
71
  textTrackPayload.putBoolean(PROP_FORCED, textTrack.isForced)
74
72
 
73
+ // THEOplayer v10.13+
74
+ textTrack.captionChannel?.let { textTrackPayload.putInt(PROP_CAPTION_CHANNEL, it) }
75
+
75
76
  // Optionally pass cue list.
76
77
  val cueList = textTrack.cues
77
78
  if (cueList != null) {
@@ -167,13 +168,12 @@ object TrackListAdapter {
167
168
  audioTrackPayload.putString(PROP_LABEL, audioTrack.label)
168
169
  audioTrackPayload.putString(PROP_LANGUAGE, audioTrack.language)
169
170
  audioTrackPayload.putBoolean(PROP_ENABLED, audioTrack.isEnabled)
170
- val qualityList = audioTrack.qualities
171
171
  val qualities = Arguments.createArray()
172
172
  try {
173
- qualityList?.forEach { quality ->
173
+ audioTrack.qualities.forEach { quality ->
174
174
  qualities.pushMap(fromAudioQuality(quality))
175
175
  }
176
- } catch (ignore: NullPointerException) {
176
+ } catch (_: NullPointerException) {
177
177
  }
178
178
  audioTrackPayload.putArray(PROP_QUALITIES, qualities)
179
179
  val activeQuality = audioTrack.activeQuality
@@ -214,18 +214,15 @@ object TrackListAdapter {
214
214
  videoTrackPayload.putBoolean(PROP_ENABLED, videoTrack.isEnabled)
215
215
  val qualities = Arguments.createArray()
216
216
  try {
217
- val qualityList = videoTrack.qualities
218
- if (qualityList != null) {
219
- // Sort qualities according to (height, bandwidth)
220
- val sortedQualityList = QualityListAdapter(qualityList)
221
- sortedQualityList.sort { o: VideoQuality, t1: VideoQuality ->
222
- if (o.height == t1.height) t1.bandwidth.compareTo(o.bandwidth) else t1.height.compareTo(o.height)
223
- }
224
- for (quality in sortedQualityList) {
225
- qualities.pushMap(fromVideoQuality(quality as VideoQuality))
226
- }
217
+ // Sort qualities according to (height, bandwidth)
218
+ val sortedQualityList = QualityListAdapter(videoTrack.qualities)
219
+ sortedQualityList.sort { o: VideoQuality, t1: VideoQuality ->
220
+ if (o.height == t1.height) t1.bandwidth.compareTo(o.bandwidth) else t1.height.compareTo(o.height)
221
+ }
222
+ for (quality in sortedQualityList) {
223
+ qualities.pushMap(fromVideoQuality(quality as VideoQuality))
227
224
  }
228
- } catch (ignore: java.lang.NullPointerException) {
225
+ } catch (_: java.lang.NullPointerException) {
229
226
  }
230
227
  videoTrackPayload.putArray(PROP_QUALITIES, qualities)
231
228
  val activeQuality = videoTrack.activeQuality
@@ -62,8 +62,8 @@ class THEOplayerRCTAdAdapter {
62
62
  if let skipOffset = ad.skipOffset {
63
63
  adData[PROP_AD_SKIP_OFFSET] = (skipOffset == -1) ? skipOffset : skipOffset
64
64
  }
65
- if processAdBreak {
66
- adData[PROP_AD_BREAK] = THEOplayerRCTAdAdapter.fromAdBreak(adBreak: ad.adBreak)
65
+ if processAdBreak, let adBreak = ad.adBreak {
66
+ adData[PROP_AD_BREAK] = THEOplayerRCTAdAdapter.fromAdBreak(adBreak: adBreak)
67
67
  }
68
68
 
69
69
  #if os(iOS)
@@ -5,7 +5,7 @@ import THEOplayerSDK
5
5
 
6
6
  class NativeAd: THEOplayerSDK.Ad {
7
7
  /** A reference to the `AdBreak` of which the ad is a part of.*/
8
- var adBreak: AdBreak
8
+ var adBreak: AdBreak?
9
9
  /** An array of `CompanionAd`s associated to the ad, if available within the same Creatives element.*/
10
10
  var companions: [THEOplayerSDK.CompanionAd] = []
11
11
  /** Either 'linear' or 'nonlinear', depending on the concrete implementer.*/
@@ -39,9 +39,10 @@ public class THEOplayerRCTPresentationModeManager {
39
39
  }
40
40
 
41
41
  func validateLayout() {
42
- if self.presentationMode == .fullscreen,
42
+ if self.presentationMode == .fullscreen || (self.presentationMode == .pictureInPicture && self.rnInlineMode == .fullscreen),
43
43
  let containerView = self.containerView {
44
- // When in fullscreen, assure the moved view has a (0, 0) origin.
44
+ // When in fullscreen or when in Pip, coming from fullscreen (i.e playerView should remain in fullscreen),
45
+ // assure the moved view has a (0, 0) origin.
45
46
  containerView.frame = CGRect(x: 0, y: 0, width: containerView.frame.width, height: containerView.frame.height)
46
47
  }
47
48
  }
@@ -33,15 +33,6 @@ exports.PresentationModeChangePipContext = void 0;
33
33
  * @category Player
34
34
  * @public
35
35
  */
36
- /**
37
- * Dispatched when player is resized.
38
- *
39
- * @category Events
40
- * @category Player
41
- * @public
42
- *
43
- * @deprecated use {@link DimensionChangeEvent} instead. This event is set for removal in version 11.
44
- */
45
36
  /**
46
37
  * Dispatched when video is resized.
47
38
  *
@@ -1 +1 @@
1
- {"version":3,"names":["PresentationModeChangePipContext","exports"],"sourceRoot":"../../../../src","sources":["api/event/PlayerEvent.ts"],"mappings":";;;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AANA,IAOYA,gCAAgC,GAAAC,OAAA,CAAAD,gCAAA,0BAAhCA,gCAAgC;EAAhCA,gCAAgC;EAAhCA,gCAAgC;EAAhCA,gCAAgC;EAAA,OAAhCA,gCAAgC;AAAA;AAmB5C;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["PresentationModeChangePipContext","exports"],"sourceRoot":"../../../../src","sources":["api/event/PlayerEvent.ts"],"mappings":";;;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AANA,IAOYA,gCAAgC,GAAAC,OAAA,CAAAD,gCAAA,0BAAhCA,gCAAgC;EAAhCA,gCAAgC;EAAhCA,gCAAgC;EAAhCA,gCAAgC;EAAA,OAAhCA,gCAAgC;AAAA;AAmB5C;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -43,7 +43,6 @@ let PlayerEventType = exports.PlayerEventType = /*#__PURE__*/function (PlayerEve
43
43
  PlayerEventType["WAITING"] = "waiting";
44
44
  PlayerEventType["PRESENTATIONMODE_CHANGE"] = "presentationmodechange";
45
45
  PlayerEventType["DESTROY"] = "destroy";
46
- PlayerEventType["RESIZE"] = "resize";
47
46
  PlayerEventType["DIMENSION_CHANGE"] = "dimensionchange";
48
47
  PlayerEventType["VIDEO_RESIZE"] = "videoresize";
49
48
  return PlayerEventType;
@@ -1 +1 @@
1
- {"version":3,"names":["PlayerEventType","exports"],"sourceRoot":"../../../../src","sources":["api/player/PlayerEventMap.ts"],"mappings":";;;;;;AAyBA;AACA;AACA;AACA;AACA;AACA;AACA;AANA,IAOYA,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAwC3B;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["PlayerEventType","exports"],"sourceRoot":"../../../../src","sources":["api/player/PlayerEventMap.ts"],"mappings":";;;;;;AAwBA;AACA;AACA;AACA;AACA;AACA;AACA;AANA,IAOYA,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAoC3B;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -3,84 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.SourceIntegrationId = void 0;
7
- /**
8
- * Represents a media resource.
9
- *
10
- * @remarks
11
- * <br/> - Can be a string value representing the URL of a media resource, a {@link TypedSource}.
12
- *
13
- * @category Source
14
- * @public
15
- */
16
- /**
17
- * A type alias for a {@link TypedSource} media resource.
18
- *
19
- * @category Source
20
- * @public
21
- */
22
- /**
23
- * A media resource or list of media resources.
24
- *
25
- * @remarks
26
- * <br/> - The order of sources when using a list determines their priority when attempting playback.
27
- *
28
- * @category Source
29
- * @public
30
- */
31
- /**
32
- * The cross-origin setting of a source, represented by a value from the following list:
33
- * <br/> - `'anonymous'`: CORS requests will have the credentials flag set to 'same-origin'.
34
- * <br/> - `'use-credentials'`: CORS requests will have the credentials flag set to 'include'.
35
- * <br/> - `''`: Setting the empty string is the same as `'anonymous'`
36
- *
37
- * @remarks
38
- * <br/> - See {@link https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes | The crossorigin attribute: Requesting CORS access to content}
39
- *
40
- * @category Source
41
- * @public
42
- */
43
- /**
44
- * The integration identifier of a source specific to a pre-integration, represented by a value from the following list:
45
- * <br/> - `'theolive'`: The source contains the THEOlive initialization url.
46
- *
47
- * @category Source
48
- * @public
49
- * @deprecated use {@link TypedSource.type} instead.
50
- */
51
- let SourceIntegrationId = exports.SourceIntegrationId = /*#__PURE__*/function (SourceIntegrationId) {
52
- SourceIntegrationId["THEO_LIVE"] = "theolive";
53
- return SourceIntegrationId;
54
- }({});
55
- /**
56
- * Describes the configuration of a player's source.
57
- *
58
- * @category Source
59
- * @public
60
- */
61
- /**
62
- * Describes the configuration of a player's source.
63
- *
64
- * @category Source
65
- * @public
66
- */
67
- /**
68
- * Describes the configuration of a side-loaded text track.
69
- *
70
- * @category Source
71
- * @category Media and Text Tracks
72
- * @public
73
- */
74
- /**
75
- * Represents the common properties of a media resource.
76
- *
77
- * @category Source
78
- * @public
79
- */
80
- /**
81
- * Represents a media resource characterized by a URL to the resource and optionally information about the resource.
82
- *
83
- * @category Source
84
- * @public
85
- */
86
6
  //# sourceMappingURL=SourceDescription.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SourceIntegrationId","exports"],"sourceRoot":"../../../../src","sources":["api/source/SourceDescription.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAWA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA,IAQYA,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAI/B;AACA;AACA;AACA;AACA;AACA;AAyDA;AACA;AACA;AACA;AACA;AACA;AAmDA;AACA;AACA;AACA;AACA;AACA;AACA;AA2FA;AACA;AACA;AACA;AACA;AACA;AAsFA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["api/source/SourceDescription.ts"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["TextTrackType","exports","TextTrackKind","TextTrackMode","filterRenderableTracks","textTracks","filter","textTrack","kind","filterThumbnailTracks","find","isThumbnailTrack","label","hasTextTrackCue","cue","cues","c","uid","removeTextTrackCue","addTextTrackCue","push","findTextTrackByUid","t"],"sourceRoot":"../../../../src","sources":["api/track/TextTrack.ts"],"mappings":";;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAbA,IAcYA,aAAa,GAAAC,OAAA,CAAAD,aAAA,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAWzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVA,IAWYE,aAAa,GAAAD,OAAA,CAAAC,aAAA,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AASzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAbA,IAcYC,aAAa,GAAAF,OAAA,CAAAE,aAAA,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAMzB;AACA;AACA;AACA;AACA;AACA;AAgFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,sBAAsBA,CAACC,UAAmC,EAA2B;EACnG,OAAOA,UAAU,IAAIA,UAAU,CAACC,MAAM,CAAEC,SAAS,IAAKA,SAAS,CAACC,IAAI,KAAK,WAAW,IAAID,SAAS,CAACC,IAAI,KAAK,UAAU,CAAC;AACxH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,qBAAqBA,CAACJ,UAAmC,EAAyB;EAChG,OAAOA,UAAU,IAAIA,UAAU,CAACK,IAAI,CAACC,gBAAgB,CAAC;AACxD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,gBAAgBA,CAACJ,SAAgC,EAAW;EAC1E,OAAO,CAAC,CAACA,SAAS,KAAKA,SAAS,CAACC,IAAI,KAAK,YAAY,IAAKD,SAAS,CAACC,IAAI,KAAK,UAAU,IAAID,SAAS,CAACK,KAAK,KAAK,YAAa,CAAC;AAChI;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,eAAeA,CAACN,SAAoB,EAAEO,GAAiB,EAAW;EAChF,OAAO,CAAC,EAAEP,SAAS,CAACQ,IAAI,IAAID,GAAG,IAAIP,SAAS,CAACQ,IAAI,CAACL,IAAI,CAAEM,CAAC,IAAKF,GAAG,CAACG,GAAG,KAAKD,CAAC,CAACC,GAAG,CAAC,CAAC;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAACX,SAAqB,EAAEO,GAAkB,EAAE;EAC5E,IAAIP,SAAS,IAAIA,SAAS,CAACQ,IAAI,IAAID,GAAG,IAAID,eAAe,CAACN,SAAS,EAAEO,GAAG,CAAC,EAAE;IACzEP,SAAS,CAACQ,IAAI,GAAGR,SAAS,CAACQ,IAAI,CAACT,MAAM,CAAEU,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKH,GAAG,CAACG,GAAG,CAAC;EAClE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,eAAeA,CAACZ,SAAqB,EAAEO,GAAkB,EAAE;EACzE,IAAIP,SAAS,IAAIA,SAAS,CAACQ,IAAI,IAAID,GAAG,IAAI,CAACD,eAAe,CAACN,SAAS,EAAEO,GAAG,CAAC,EAAE;IAC1EP,SAAS,CAACQ,IAAI,CAACK,IAAI,CAACN,GAAG,CAAC;EAC1B;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASO,kBAAkBA,CAAChB,UAAuB,EAAEY,GAAW,EAAyB;EAC9F,OAAOZ,UAAU,CAACK,IAAI,CAAEY,CAAC,IAAKA,CAAC,CAACL,GAAG,KAAKA,GAAG,CAAC;AAC9C","ignoreList":[]}
1
+ {"version":3,"names":["TextTrackType","exports","TextTrackKind","TextTrackMode","filterRenderableTracks","textTracks","filter","textTrack","kind","filterThumbnailTracks","find","isThumbnailTrack","label","hasTextTrackCue","cue","cues","c","uid","removeTextTrackCue","addTextTrackCue","push","findTextTrackByUid","t"],"sourceRoot":"../../../../src","sources":["api/track/TextTrack.ts"],"mappings":";;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAbA,IAcYA,aAAa,GAAAC,OAAA,CAAAD,aAAA,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAWzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVA,IAWYE,aAAa,GAAAD,OAAA,CAAAC,aAAA,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AASzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAbA,IAcYC,aAAa,GAAAF,OAAA,CAAAE,aAAA,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAMzB;AACA;AACA;AACA;AACA;AACA;AA4FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,sBAAsBA,CAACC,UAAmC,EAA2B;EACnG,OAAOA,UAAU,IAAIA,UAAU,CAACC,MAAM,CAAEC,SAAS,IAAKA,SAAS,CAACC,IAAI,KAAK,WAAW,IAAID,SAAS,CAACC,IAAI,KAAK,UAAU,CAAC;AACxH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,qBAAqBA,CAACJ,UAAmC,EAAyB;EAChG,OAAOA,UAAU,IAAIA,UAAU,CAACK,IAAI,CAACC,gBAAgB,CAAC;AACxD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,gBAAgBA,CAACJ,SAAgC,EAAW;EAC1E,OAAO,CAAC,CAACA,SAAS,KAAKA,SAAS,CAACC,IAAI,KAAK,YAAY,IAAKD,SAAS,CAACC,IAAI,KAAK,UAAU,IAAID,SAAS,CAACK,KAAK,KAAK,YAAa,CAAC;AAChI;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,eAAeA,CAACN,SAAoB,EAAEO,GAAiB,EAAW;EAChF,OAAO,CAAC,EAAEP,SAAS,CAACQ,IAAI,IAAID,GAAG,IAAIP,SAAS,CAACQ,IAAI,CAACL,IAAI,CAAEM,CAAC,IAAKF,GAAG,CAACG,GAAG,KAAKD,CAAC,CAACC,GAAG,CAAC,CAAC;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAACX,SAAqB,EAAEO,GAAkB,EAAE;EAC5E,IAAIP,SAAS,IAAIA,SAAS,CAACQ,IAAI,IAAID,GAAG,IAAID,eAAe,CAACN,SAAS,EAAEO,GAAG,CAAC,EAAE;IACzEP,SAAS,CAACQ,IAAI,GAAGR,SAAS,CAACQ,IAAI,CAACT,MAAM,CAAEU,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKH,GAAG,CAACG,GAAG,CAAC;EAClE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,eAAeA,CAACZ,SAAqB,EAAEO,GAAkB,EAAE;EACzE,IAAIP,SAAS,IAAIA,SAAS,CAACQ,IAAI,IAAID,GAAG,IAAI,CAACD,eAAe,CAACN,SAAS,EAAEO,GAAG,CAAC,EAAE;IAC1EP,SAAS,CAACQ,IAAI,CAACK,IAAI,CAACN,GAAG,CAAC;EAC1B;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASO,kBAAkBA,CAAChB,UAAuB,EAAEY,GAAW,EAAyB;EAC9F,OAAOZ,UAAU,CAACK,IAAI,CAAEY,CAAC,IAAKA,CAAC,CAACL,GAAG,KAAKA,GAAG,CAAC;AAC9C","ignoreList":[]}