react-native-theoplayer 11.3.0 → 11.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 CHANGED
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [11.4.0] - 26-07-06
11
+
12
+ ### Fixed
13
+
14
+ - Fixed an issue on iOS where the `volumeChange` listener was not correctly removed on player desctruction.
15
+
16
+ ### Added
17
+
18
+ - Added `externalId` property to `TheoLiveDistribution` on Android and iOS.
19
+ - Added `hlsMpegTsSrc` and `daiAssetKey` properties to `TheoLiveEndpoint` on Android and iOS.
20
+ - Added `targetLatency` property to `TheoLiveEndpoint` on Android.
21
+ - Added V3 discovery response properties (`src`, `srcType`, `provider`, `distribution`) to `TheoLiveEndpoint` on Web.
22
+
10
23
  ## [11.3.0] - 26-06-18
11
24
 
12
25
  ### Added
@@ -15,7 +15,9 @@ private const val PROP_MILLICAST_SUBSCRIBER_TOKEN ="subscriberToken"
15
15
  private const val PROP_MILLICAST_DIRECTOR_URL = "directorUrl"
16
16
  private const val PROP_HESP_SRC = "hespSrc"
17
17
  private const val PROP_HLS_SRC = "hlsSrc"
18
+ private const val PROP_HLS_MPEG_TS_SRC = "hlsMpegTsSrc"
18
19
  private const val PROP_AD_SRC = "adSrc"
20
+ private const val PROP_DAI_ASSET_KEY = "daiAssetKey"
19
21
  private const val PROP_CDN = "cdn"
20
22
  private const val PROP_TARGET_LATENCY = "targetLatency"
21
23
  private const val PROP_WEIGHT = "weight"
@@ -44,7 +46,9 @@ object EndpointAdapter {
44
46
  endPoint.millicastSrc?.let { putMap(PROP_MILLICAST_SRC, fromEndPointMillicastSource(it)) }
45
47
  endPoint.hespSrc?.let { putString(PROP_HESP_SRC, it) }
46
48
  endPoint.hlsSrc?.let { putString(PROP_HLS_SRC, it) }
49
+ endPoint.hlsMpegTsSrc?.let { putString(PROP_HLS_MPEG_TS_SRC, it) }
47
50
  endPoint.adSrc?.let { putString(PROP_AD_SRC, it) }
51
+ endPoint.daiAssetKey?.let { putString(PROP_DAI_ASSET_KEY, it) }
48
52
  endPoint.cdn?.let { putString(PROP_CDN, it) }
49
53
  endPoint.targetLatency?.let { putDouble(PROP_TARGET_LATENCY, it) }
50
54
  putInt(PROP_WEIGHT, endPoint.weight)
@@ -19,6 +19,7 @@ private const val EVENT_PROP_ENDPOINT = "endpoint"
19
19
  private const val EVENT_PROP_REASON = "reason"
20
20
  private const val EVENT_PROP_NAME = "name"
21
21
  private const val EVENT_PROP_ID = "id"
22
+ private const val EVENT_PROP_EXTERNAL_ID = "externalId"
22
23
 
23
24
  class THEOliveEventAdapter(private val theoLiveApi: TheoLive, private val emitter: Emitter) {
24
25
 
@@ -68,6 +69,7 @@ class THEOliveEventAdapter(private val theoLiveApi: TheoLive, private val emitte
68
69
  putString(EVENT_PROP_TYPE, "distributionloaded")
69
70
  putMap(EVENT_PROP_DISTRIBUTION, Arguments.createMap().apply {
70
71
  putString(EVENT_PROP_ID, event.getDistribution().id)
72
+ event.getDistribution().externalId?.let { putString(EVENT_PROP_EXTERNAL_ID, it) }
71
73
  putString(EVENT_PROP_NAME, event.getDistribution().name)
72
74
  })
73
75
  })
@@ -403,6 +403,12 @@ public class THEOplayerRCTMainEventHandler {
403
403
  if DEBUG_EVENTHANDLER { PrintUtils.printLog(logText: "[NATIVE] DurationChange listener dettached from THEOplayer") }
404
404
  }
405
405
 
406
+ // VOLUME_CHANGE
407
+ if let volumeChangeListener = self.volumeChangeListener {
408
+ player.removeEventListener(type: PlayerEventTypes.VOLUME_CHANGE, listener: volumeChangeListener)
409
+ if DEBUG_EVENTHANDLER { PrintUtils.printLog(logText: "[NATIVE] VolumeChange listener dettached from THEOplayer") }
410
+ }
411
+
406
412
  // PROGRESS
407
413
  if let progressListener = self.progressListener {
408
414
  player.removeEventListener(type: PlayerEventTypes.PROGRESS, listener: progressListener)
@@ -9,15 +9,18 @@ import THEOplayerTHEOliveIntegration
9
9
 
10
10
  let PROP_ENDPOINT_HESP_SRC: String = "hespSrc"
11
11
  let PROP_ENDPOINT_HLS_SRC: String = "hlsSrc"
12
+ let PROP_ENDPOINT_HLS_MPEG_TS_SRC: String = "hlsMpegTsSrc"
12
13
  let PROP_ENDPOINT_MILLICAST_SRC: String = "millicastSrc"
13
14
  let PROP_ENDPOINT_CDN: String = "cdn"
14
15
  let PROP_ENDPOINT_AD_SRC: String = "adSrc"
16
+ let PROP_ENDPOINT_DAI_ASSET_KEY: String = "daiAssetKey"
15
17
  let PROP_ENDPOINT_WEIGHT: String = "weight"
16
18
  let PROP_ENDPOINT_PRIORITY: String = "priority"
17
19
  let PROP_ENDPOINT_CONTENT_PROTECTION: String = "contentProtection"
18
20
  let PROP_REASON_ERROR_CODE: String = "errorCode"
19
21
  let PROP_REASON_ERROR_MESSAGE: String = "errorMessage"
20
22
  let PROP_DISTRIBUTION_ID: String = "id"
23
+ let PROP_DISTRIBUTION_EXTERNAL_ID: String = "externalId"
21
24
  let PROP_DISTRIBUTION_NAME: String = "name"
22
25
 
23
26
  let PROP_CONTENTPROTECTION_INTEGRATION: String = "integration"
@@ -46,6 +49,9 @@ class THEOplayerRCTTHEOliveEventAdapter {
46
49
  if let hlsSrc = endpoint.hlsSrc {
47
50
  endpointData[PROP_ENDPOINT_HLS_SRC] = hlsSrc
48
51
  }
52
+ if let hlsMpegTsSrc = endpoint.hlsMpegTsSrc {
53
+ endpointData[PROP_ENDPOINT_HLS_MPEG_TS_SRC] = hlsMpegTsSrc
54
+ }
49
55
  if let millicastSrc = endpoint.millicastSrc {
50
56
  endpointData[PROP_ENDPOINT_MILLICAST_SRC] = millicastSrc.toJSONEncodableDictionary()
51
57
  }
@@ -55,6 +61,9 @@ class THEOplayerRCTTHEOliveEventAdapter {
55
61
  if let adSrc = endpoint.adSrc {
56
62
  endpointData[PROP_ENDPOINT_AD_SRC] = adSrc
57
63
  }
64
+ if let daiAssetKey = endpoint.daiAssetKey {
65
+ endpointData[PROP_ENDPOINT_DAI_ASSET_KEY] = daiAssetKey
66
+ }
58
67
  if let contentProtection = endpoint.channelContentProtection {
59
68
  endpointData[PROP_ENDPOINT_CONTENT_PROTECTION] = THEOplayerRCTTHEOliveEventAdapter.fromContentProtection(contentProtection: contentProtection)
60
69
  }
@@ -122,6 +131,9 @@ class THEOplayerRCTTHEOliveEventAdapter {
122
131
 
123
132
  var distributionData: [String:Any] = [:]
124
133
  distributionData[PROP_DISTRIBUTION_ID] = distribution.id
134
+ if let externalId = distribution.externalId {
135
+ distributionData[PROP_DISTRIBUTION_EXTERNAL_ID] = externalId
136
+ }
125
137
  distributionData[PROP_DISTRIBUTION_NAME] = distribution.name
126
138
 
127
139
  return distributionData
@@ -1 +1 @@
1
- {"version":"11.3.0","buildDate":"2026-06-19T06:51:55.916Z"}
1
+ {"version":"11.4.0","buildDate":"2026-07-06T14:18:03.681Z"}
@@ -1 +1 @@
1
- {"version":"11.3.0","buildDate":"2026-06-19T06:51:55.916Z"}
1
+ {"version":"11.4.0","buildDate":"2026-07-06T14:18:03.681Z"}
@@ -64,7 +64,9 @@ export interface ABRConfiguration {
64
64
  *
65
65
  * @defaultValue `'bandwidth'`
66
66
  *
67
- * @platform web,android
67
+ * @remarks
68
+ * <br/> - On native iOS/tvOS, this configuration will only work with THEOlive and Millicast streams and will not have any effect for other types of streams.
69
+ * <br/> - On native iOS/tvOS with Millicast streams, this only applies once during connection establishment; make sure to set it before you start playback.
68
70
  */
69
71
  strategy?: ABRStrategy;
70
72
  /**
@@ -73,8 +75,6 @@ export interface ABRConfiguration {
73
75
  * @defaultValue `20`
74
76
  *
75
77
  * @remarks
76
- * <br/> - Before v4.3.0: This duration has a maximum of 60 seconds.
77
- * <br/> - After v4.3.0: This duration has no maximum.
78
78
  * <br/> - The player might reduce or ignore the configured amount because of device or performance constraints.
79
79
  */
80
80
  targetBuffer?: number;
@@ -109,6 +109,9 @@ export interface ABRConfiguration {
109
109
  * If network bandwidth consumption cannot be lowered to meet the preferredPeakBitRate, it will be reduced as much as possible while continuing to play the item.
110
110
  *
111
111
  * @platform ios
112
+ *
113
+ * @remarks
114
+ * <br/> - On native iOS/tvOS with Millicast streams, this only applies once during connection establishment; make sure to set it before you start playback.
112
115
  */
113
116
  preferredPeakBitRate?: number;
114
117
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ABRConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/api/abr/ABRConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD;;;;;;;;GAQG;AACH,oBAAY,eAAe;IACzB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,IAAI,EAAE,eAAe,CAAC;IAEtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,wBAAwB,GAAG,eAAe,CAAC;AAErE;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC;IAEvB;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;;;;;OASG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAElC;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;;;OAOG;IACH,0BAA0B,CAAC,EAAE,UAAU,CAAC;CACzC"}
1
+ {"version":3,"file":"ABRConfiguration.d.ts","sourceRoot":"","sources":["../../../../src/api/abr/ABRConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD;;;;;;;;GAQG;AACH,oBAAY,eAAe;IACzB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,IAAI,EAAE,eAAe,CAAC;IAEtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,wBAAwB,GAAG,eAAe,CAAC;AAErE;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC;IAEvB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;;;;;OASG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAElC;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;;;OAOG;IACH,0BAA0B,CAAC,EAAE,UAAU,CAAC;CACzC"}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  export interface TheoLiveDistribution {
8
8
  id: string;
9
+ externalId?: string;
9
10
  name: string;
10
11
  }
11
12
  //# sourceMappingURL=TheoLiveDistribution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TheoLiveDistribution.d.ts","sourceRoot":"","sources":["../../../../src/api/theolive/TheoLiveDistribution.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd"}
1
+ {"version":3,"file":"TheoLiveDistribution.d.ts","sourceRoot":"","sources":["../../../../src/api/theolive/TheoLiveDistribution.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd"}
@@ -1,3 +1,4 @@
1
+ import { TheoLiveDistribution } from './TheoLiveDistribution';
1
2
  import { WebrtcOptions } from './WebrtcOptions';
2
3
  export interface EndpointMillicastSource {
3
4
  name: string;
@@ -10,18 +11,54 @@ export interface EndpointMillicastSource {
10
11
  * Description of a THEOlive Endpoint.
11
12
  *
12
13
  * @category THEOlive
13
- * @platform android,web
14
+ * @platform android,ios,web
14
15
  * @public
15
16
  */
16
17
  export interface TheoLiveEndpoint {
18
+ /**
19
+ * The source of this endpoint.
20
+ *
21
+ * @remarks
22
+ * For most endpoint types, this is the source URL string.
23
+ * For millicast endpoints, this is a {@link EndpointMillicastSource} object.
24
+ *
25
+ * @platform web
26
+ */
27
+ src?: string | EndpointMillicastSource;
28
+ /**
29
+ * The type of source (e.g. 'hesp', 'hls', 'hlsMpegTs', 'millicast', 'dai').
30
+ *
31
+ * @platform web
32
+ */
33
+ srcType?: string;
34
+ /**
35
+ * The provider of this endpoint (e.g. 'optiview').
36
+ *
37
+ * @platform web
38
+ */
39
+ provider?: string;
17
40
  millicastSrc?: EndpointMillicastSource;
18
41
  hespSrc?: string;
19
42
  hlsSrc?: string;
43
+ hlsMpegTsSrc?: string;
20
44
  adSrc?: string;
45
+ daiAssetKey?: string;
21
46
  cdn?: string;
47
+ /**
48
+ * The target latency for this endpoint, in seconds.
49
+ *
50
+ * @platform android
51
+ */
52
+ targetLatency?: number;
22
53
  weight: number;
23
54
  priority: number;
24
55
  contentProtection?: ChannelDrmConfigResponse;
56
+ /**
57
+ * The distribution associated with this endpoint.
58
+ *
59
+ * @platform web
60
+ */
61
+ distribution?: TheoLiveDistribution;
25
62
  }
26
63
  /**
27
64
  * Description of a channel's content protection configuration.
@@ -1 +1 @@
1
- {"version":3,"file":"TheoLiveEndpoint.d.ts","sourceRoot":"","sources":["../../../../src/api/theolive/TheoLiveEndpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,aAAa,CAAA;CACvB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE;QACT,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH"}
1
+ {"version":3,"file":"TheoLiveEndpoint.d.ts","sourceRoot":"","sources":["../../../../src/api/theolive/TheoLiveEndpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,aAAa,CAAA;CACvB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;OAQG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,uBAAuB,CAAC;IAEvC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAE7C;;;;OAIG;IACH,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE;QACT,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-theoplayer",
3
- "version": "11.3.0",
3
+ "version": "11.4.0",
4
4
  "description": "A THEOplayer video component for react-native.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -70,7 +70,9 @@ export interface ABRConfiguration {
70
70
  *
71
71
  * @defaultValue `'bandwidth'`
72
72
  *
73
- * @platform web,android
73
+ * @remarks
74
+ * <br/> - On native iOS/tvOS, this configuration will only work with THEOlive and Millicast streams and will not have any effect for other types of streams.
75
+ * <br/> - On native iOS/tvOS with Millicast streams, this only applies once during connection establishment; make sure to set it before you start playback.
74
76
  */
75
77
  strategy?: ABRStrategy;
76
78
 
@@ -80,8 +82,6 @@ export interface ABRConfiguration {
80
82
  * @defaultValue `20`
81
83
  *
82
84
  * @remarks
83
- * <br/> - Before v4.3.0: This duration has a maximum of 60 seconds.
84
- * <br/> - After v4.3.0: This duration has no maximum.
85
85
  * <br/> - The player might reduce or ignore the configured amount because of device or performance constraints.
86
86
  */
87
87
  targetBuffer?: number;
@@ -119,6 +119,9 @@ export interface ABRConfiguration {
119
119
  * If network bandwidth consumption cannot be lowered to meet the preferredPeakBitRate, it will be reduced as much as possible while continuing to play the item.
120
120
  *
121
121
  * @platform ios
122
+ *
123
+ * @remarks
124
+ * <br/> - On native iOS/tvOS with Millicast streams, this only applies once during connection establishment; make sure to set it before you start playback.
122
125
  */
123
126
  preferredPeakBitRate?: number;
124
127
 
@@ -6,5 +6,6 @@
6
6
  */
7
7
  export interface TheoLiveDistribution {
8
8
  id: string;
9
+ externalId?: string;
9
10
  name: string;
10
11
  }
@@ -1,3 +1,4 @@
1
+ import { TheoLiveDistribution } from './TheoLiveDistribution';
1
2
  import { WebrtcOptions } from './WebrtcOptions';
2
3
 
3
4
  export interface EndpointMillicastSource {
@@ -12,18 +13,61 @@ export interface EndpointMillicastSource {
12
13
  * Description of a THEOlive Endpoint.
13
14
  *
14
15
  * @category THEOlive
15
- * @platform android,web
16
+ * @platform android,ios,web
16
17
  * @public
17
18
  */
18
19
  export interface TheoLiveEndpoint {
20
+ /**
21
+ * The source of this endpoint.
22
+ *
23
+ * @remarks
24
+ * For most endpoint types, this is the source URL string.
25
+ * For millicast endpoints, this is a {@link EndpointMillicastSource} object.
26
+ *
27
+ * @platform web
28
+ */
29
+ src?: string | EndpointMillicastSource;
30
+
31
+ /**
32
+ * The type of source (e.g. 'hesp', 'hls', 'hlsMpegTs', 'millicast', 'dai').
33
+ *
34
+ * @platform web
35
+ */
36
+ srcType?: string;
37
+
38
+ /**
39
+ * The provider of this endpoint (e.g. 'optiview').
40
+ *
41
+ * @platform web
42
+ */
43
+ provider?: string;
44
+
19
45
  millicastSrc?: EndpointMillicastSource;
20
46
  hespSrc?: string;
21
47
  hlsSrc?: string;
48
+ hlsMpegTsSrc?: string;
22
49
  adSrc?: string;
50
+ daiAssetKey?: string;
51
+
23
52
  cdn?: string;
53
+
54
+ /**
55
+ * The target latency for this endpoint, in seconds.
56
+ *
57
+ * @platform android
58
+ */
59
+ targetLatency?: number;
60
+
24
61
  weight: number;
25
62
  priority: number;
26
63
  contentProtection?: ChannelDrmConfigResponse;
64
+
65
+ /**
66
+ * The distribution associated with this endpoint.
67
+ *
68
+ * @platform web
69
+ */
70
+ distribution?: TheoLiveDistribution;
27
71
  }
28
72
 
29
73
  /**
package/src/manifest.json CHANGED
@@ -1 +1 @@
1
- {"version":"11.3.0","buildDate":"2026-06-19T06:51:55.916Z"}
1
+ {"version":"11.4.0","buildDate":"2026-07-06T14:18:03.681Z"}