react-native-theoplayer 9.0.0 → 9.0.1
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 +10 -0
- package/README.md +1 -0
- package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/9.0.0/ads-wrapper-9.0.0.pom +1 -1
- package/android/src/main/java/com/theoplayer/PlayerConfigAdapter.kt +4 -0
- package/android/src/main/java/com/theoplayer/drm/ContentProtectionAdapter.kt +3 -1
- package/android/src/main/java/com/theoplayer/drm/ContentProtectionModule.kt +1 -1
- package/lib/commonjs/manifest.json +1 -1
- package/lib/module/manifest.json +1 -1
- package/lib/typescript/api/config/PlayerConfiguration.d.ts +15 -0
- package/lib/typescript/api/config/PlayerConfiguration.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/api/config/PlayerConfiguration.ts +16 -0
- package/src/manifest.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,16 @@ 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
|
+
## [9.0.1] - 25-04-08
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- Fixed an issue on Android where an app would sometimes crash while receiving the license response when using a custom DRM integration.
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- Added supported for multimedia tunneling on Android using the Media3 playback pipeline. More info on the [documentation](./doc/media3.md#multimedia-tunneling) page.
|
|
17
|
+
|
|
8
18
|
## [9.0.0] - 25-04-04
|
|
9
19
|
|
|
10
20
|
### Removed
|
package/README.md
CHANGED
|
@@ -182,6 +182,7 @@ This section gives an overview of features, limitations and known issues:
|
|
|
182
182
|
- [Digital Rights Management (DRM)](./doc/drm.md)
|
|
183
183
|
- [Fullscreen presentation](./doc/fullscreen.md)
|
|
184
184
|
- [Media Caching](./doc/media-caching.md)
|
|
185
|
+
- [Migrating to THEOplayer 9.x🔥](./doc/migrating-to-react-native-theoplayer-9.md)
|
|
185
186
|
- [Picture-in-Picture (PiP)](./doc/pip.md)
|
|
186
187
|
- [Subtitles, Closed Captions and Metadata tracks](./doc/texttracks.md)
|
|
187
188
|
- [Limitations and known issues](./doc/limitations.md)
|
|
@@ -39,6 +39,7 @@ private const val PROP_ALLOWED_MIMETYPES = "allowedMimeTypes"
|
|
|
39
39
|
private const val PROP_THEOLIVE_CONFIG = "theoLive"
|
|
40
40
|
private const val PROP_THEOLIVE_EXTERNAL_SESSION_ID = "externalSessionId"
|
|
41
41
|
private const val PROP_THEOLIVE_ANALYTICS_DISABLED = "analyticsDisabled"
|
|
42
|
+
private const val PROP_MULTIMEDIA_TUNNELING_ENABLED = "tunnelingEnabled"
|
|
42
43
|
|
|
43
44
|
class PlayerConfigAdapter(private val configProps: ReadableMap?) {
|
|
44
45
|
|
|
@@ -66,6 +67,9 @@ class PlayerConfigAdapter(private val configProps: ReadableMap?) {
|
|
|
66
67
|
pipConfiguration(PipConfiguration.Builder().build())
|
|
67
68
|
// Opt-out for auto-integrations for now
|
|
68
69
|
autoIntegrations(false)
|
|
70
|
+
if (hasKey(PROP_MULTIMEDIA_TUNNELING_ENABLED)) {
|
|
71
|
+
tunnelingEnabled(getBoolean(PROP_MULTIMEDIA_TUNNELING_ENABLED))
|
|
72
|
+
}
|
|
69
73
|
}
|
|
70
74
|
}.build()
|
|
71
75
|
}
|
|
@@ -163,7 +163,9 @@ object ContentProtectionAdapter {
|
|
|
163
163
|
payload.putString(PROP_STATUS_TEXT, response.statusText)
|
|
164
164
|
val headers = Arguments.createMap()
|
|
165
165
|
response.headers.entries.forEach { entry ->
|
|
166
|
-
|
|
166
|
+
entry.key?.let { key ->
|
|
167
|
+
headers.putString(key, entry.value)
|
|
168
|
+
}
|
|
167
169
|
}
|
|
168
170
|
payload.putMap(PROP_HEADERS, headers)
|
|
169
171
|
payload.putMap(PROP_REQUEST, fromRequest(integrationId, keySystemId, response.request))
|
|
@@ -237,7 +237,7 @@ class ContentProtectionModule(private val context: ReactApplicationContext) :
|
|
|
237
237
|
Log.d(TAG, "emit $eventName ($requestId)")
|
|
238
238
|
}
|
|
239
239
|
payload.putString(PROP_REQUEST_ID, requestId)
|
|
240
|
-
val onTimeout = {
|
|
240
|
+
val onTimeout = Runnable {
|
|
241
241
|
onError(
|
|
242
242
|
THEOplayerException(ErrorCode.CONTENT_PROTECTION_ERROR, "$eventName time-out.")
|
|
243
243
|
)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"9.0.
|
|
1
|
+
{"version":"9.0.1","buildDate":"2025-04-08T13:24:40.791Z"}
|
package/lib/module/manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"9.0.
|
|
1
|
+
{"version":"9.0.1","buildDate":"2025-04-08T13:24:40.791Z"}
|
|
@@ -74,6 +74,21 @@ export interface PlayerConfiguration {
|
|
|
74
74
|
* The THEOlive configuration for the player.
|
|
75
75
|
*/
|
|
76
76
|
theoLive?: TheoLiveConfiguration;
|
|
77
|
+
/**
|
|
78
|
+
* Whether multimedia tunneling is enabled for the player or not.
|
|
79
|
+
*
|
|
80
|
+
* <ul>
|
|
81
|
+
* <li>Only supported with the Media3 integration.</li>
|
|
82
|
+
* <li>Only supported if the media being played includes both audio and video.</li>
|
|
83
|
+
* <li>Only supported on limited number of video codecs and devices.</li>
|
|
84
|
+
* </ul>
|
|
85
|
+
*
|
|
86
|
+
* @defaultValue false
|
|
87
|
+
*
|
|
88
|
+
* @remarks
|
|
89
|
+
* <br/> - This parameter only applies to Android platforms.
|
|
90
|
+
*/
|
|
91
|
+
tunnelingEnabled?: boolean;
|
|
77
92
|
}
|
|
78
93
|
/**
|
|
79
94
|
* The muted autoplay policy of a player for web.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlayerConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/api/config/PlayerConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,0BAA0B,CAAC;IAE3C;;OAEG;IACH,GAAG,CAAC,EAAE,gBAAgB,CAAC;IAEvB;;OAEG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC;IAEzB;;OAEG;IACH,EAAE,CAAC,EAAE,eAAe,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,yBAAyB,CAAC;IAEzC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IAEjD;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"PlayerConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/api/config/PlayerConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,0BAA0B,CAAC;IAE3C;;OAEG;IACH,GAAG,CAAC,EAAE,gBAAgB,CAAC;IAEvB;;OAEG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC;IAEzB;;OAEG;IACH,EAAE,CAAC,EAAE,eAAe,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,yBAAyB,CAAC;IAEzC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IAEjD;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IAEjC;;;;;;;;;;;;;OAaG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC"}
|
package/package.json
CHANGED
|
@@ -86,6 +86,22 @@ export interface PlayerConfiguration {
|
|
|
86
86
|
* The THEOlive configuration for the player.
|
|
87
87
|
*/
|
|
88
88
|
theoLive?: TheoLiveConfiguration;
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Whether multimedia tunneling is enabled for the player or not.
|
|
92
|
+
*
|
|
93
|
+
* <ul>
|
|
94
|
+
* <li>Only supported with the Media3 integration.</li>
|
|
95
|
+
* <li>Only supported if the media being played includes both audio and video.</li>
|
|
96
|
+
* <li>Only supported on limited number of video codecs and devices.</li>
|
|
97
|
+
* </ul>
|
|
98
|
+
*
|
|
99
|
+
* @defaultValue false
|
|
100
|
+
*
|
|
101
|
+
* @remarks
|
|
102
|
+
* <br/> - This parameter only applies to Android platforms.
|
|
103
|
+
*/
|
|
104
|
+
tunnelingEnabled?: boolean;
|
|
89
105
|
}
|
|
90
106
|
|
|
91
107
|
/**
|
package/src/manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"9.0.
|
|
1
|
+
{"version":"9.0.1","buildDate":"2025-04-08T13:24:40.791Z"}
|