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.
- package/CHANGELOG.md +30 -0
- package/android/build.gradle +13 -7
- package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/11.0.0/ads-wrapper-11.0.0.aar +0 -0
- 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
- package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/maven-metadata-local.xml +4 -4
- package/android/src/main/java/com/theoplayer/PlayerConfigAdapter.kt +7 -7
- package/android/src/main/java/com/theoplayer/ads/AdAdapter.kt +7 -12
- package/android/src/main/java/com/theoplayer/ads/AdsModule.kt +23 -51
- package/android/src/main/java/com/theoplayer/cast/CastModule.kt +0 -1
- package/android/src/main/java/com/theoplayer/track/TrackListAdapter.kt +14 -17
- package/ios/ads/THEOplayerRCTAdAdapter.swift +2 -2
- package/ios/ads/THEOplayerRCTAdsNative.swift +1 -1
- package/ios/presentationMode/THEOplayerRCTPresentationModeManager.swift +3 -2
- package/lib/commonjs/api/event/PlayerEvent.js +0 -9
- package/lib/commonjs/api/event/PlayerEvent.js.map +1 -1
- package/lib/commonjs/api/player/PlayerEventMap.js +0 -1
- package/lib/commonjs/api/player/PlayerEventMap.js.map +1 -1
- package/lib/commonjs/api/source/SourceDescription.js +0 -80
- package/lib/commonjs/api/source/SourceDescription.js.map +1 -1
- package/lib/commonjs/api/track/TextTrack.js.map +1 -1
- package/lib/commonjs/internal/THEOplayerView.js +24 -7
- package/lib/commonjs/internal/THEOplayerView.js.map +1 -1
- package/lib/commonjs/internal/THEOplayerView.web.js +5 -3
- package/lib/commonjs/internal/THEOplayerView.web.js.map +1 -1
- package/lib/commonjs/internal/adapter/THEOplayerAdapter.js +0 -3
- package/lib/commonjs/internal/adapter/THEOplayerAdapter.js.map +1 -1
- package/lib/commonjs/internal/adapter/THEOplayerWebAdapter.js +0 -3
- package/lib/commonjs/internal/adapter/THEOplayerWebAdapter.js.map +1 -1
- package/lib/commonjs/internal/adapter/WebEventForwarder.js +0 -1
- package/lib/commonjs/internal/adapter/WebEventForwarder.js.map +1 -1
- package/lib/commonjs/internal/adapter/event/PlayerEvents.js +1 -13
- package/lib/commonjs/internal/adapter/event/PlayerEvents.js.map +1 -1
- package/lib/commonjs/internal/adapter/web/TrackUtils.js +3 -1
- package/lib/commonjs/internal/adapter/web/TrackUtils.js.map +1 -1
- package/lib/commonjs/internal/hooks/useIsAttached.js +48 -0
- package/lib/commonjs/internal/hooks/useIsAttached.js.map +1 -0
- package/lib/commonjs/manifest.json +1 -1
- package/lib/module/api/event/PlayerEvent.js +0 -10
- package/lib/module/api/event/PlayerEvent.js.map +1 -1
- package/lib/module/api/player/PlayerEventMap.js +0 -1
- package/lib/module/api/player/PlayerEventMap.js.map +1 -1
- package/lib/module/api/source/SourceDescription.js +1 -88
- package/lib/module/api/source/SourceDescription.js.map +1 -1
- package/lib/module/api/track/TextTrack.js.map +1 -1
- package/lib/module/internal/THEOplayerView.js +25 -8
- package/lib/module/internal/THEOplayerView.js.map +1 -1
- package/lib/module/internal/THEOplayerView.web.js +5 -3
- package/lib/module/internal/THEOplayerView.web.js.map +1 -1
- package/lib/module/internal/adapter/THEOplayerAdapter.js +0 -3
- package/lib/module/internal/adapter/THEOplayerAdapter.js.map +1 -1
- package/lib/module/internal/adapter/THEOplayerWebAdapter.js +0 -3
- package/lib/module/internal/adapter/THEOplayerWebAdapter.js.map +1 -1
- package/lib/module/internal/adapter/WebEventForwarder.js +1 -2
- package/lib/module/internal/adapter/WebEventForwarder.js.map +1 -1
- package/lib/module/internal/adapter/event/PlayerEvents.js +0 -11
- package/lib/module/internal/adapter/event/PlayerEvents.js.map +1 -1
- package/lib/module/internal/adapter/web/TrackUtils.js +3 -1
- package/lib/module/internal/adapter/web/TrackUtils.js.map +1 -1
- package/lib/module/internal/hooks/useIsAttached.js +43 -0
- package/lib/module/internal/hooks/useIsAttached.js.map +1 -0
- package/lib/module/manifest.json +1 -1
- package/lib/typescript/api/event/PlayerEvent.d.ts +0 -19
- package/lib/typescript/api/event/PlayerEvent.d.ts.map +1 -1
- package/lib/typescript/api/player/PlayerEventMap.d.ts +1 -11
- package/lib/typescript/api/player/PlayerEventMap.d.ts.map +1 -1
- package/lib/typescript/api/player/THEOplayer.d.ts +0 -6
- package/lib/typescript/api/player/THEOplayer.d.ts.map +1 -1
- package/lib/typescript/api/source/SourceDescription.d.ts +0 -20
- package/lib/typescript/api/source/SourceDescription.d.ts.map +1 -1
- package/lib/typescript/api/theolive/TheoLiveSource.d.ts +3 -3
- package/lib/typescript/api/theolive/TheoLiveSource.d.ts.map +1 -1
- package/lib/typescript/api/track/TextTrack.d.ts +11 -0
- package/lib/typescript/api/track/TextTrack.d.ts.map +1 -1
- package/lib/typescript/internal/THEOplayerView.d.ts +2 -1
- package/lib/typescript/internal/THEOplayerView.d.ts.map +1 -1
- package/lib/typescript/internal/THEOplayerView.web.d.ts.map +1 -1
- package/lib/typescript/internal/adapter/THEOplayerAdapter.d.ts +0 -1
- package/lib/typescript/internal/adapter/THEOplayerAdapter.d.ts.map +1 -1
- package/lib/typescript/internal/adapter/THEOplayerWebAdapter.d.ts +0 -1
- package/lib/typescript/internal/adapter/THEOplayerWebAdapter.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 +1 -9
- package/lib/typescript/internal/adapter/event/PlayerEvents.d.ts.map +1 -1
- package/lib/typescript/internal/adapter/web/TrackUtils.d.ts.map +1 -1
- package/lib/typescript/internal/hooks/useIsAttached.d.ts +16 -0
- package/lib/typescript/internal/hooks/useIsAttached.d.ts.map +1 -0
- package/package.json +9 -9
- package/react-native-theoplayer.podspec +8 -8
- package/src/api/event/PlayerEvent.ts +0 -21
- package/src/api/player/PlayerEventMap.ts +0 -12
- package/src/api/player/THEOplayer.ts +0 -7
- package/src/api/source/SourceDescription.ts +0 -22
- package/src/api/theolive/TheoLiveSource.ts +3 -3
- package/src/api/track/TextTrack.ts +12 -0
- package/src/internal/THEOplayerView.tsx +27 -12
- package/src/internal/THEOplayerView.web.tsx +6 -4
- package/src/internal/adapter/THEOplayerAdapter.ts +0 -4
- package/src/internal/adapter/THEOplayerWebAdapter.ts +0 -4
- package/src/internal/adapter/WebEventForwarder.ts +0 -2
- package/src/internal/adapter/event/PlayerEvents.ts +0 -13
- package/src/internal/adapter/track/TextTrackStyleAdapter.ts +4 -4
- package/src/internal/adapter/web/TrackUtils.ts +2 -1
- package/src/internal/hooks/useIsAttached.ts +44 -0
- package/src/manifest.json +1 -1
- 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
|
package/android/build.gradle
CHANGED
|
@@ -9,7 +9,7 @@ buildscript {
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
dependencies {
|
|
12
|
-
classpath "com.android.tools.build:gradle:${safeExtGet('gradlePluginVersion', '8.
|
|
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
|
|
126
|
-
def theoVersion = safeExtGet('THEOplayer_sdk', '[
|
|
127
|
-
def theoMediaSessionVersion = safeExtGet('THEOplayer_mediasession', '[
|
|
128
|
-
def theoAdsWrapperVersion = "
|
|
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.
|
|
132
|
-
def gsonVersion = safeExtGet('gsonVersion', '2.13.
|
|
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")
|
|
Binary file
|
|
@@ -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>
|
|
4
|
+
<modelVersion>11.0.0</modelVersion>
|
|
5
5
|
<groupId>com.theoplayer.theoplayer-sdk-android</groupId>
|
|
6
6
|
<artifactId>ads-wrapper</artifactId>
|
|
7
|
-
<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>[
|
|
14
|
+
<version>[11.0.0,12.0.0)</version>
|
|
15
15
|
<scope>runtime</scope>
|
|
16
16
|
</dependency>
|
|
17
17
|
</dependencies>
|
package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/maven-metadata-local.xml
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
<groupId>com.theoplayer.theoplayer-sdk-android</groupId>
|
|
4
4
|
<artifactId>ads-wrapper</artifactId>
|
|
5
5
|
<versioning>
|
|
6
|
-
<latest>
|
|
7
|
-
<release>
|
|
6
|
+
<latest>11.0.0</latest>
|
|
7
|
+
<release>11.0.0</release>
|
|
8
8
|
<versions>
|
|
9
|
-
<version>
|
|
9
|
+
<version>11.0.0</version>
|
|
10
10
|
</versions>
|
|
11
|
-
<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
|
-
|
|
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
|
-
|
|
143
|
+
setPlayerType("THEOplayer")
|
|
144
144
|
// The partner provided player version.
|
|
145
|
-
|
|
145
|
+
setPlayerVersion(THEOplayerGlobal.getVersion())
|
|
146
146
|
// The Publisher Provided Identification (PPID) sent with ads request.
|
|
147
147
|
if (hasKey(PROP_PPID)) {
|
|
148
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 (
|
|
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.
|
|
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
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
126
|
-
|
|
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
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
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
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
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
|
-
|
|
173
|
+
audioTrack.qualities.forEach { quality ->
|
|
174
174
|
qualities.pushMap(fromAudioQuality(quality))
|
|
175
175
|
}
|
|
176
|
-
} catch (
|
|
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
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
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 (
|
|
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:
|
|
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
|
|
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;
|
|
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":";;;;;;
|
|
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":[
|
|
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;
|
|
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":[]}
|