react-native-theoplayer 9.7.0 → 9.8.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 +20 -0
- package/android/build.gradle +6 -2
- package/android/src/main/java/com/theoplayer/PlayerEventEmitter.kt +12 -0
- package/android/src/main/java/com/theoplayer/drm/KeySystemAdapter.kt +11 -0
- package/android/src/main/java/com/theoplayer/source/SourceAdapter.kt +8 -4
- package/android/src/main/java/com/theoplayer/theolive/EndpointAdapter.kt +68 -0
- package/android/src/main/java/com/theoplayer/theolive/THEOliveEventAdapter.kt +63 -0
- package/ios/THEOplayerRCTBridge.m +1 -2
- package/ios/THEOplayerRCTSourceDescriptionBuilder.swift +4 -2
- package/ios/THEOplayerRCTView.swift +12 -0
- package/ios/theolive/THEOplayerRCTTHEOliveEventHandler.swift +146 -0
- package/lib/commonjs/api/barrel.js.map +1 -1
- package/lib/commonjs/api/event/TheoLiveEvent.js +39 -0
- package/lib/commonjs/api/event/TheoLiveEvent.js.map +1 -0
- package/lib/commonjs/api/event/barrel.js +11 -0
- package/lib/commonjs/api/event/barrel.js.map +1 -1
- package/lib/commonjs/api/player/PlayerEventMap.js +1 -0
- package/lib/commonjs/api/player/PlayerEventMap.js.map +1 -1
- package/lib/commonjs/api/source/SourceDescription.js +1 -0
- package/lib/commonjs/api/source/SourceDescription.js.map +1 -1
- package/lib/commonjs/api/theolive/TheoLiveEndpoint.js +2 -0
- package/lib/commonjs/api/theolive/TheoLiveEndpoint.js.map +1 -0
- package/lib/commonjs/api/theolive/barrel.js +19 -8
- package/lib/commonjs/api/theolive/barrel.js.map +1 -1
- package/lib/commonjs/internal/THEOplayerView.js +5 -0
- package/lib/commonjs/internal/THEOplayerView.js.map +1 -1
- package/lib/commonjs/internal/adapter/WebEventForwarder.js +18 -0
- package/lib/commonjs/internal/adapter/WebEventForwarder.js.map +1 -1
- package/lib/commonjs/internal/adapter/event/PlayerEvents.js +24 -1
- package/lib/commonjs/internal/adapter/event/PlayerEvents.js.map +1 -1
- package/lib/commonjs/internal/adapter/event/native/NativeTheoLiveEvent.js +24 -0
- package/lib/commonjs/internal/adapter/event/native/NativeTheoLiveEvent.js.map +1 -0
- package/lib/commonjs/internal/drm/ContentProtectionRegistry.web.js.map +1 -1
- package/lib/commonjs/manifest.json +1 -1
- package/lib/module/api/barrel.js +1 -0
- package/lib/module/api/barrel.js.map +1 -1
- package/lib/module/api/event/TheoLiveEvent.js +38 -0
- package/lib/module/api/event/TheoLiveEvent.js.map +1 -0
- package/lib/module/api/event/barrel.js +1 -0
- package/lib/module/api/event/barrel.js.map +1 -1
- package/lib/module/api/player/PlayerEventMap.js +1 -0
- package/lib/module/api/player/PlayerEventMap.js.map +1 -1
- package/lib/module/api/source/SourceDescription.js +1 -0
- package/lib/module/api/source/SourceDescription.js.map +1 -1
- package/lib/module/api/theolive/TheoLiveEndpoint.js +2 -0
- package/lib/module/api/theolive/TheoLiveEndpoint.js.map +1 -0
- package/lib/module/api/theolive/barrel.js +3 -2
- package/lib/module/api/theolive/barrel.js.map +1 -1
- package/lib/module/internal/THEOplayerView.js +5 -0
- package/lib/module/internal/THEOplayerView.js.map +1 -1
- package/lib/module/internal/adapter/WebEventForwarder.js +20 -2
- package/lib/module/internal/adapter/WebEventForwarder.js.map +1 -1
- package/lib/module/internal/adapter/event/PlayerEvents.js +20 -0
- package/lib/module/internal/adapter/event/PlayerEvents.js.map +1 -1
- package/lib/module/internal/adapter/event/native/NativeTheoLiveEvent.js +20 -0
- package/lib/module/internal/adapter/event/native/NativeTheoLiveEvent.js.map +1 -0
- package/lib/module/internal/drm/ContentProtectionRegistry.web.js.map +1 -1
- package/lib/module/manifest.json +1 -1
- package/lib/typescript/api/barrel.d.ts +1 -0
- package/lib/typescript/api/barrel.d.ts.map +1 -1
- package/lib/typescript/api/event/TheoLiveEvent.d.ts +77 -0
- package/lib/typescript/api/event/TheoLiveEvent.d.ts.map +1 -0
- package/lib/typescript/api/event/barrel.d.ts +1 -0
- package/lib/typescript/api/event/barrel.d.ts.map +1 -1
- package/lib/typescript/api/player/PlayerEventMap.d.ts +6 -0
- package/lib/typescript/api/player/PlayerEventMap.d.ts.map +1 -1
- package/lib/typescript/api/source/SourceDescription.d.ts +5 -0
- package/lib/typescript/api/source/SourceDescription.d.ts.map +1 -1
- package/lib/typescript/api/source/drm/DRMConfiguration.d.ts +2 -2
- package/lib/typescript/api/source/drm/DRMConfiguration.d.ts.map +1 -1
- package/lib/typescript/api/theolive/TheoLiveEndpoint.d.ts +32 -0
- package/lib/typescript/api/theolive/TheoLiveEndpoint.d.ts.map +1 -0
- package/lib/typescript/api/theolive/TheoLiveSource.d.ts +1 -0
- package/lib/typescript/api/theolive/TheoLiveSource.d.ts.map +1 -1
- package/lib/typescript/api/theolive/barrel.d.ts +3 -2
- package/lib/typescript/api/theolive/barrel.d.ts.map +1 -1
- package/lib/typescript/internal/THEOplayerView.d.ts +1 -0
- package/lib/typescript/internal/THEOplayerView.d.ts.map +1 -1
- package/lib/typescript/internal/adapter/WebEventForwarder.d.ts +1 -0
- package/lib/typescript/internal/adapter/WebEventForwarder.d.ts.map +1 -1
- package/lib/typescript/internal/adapter/event/PlayerEvents.d.ts +15 -1
- package/lib/typescript/internal/adapter/event/PlayerEvents.d.ts.map +1 -1
- package/lib/typescript/internal/adapter/event/native/NativeTheoLiveEvent.d.ts +18 -0
- package/lib/typescript/internal/adapter/event/native/NativeTheoLiveEvent.d.ts.map +1 -0
- package/package.json +2 -2
- package/react-native-theoplayer.podspec +7 -7
- package/src/api/barrel.ts +1 -0
- package/src/api/event/TheoLiveEvent.ts +83 -0
- package/src/api/event/barrel.ts +1 -0
- package/src/api/player/PlayerEventMap.ts +7 -0
- package/src/api/source/SourceDescription.ts +5 -0
- package/src/api/source/drm/DRMConfiguration.ts +2 -2
- package/src/api/theolive/TheoLiveEndpoint.ts +32 -0
- package/src/api/theolive/TheoLiveSource.ts +1 -0
- package/src/api/theolive/barrel.ts +3 -2
- package/src/internal/THEOplayerView.tsx +7 -0
- package/src/internal/adapter/WebEventForwarder.ts +27 -1
- package/src/internal/adapter/event/PlayerEvents.ts +29 -0
- package/src/internal/adapter/event/native/NativeTheoLiveEvent.ts +34 -0
- package/src/internal/drm/ContentProtectionRegistry.web.ts +2 -2
- package/src/manifest.json +1 -1
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Description of a THEOlive Endpoint.
|
|
3
|
+
*
|
|
4
|
+
* @category THEOlive
|
|
5
|
+
* @platform android,web
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export interface TheoLiveEndpoint {
|
|
9
|
+
hespSrc?: string;
|
|
10
|
+
hlsSrc?: string;
|
|
11
|
+
adSrc?: string;
|
|
12
|
+
weight: number;
|
|
13
|
+
priority: number;
|
|
14
|
+
contentProtection?: ChannelDrmConfigResponse;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Description of a channel's content protection configuration.
|
|
18
|
+
*/
|
|
19
|
+
export interface ChannelDrmConfigResponse {
|
|
20
|
+
integration: string;
|
|
21
|
+
widevine?: {
|
|
22
|
+
licenseUrl: string;
|
|
23
|
+
};
|
|
24
|
+
playready?: {
|
|
25
|
+
licenseUrl: string;
|
|
26
|
+
};
|
|
27
|
+
fairplay?: {
|
|
28
|
+
licenseUrl: string;
|
|
29
|
+
certificateUrl: string;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=TheoLiveEndpoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TheoLiveEndpoint.d.ts","sourceRoot":"","sources":["../../../../src/api/theolive/TheoLiveEndpoint.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,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"}
|
|
@@ -4,6 +4,7 @@ import { SourceIntegrationId, TypedSource } from 'react-native-theoplayer';
|
|
|
4
4
|
*
|
|
5
5
|
* @category Source
|
|
6
6
|
* @public
|
|
7
|
+
* @deprecated use {@link TypedSource.type} instead.
|
|
7
8
|
*/
|
|
8
9
|
export interface TheoLiveSource extends TypedSource {
|
|
9
10
|
integration: SourceIntegrationId.THEO_LIVE;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TheoLiveSource.d.ts","sourceRoot":"","sources":["../../../../src/api/theolive/TheoLiveSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3E
|
|
1
|
+
{"version":3,"file":"TheoLiveSource.d.ts","sourceRoot":"","sources":["../../../../src/api/theolive/TheoLiveSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3E;;;;;;GAMG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IAC/C,WAAW,EAAE,mBAAmB,CAAC,SAAS,CAAC;CAC9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"barrel.d.ts","sourceRoot":"","sources":["../../../../src/api/theolive/barrel.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"barrel.d.ts","sourceRoot":"","sources":["../../../../src/api/theolive/barrel.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
|
|
@@ -46,6 +46,7 @@ export declare class THEOplayerView extends PureComponent<React.PropsWithChildre
|
|
|
46
46
|
private _onMediaTrackListEvent;
|
|
47
47
|
private _onMediaTrackEvent;
|
|
48
48
|
private _onAdEvent;
|
|
49
|
+
private _onTHEOliveEvent;
|
|
49
50
|
private _onCastEvent;
|
|
50
51
|
private _onPresentationModeChange;
|
|
51
52
|
private _onResize;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"THEOplayerView.d.ts","sourceRoot":"","sources":["../../../src/internal/THEOplayerView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAc7C,OAAO,KAAK,EAAE,UAAU,EAAuB,MAAM,cAAc,CAAC;AACpE,OAAO,EAAuC,WAAW,EAAE,gBAAgB,EAAgB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"THEOplayerView.d.ts","sourceRoot":"","sources":["../../../src/internal/THEOplayerView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAc7C,OAAO,KAAK,EAAE,UAAU,EAAuB,MAAM,cAAc,CAAC;AACpE,OAAO,EAAuC,WAAW,EAAE,gBAAgB,EAAgB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAiGhJ,UAAU,sBAAsB;IAC9B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAChD,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAID,qBAAa,cAAe,SAAQ,aAAa,CAAC,KAAK,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,sBAAsB,CAAC;IACrH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwD;IAC9E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,kBAAkB,CAAC,CAAkC;IAE7D,OAAO,CAAC,MAAM,CAAC,YAAY,CAMzB;gBAEU,KAAK,EAAE,mBAAmB;IAOtC,iBAAiB;IAIjB,oBAAoB;IAYpB,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED,OAAO,CAAC,KAAK;IAOb,OAAO,CAAC,oBAAoB,CAE1B;IAEF,OAAO,CAAC,oBAAoB,CAM1B;IAEF,OAAO,CAAC,eAAe,CAOrB;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,aAAa,CAEnB;IAEF,OAAO,CAAC,iBAAiB,CAavB;IAEF,OAAO,CAAC,eAAe,CAErB;IAEF,OAAO,CAAC,QAAQ,CAId;IAEF,OAAO,CAAC,WAAW,CAEjB;IAEF,OAAO,CAAC,UAAU,CAEhB;IAEF,OAAO,CAAC,OAAO,CAEb;IAEF,OAAO,CAAC,UAAU,CAGhB;IAEF,OAAO,CAAC,QAAQ,CAEd;IAEF,OAAO,CAAC,UAAU,CAEhB;IAEF,OAAO,CAAC,SAAS,CAEf;IAEF,OAAO,CAAC,UAAU,CAEhB;IAEF,OAAO,CAAC,QAAQ,CAEd;IAEF,OAAO,CAAC,kBAAkB,CAExB;IAEF,OAAO,CAAC,aAAa,CAEnB;IAEF,OAAO,CAAC,iBAAiB,CAEvB;IAEF,OAAO,CAAC,aAAa,CAEnB;IAEF,OAAO,CAAC,kBAAkB,CAGxB;IAEF,OAAO,CAAC,qBAAqB,CAG3B;IAEF,OAAO,CAAC,iBAAiB,CAOvB;IAEF,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,sBAAsB,CAK5B;IAEF,OAAO,CAAC,kBAAkB,CAUxB;IAEF,OAAO,CAAC,UAAU,CAGhB;IAEF,OAAO,CAAC,gBAAgB,CAEtB;IAEF,OAAO,CAAC,YAAY,CAYlB;IAEF,OAAO,CAAC,yBAAyB,CAe/B;IAEF,OAAO,CAAC,SAAS,CAEf;IAEF,OAAO,CAAC,aAAa,CAEnB;IAEF,OAAO,CAAC,WAAW,CAEjB;IAEF,OAAO,CAAC,WAAW,CAEjB;IAEK,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO;CA8CnC"}
|
|
@@ -45,6 +45,7 @@ export declare class WebEventForwarder {
|
|
|
45
45
|
private readonly onAirplayStateChange;
|
|
46
46
|
private readonly onAdEvent;
|
|
47
47
|
private readonly onTheoAdsEvent;
|
|
48
|
+
private readonly onTheoLiveEvent;
|
|
48
49
|
private readonly onAddTextTrackCue;
|
|
49
50
|
private readonly onRemoveTextTrackCue;
|
|
50
51
|
private readonly onEnterTextTrackCue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebEventForwarder.d.ts","sourceRoot":"","sources":["../../../../src/internal/adapter/WebEventForwarder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoC,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"WebEventForwarder.d.ts","sourceRoot":"","sources":["../../../../src/internal/adapter/WebEventForwarder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoC,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAsCrF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AA8BnE,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;gBAEnC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,oBAAoB;IAMlE,OAAO,CAAC,iBAAiB;IA4CzB,MAAM,IAAI,IAAI;IAId,OAAO,CAAC,oBAAoB;IA2C5B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAE7B;IAEF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAE1B;IAEF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAE3B;IAEF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAY/B;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAOtB;IAEF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAEzB;IAEF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAExB;IAEF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAErB;IAEF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAExB;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAEtB;IAEF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAExB;IAEF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAEvB;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAEtB;IAEF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAExB;IAEF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAElC;IAEF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAE3B;IAEF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAE/B;IAEF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAEnC;IAEF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAEhC;IAEF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAElC;IAEF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAEhC;IAEF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAU7B;IAEF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAOhC;IAEF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAEhC;IAEF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAE9B;IAEF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAE9B;IAEF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAI9B;IAEF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAEjC;IAEF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAEjC;IAEF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAIjC;IAEF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAEjC;IAEF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAEjC;IAEF,OAAO,CAAC,kBAAkB,CAGxB;IAEF,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAEtC;IAEF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAEhC;IAEF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAEnC;IAEF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAGxB;IAEF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAE7B;IAEF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAU9B;IAEF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAKhC;IAEF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAKnC;IAEF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAKlC;IAEF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAKjC;IAEF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAKrC;CACH"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseEvent } from './BaseEvent';
|
|
2
|
-
import { Ad, AdBreak, AdEvent, AdEventType, AirplayStateChangeEvent, CastEventType, CastState, ChromecastChangeEvent, ChromecastError, ChromecastErrorEvent, DurationChangeEvent, ErrorEvent, Interstitial, LoadedMetadataEvent, MediaTrack, MediaTrackEvent, MediaTrackEventType, MediaTrackListEvent, MediaTrackType, PlayerError, PlayerEventType, PresentationMode, PresentationModeChangeContext, PresentationModeChangeEvent, ProgressEvent, Quality, RateChangeEvent, ReadyStateChangeEvent, ResizeEvent, SeekedEvent, SeekingEvent, SegmentNotFoundEvent, TextTrack, TextTrackCue, TextTrackEvent, TextTrackEventType, TextTrackListEvent, TheoAdsEvent, TheoAdsEventType, TimeRange, TimeUpdateEvent, TrackListEventType, VolumeChangeEvent } from 'react-native-theoplayer';
|
|
2
|
+
import { Ad, AdBreak, AdEvent, AdEventType, AirplayStateChangeEvent, CastEventType, CastState, ChromecastChangeEvent, ChromecastError, ChromecastErrorEvent, DurationChangeEvent, ErrorEvent, Interstitial, LoadedMetadataEvent, MediaTrack, MediaTrackEvent, MediaTrackEventType, MediaTrackListEvent, MediaTrackType, PlayerError, PlayerEventType, PresentationMode, PresentationModeChangeContext, PresentationModeChangeEvent, ProgressEvent, Quality, RateChangeEvent, ReadyStateChangeEvent, ResizeEvent, SeekedEvent, SeekingEvent, SegmentNotFoundEvent, TextTrack, TextTrackCue, TextTrackEvent, TextTrackEventType, TextTrackListEvent, TheoAdsEvent, TheoAdsEventType, TheoLiveEvent, TheoLiveDistributionEvent, TheoLiveEventType, TimeRange, TimeUpdateEvent, TrackListEventType, VolumeChangeEvent, TheoLiveEndpoint, TheoLiveEndpointLoadedEvent } from 'react-native-theoplayer';
|
|
3
3
|
export declare class DefaultLoadedMetadataEvent extends BaseEvent<PlayerEventType.LOADED_METADATA> implements LoadedMetadataEvent {
|
|
4
4
|
textTracks: TextTrack[];
|
|
5
5
|
audioTracks: MediaTrack[];
|
|
@@ -100,6 +100,20 @@ export declare class DefaultTheoAdsEvent extends BaseEvent<PlayerEventType.THEOA
|
|
|
100
100
|
interstitial: Interstitial;
|
|
101
101
|
constructor(subType: TheoAdsEventType, interstitial: Interstitial);
|
|
102
102
|
}
|
|
103
|
+
export declare class DefaultTheoLiveEvent extends BaseEvent<PlayerEventType.THEOLIVE_EVENT> implements TheoLiveEvent {
|
|
104
|
+
subType: TheoLiveEventType;
|
|
105
|
+
constructor(subType: TheoLiveEventType);
|
|
106
|
+
}
|
|
107
|
+
export declare class DefaultTheoLiveDistributionEvent extends BaseEvent<PlayerEventType.THEOLIVE_EVENT> implements TheoLiveDistributionEvent {
|
|
108
|
+
subType: TheoLiveEventType;
|
|
109
|
+
distributionId: string;
|
|
110
|
+
constructor(subType: TheoLiveEventType, distributionId: string);
|
|
111
|
+
}
|
|
112
|
+
export declare class DefaultTheoLiveEndpointLoadedEvent extends BaseEvent<PlayerEventType.THEOLIVE_EVENT> implements TheoLiveEndpointLoadedEvent {
|
|
113
|
+
subType: TheoLiveEventType;
|
|
114
|
+
endpoint?: TheoLiveEndpoint | undefined;
|
|
115
|
+
constructor(subType: TheoLiveEventType, endpoint?: TheoLiveEndpoint | undefined);
|
|
116
|
+
}
|
|
103
117
|
export declare class DefaultChromecastChangeEvent extends BaseEvent<PlayerEventType.CAST_EVENT> implements ChromecastChangeEvent {
|
|
104
118
|
state: CastState;
|
|
105
119
|
readonly subType: CastEventType.CHROMECAST_STATE_CHANGE;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlayerEvents.d.ts","sourceRoot":"","sources":["../../../../../src/internal/adapter/event/PlayerEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,EAAE,EACF,OAAO,EACP,OAAO,EACP,WAAW,EACX,uBAAuB,EACvB,aAAa,EACb,SAAS,EACT,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,6BAA6B,EAC7B,2BAA2B,EAC3B,aAAa,EACb,OAAO,EACP,eAAe,EACf,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,SAAS,EACT,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"PlayerEvents.d.ts","sourceRoot":"","sources":["../../../../../src/internal/adapter/event/PlayerEvents.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { TheoLiveEndpoint, TheoLiveEvent, TheoLiveEventType } from 'react-native-theoplayer';
|
|
2
|
+
import { NativeSyntheticEvent } from 'react-native';
|
|
3
|
+
export interface NativeTheoLiveEvent {
|
|
4
|
+
/**
|
|
5
|
+
* Type of TheoLive event.
|
|
6
|
+
*/
|
|
7
|
+
type: TheoLiveEventType;
|
|
8
|
+
/**
|
|
9
|
+
* The distribution identifier for DISTRIBUTION_LOAD_START or DISTRIBUTION_OFFLINE events
|
|
10
|
+
*/
|
|
11
|
+
distributionId: string | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* Description of the THEOlive endpoint.
|
|
14
|
+
*/
|
|
15
|
+
endpoint: TheoLiveEndpoint | undefined;
|
|
16
|
+
}
|
|
17
|
+
export declare function fromNativeTheoLiveEvent(event: NativeSyntheticEvent<NativeTheoLiveEvent>): TheoLiveEvent;
|
|
18
|
+
//# sourceMappingURL=NativeTheoLiveEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeTheoLiveEvent.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/adapter/event/native/NativeTheoLiveEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGpD,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,IAAI,EAAE,iBAAiB,CAAC;IAExB;;OAEG;IACH,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC;;OAEG;IACH,QAAQ,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACxC;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,oBAAoB,CAAC,mBAAmB,CAAC,GAAG,aAAa,CAYvG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-theoplayer",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.8.0",
|
|
4
4
|
"description": "A THEOplayer video component for react-native.",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"react": "^19.0.0",
|
|
70
70
|
"react-native": "^0.79.0",
|
|
71
71
|
"react-native-builder-bob": "^0.39.1",
|
|
72
|
-
"theoplayer": "^9.
|
|
72
|
+
"theoplayer": "^9.7.0",
|
|
73
73
|
"typedoc": "^0.25.13",
|
|
74
74
|
"typedoc-plugin-external-resolver": "^1.0.3",
|
|
75
75
|
"typedoc-plugin-mdn-links": "^3.3.4",
|
|
@@ -43,37 +43,37 @@ Pod::Spec.new do |s|
|
|
|
43
43
|
|
|
44
44
|
# THEOplayer Dependency
|
|
45
45
|
puts "Adding THEOplayerSDK-core"
|
|
46
|
-
s.dependency "THEOplayerSDK-core", "~> 9.
|
|
46
|
+
s.dependency "THEOplayerSDK-core", "~> 9.7"
|
|
47
47
|
|
|
48
48
|
# THEOlive Dependency
|
|
49
49
|
puts "Adding THEOplayer-Integration-THEOlive"
|
|
50
|
-
s.dependency "THEOplayer-Integration-THEOlive", "~> 9.
|
|
50
|
+
s.dependency "THEOplayer-Integration-THEOlive", "~> 9.7"
|
|
51
51
|
|
|
52
52
|
# Feature based integration dependencies
|
|
53
53
|
if theofeatures.include?("GOOGLE_IMA")
|
|
54
54
|
puts "Adding THEOplayer-Integration-GoogleIMA"
|
|
55
|
-
s.dependency "THEOplayer-Integration-GoogleIMA", "~> 9.
|
|
55
|
+
s.dependency "THEOplayer-Integration-GoogleIMA", "~> 9.7"
|
|
56
56
|
end
|
|
57
57
|
|
|
58
58
|
if theofeatures.include?("CHROMECAST")
|
|
59
59
|
puts "Adding THEOplayer-Integration-GoogleCast"
|
|
60
|
-
s.ios.dependency "THEOplayer-Integration-GoogleCast", "~> 9.
|
|
60
|
+
s.ios.dependency "THEOplayer-Integration-GoogleCast", "~> 9.7"
|
|
61
61
|
end
|
|
62
62
|
|
|
63
63
|
if theofeatures.include?("THEO_ADS")
|
|
64
64
|
puts "Adding THEOplayer-Integration-THEOads"
|
|
65
|
-
s.dependency "THEOplayer-Integration-THEOads", "~> 9.
|
|
65
|
+
s.dependency "THEOplayer-Integration-THEOads", "~> 9.7"
|
|
66
66
|
end
|
|
67
67
|
|
|
68
68
|
if theofeatures.include?("MILLICAST")
|
|
69
69
|
puts "Adding THEOplayer-Integration-Millicast"
|
|
70
|
-
s.dependency "THEOplayer-Integration-Millicast", "~> 9.
|
|
70
|
+
s.dependency "THEOplayer-Integration-Millicast", "~> 9.7"
|
|
71
71
|
end
|
|
72
72
|
|
|
73
73
|
# Feature based connector dependencies
|
|
74
74
|
if theofeatures.include?("SIDELOADED_TEXTTRACKS")
|
|
75
75
|
puts "Adding THEOplayer-Connector-SideloadedSubtitle"
|
|
76
|
-
s.dependency "THEOplayer-Connector-SideloadedSubtitle", "~> 9.
|
|
76
|
+
s.dependency "THEOplayer-Connector-SideloadedSubtitle", "~> 9.7"
|
|
77
77
|
end
|
|
78
78
|
|
|
79
79
|
end
|
package/src/api/barrel.ts
CHANGED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { Event, PlayerEventType, TheoLiveEndpoint } from 'react-native-theoplayer';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The THEOlive event dispatched by the {@link THEOliveAPI | THEOlive API}.
|
|
5
|
+
*
|
|
6
|
+
* @category Events
|
|
7
|
+
* @category THEOlive
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export interface TheoLiveEvent extends Event<PlayerEventType.THEOLIVE_EVENT> {
|
|
11
|
+
/**
|
|
12
|
+
* Type of THEOlive event.
|
|
13
|
+
*/
|
|
14
|
+
subType: TheoLiveEventType;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Dispatched when the loading of a THEOlive distribution starts.
|
|
19
|
+
*
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
export interface TheoLiveDistributionEvent extends TheoLiveEvent {
|
|
23
|
+
/**
|
|
24
|
+
* The distribution identifier
|
|
25
|
+
*/
|
|
26
|
+
distributionId: string;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Dispatched when the loading of a THEOlive endpoint is complete and playback can start.
|
|
31
|
+
* This event is dispatched on every endpoint load, when an error is encountered and the player recovers by choosing
|
|
32
|
+
* a new one.
|
|
33
|
+
*
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
export interface TheoLiveEndpointLoadedEvent extends TheoLiveEvent {
|
|
37
|
+
/**
|
|
38
|
+
* The distribution identifier
|
|
39
|
+
*
|
|
40
|
+
* @platform android,web
|
|
41
|
+
*/
|
|
42
|
+
endpoint?: TheoLiveEndpoint;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* The THEOlive eventTypes used as subType in TheoLiveEvents.
|
|
47
|
+
* @category Events
|
|
48
|
+
* @category THEOlive
|
|
49
|
+
* @public
|
|
50
|
+
*/
|
|
51
|
+
export enum TheoLiveEventType {
|
|
52
|
+
/**
|
|
53
|
+
* Dispatched when the loading of a THEOlive distribution starts.
|
|
54
|
+
*
|
|
55
|
+
* @public
|
|
56
|
+
*/
|
|
57
|
+
DISTRIBUTION_LOAD_START = 'distributionloadstart',
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Dispatched when loading a THEOlive distribution that cannot be played, for example because the publication is
|
|
61
|
+
* stopped or is still starting up.
|
|
62
|
+
*
|
|
63
|
+
* @public
|
|
64
|
+
*/
|
|
65
|
+
DISTRIBUTION_OFFLINE = 'distributionoffline',
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Dispatched when the loading of a THEOlive endpoint is complete and playback can start.
|
|
69
|
+
* This event is dispatched on every endpoint load, when an error is encountered and the player recovers by choosing
|
|
70
|
+
* a new one.
|
|
71
|
+
*
|
|
72
|
+
* @public
|
|
73
|
+
*/
|
|
74
|
+
ENDPOINT_LOADED = 'endpointloaded',
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Dispatched when the player cannot play the current primary publication and would like to fallback.
|
|
78
|
+
* If a fallback has been configured it will fallback, otherwise only the event is dispatched.
|
|
79
|
+
*
|
|
80
|
+
* @public
|
|
81
|
+
*/
|
|
82
|
+
INTENT_TO_FALLBACK = 'intenttofallback'
|
|
83
|
+
}
|
package/src/api/event/barrel.ts
CHANGED
|
@@ -16,6 +16,7 @@ import type { MediaTrackEvent, MediaTrackListEvent, TextTrackEvent, TextTrackLis
|
|
|
16
16
|
import type { AdEvent } from '../event/AdEvent';
|
|
17
17
|
import type { CastEvent } from '../event/CastEvent';
|
|
18
18
|
import type { TheoAdsEvent } from '../event/TheoAdsEvent';
|
|
19
|
+
import type { TheoLiveEvent } from '../event/TheoLiveEvent';
|
|
19
20
|
|
|
20
21
|
/**
|
|
21
22
|
* The event types dispatched by the {@link Player}.
|
|
@@ -49,6 +50,7 @@ export enum PlayerEventType {
|
|
|
49
50
|
MEDIA_TRACK = 'mediatrack',
|
|
50
51
|
AD_EVENT = 'adevent',
|
|
51
52
|
THEOADS_EVENT = 'theoads',
|
|
53
|
+
THEOLIVE_EVENT = 'theolive',
|
|
52
54
|
CAST_EVENT = 'castevent',
|
|
53
55
|
VOLUME_CHANGE = 'volumechange',
|
|
54
56
|
WAITING = 'waiting',
|
|
@@ -205,6 +207,11 @@ export interface PlayerEventMap {
|
|
|
205
207
|
*/
|
|
206
208
|
[PlayerEventType.THEOADS_EVENT]: TheoAdsEvent;
|
|
207
209
|
|
|
210
|
+
/**
|
|
211
|
+
* Dispatched when a THEOlive event occurs.
|
|
212
|
+
*/
|
|
213
|
+
[PlayerEventType.THEOLIVE_EVENT]: TheoLiveEvent;
|
|
214
|
+
|
|
208
215
|
/**
|
|
209
216
|
* Dispatched when a cast event occurs, either for Chromecast or Airplay.
|
|
210
217
|
*/
|
|
@@ -55,6 +55,7 @@ export type CrossOriginSetting = '' | 'anonymous' | 'use-credentials';
|
|
|
55
55
|
*
|
|
56
56
|
* @category Source
|
|
57
57
|
* @public
|
|
58
|
+
* @deprecated use {@link TypedSource.type} instead.
|
|
58
59
|
*/
|
|
59
60
|
export enum SourceIntegrationId {
|
|
60
61
|
THEO_LIVE = 'theolive'
|
|
@@ -306,6 +307,8 @@ export interface BaseSource {
|
|
|
306
307
|
*
|
|
307
308
|
* @remarks
|
|
308
309
|
* <br/> - This can be used to signal that a source is specific to an integration.
|
|
310
|
+
*
|
|
311
|
+
* @deprecated use {@link TypedSource.type} instead.
|
|
309
312
|
*/
|
|
310
313
|
integration?: SourceIntegrationId;
|
|
311
314
|
|
|
@@ -394,6 +397,8 @@ export interface TypedSource extends BaseSource {
|
|
|
394
397
|
* <br/> - `'application/x-mpegURL'` or `'application/vnd.apple.mpegurl'`: The media resource is an HLS stream.
|
|
395
398
|
* <br/> - `'video/mp4'`, `'video/webm'` and other formats: The media resource should use native HTML5 playback if supported by the browser.
|
|
396
399
|
* <br/> - `'application/vnd.theo.hesp+json'`: The media resource is an HESP stream.
|
|
400
|
+
* <br/> - `'millicast'`: The media resource is a {@link MillicastSource | Millicast stream}.
|
|
401
|
+
* <br/> - `'theolive'`: The media resource is a {@link TheoLiveSource | THEOlive stream}.
|
|
397
402
|
*/
|
|
398
403
|
type?: string;
|
|
399
404
|
|
|
@@ -263,10 +263,10 @@ export interface DRMConfiguration {
|
|
|
263
263
|
}
|
|
264
264
|
|
|
265
265
|
/**
|
|
266
|
-
* The id of a key system.
|
|
266
|
+
* The id of a key system.
|
|
267
267
|
*
|
|
268
268
|
* @category Content Protection
|
|
269
269
|
* @category Source
|
|
270
270
|
* @public
|
|
271
271
|
*/
|
|
272
|
-
export type KeySystemId = 'widevine' | 'fairplay' | 'playready';
|
|
272
|
+
export type KeySystemId = 'widevine' | 'fairplay' | 'playready' | 'clearkey';
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Description of a THEOlive Endpoint.
|
|
3
|
+
*
|
|
4
|
+
* @category THEOlive
|
|
5
|
+
* @platform android,web
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export interface TheoLiveEndpoint {
|
|
9
|
+
hespSrc?: string;
|
|
10
|
+
hlsSrc?: string;
|
|
11
|
+
adSrc?: string;
|
|
12
|
+
weight: number;
|
|
13
|
+
priority: number;
|
|
14
|
+
contentProtection?: ChannelDrmConfigResponse;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Description of a channel's content protection configuration.
|
|
19
|
+
*/
|
|
20
|
+
export interface ChannelDrmConfigResponse {
|
|
21
|
+
integration: string;
|
|
22
|
+
widevine?: {
|
|
23
|
+
licenseUrl: string;
|
|
24
|
+
};
|
|
25
|
+
playready?: {
|
|
26
|
+
licenseUrl: string;
|
|
27
|
+
};
|
|
28
|
+
fairplay?: {
|
|
29
|
+
licenseUrl: string;
|
|
30
|
+
certificateUrl: string;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
@@ -5,6 +5,7 @@ import { SourceIntegrationId, TypedSource } from 'react-native-theoplayer';
|
|
|
5
5
|
*
|
|
6
6
|
* @category Source
|
|
7
7
|
* @public
|
|
8
|
+
* @deprecated use {@link TypedSource.type} instead.
|
|
8
9
|
*/
|
|
9
10
|
export interface TheoLiveSource extends TypedSource {
|
|
10
11
|
integration: SourceIntegrationId.THEO_LIVE;
|
|
@@ -67,6 +67,7 @@ import type {
|
|
|
67
67
|
NativeSeekedEvent,
|
|
68
68
|
} from './adapter/event/native/NativePlayerEvent';
|
|
69
69
|
import type { NativeAdEvent } from './adapter/event/native/NativeAdEvent';
|
|
70
|
+
import { fromNativeTheoLiveEvent, NativeTheoLiveEvent } from './adapter/event/native/NativeTheoLiveEvent';
|
|
70
71
|
import { THEOplayerAdapter } from './adapter/THEOplayerAdapter';
|
|
71
72
|
import { getFullscreenSize } from './utils/Dimensions';
|
|
72
73
|
import { Poster } from './poster/Poster';
|
|
@@ -103,6 +104,7 @@ interface THEOplayerRCTViewProps {
|
|
|
103
104
|
onNativeMediaTrackListEvent: (event: NativeSyntheticEvent<NativeMediaTrackListEvent>) => void;
|
|
104
105
|
onNativeMediaTrackEvent: (event: NativeSyntheticEvent<NativeMediaTrackEvent>) => void;
|
|
105
106
|
onNativeAdEvent: (event: NativeSyntheticEvent<NativeAdEvent>) => void;
|
|
107
|
+
onNativeTHEOliveEvent: (event: NativeSyntheticEvent<NativeTheoLiveEvent>) => void;
|
|
106
108
|
onNativeCastEvent: (event: NativeSyntheticEvent<NativeCastEvent>) => void;
|
|
107
109
|
onNativePresentationModeChange: (event: NativeSyntheticEvent<NativePresentationModeChangeEvent>) => void;
|
|
108
110
|
onNativeResize: (event: NativeSyntheticEvent<NativeResizeEvent>) => void;
|
|
@@ -332,6 +334,10 @@ export class THEOplayerView extends PureComponent<React.PropsWithChildren<THEOpl
|
|
|
332
334
|
this._facade.dispatchEvent(new DefaultAdEvent(nativeEvent.type, nativeEvent.ad));
|
|
333
335
|
};
|
|
334
336
|
|
|
337
|
+
private _onTHEOliveEvent = (event: NativeSyntheticEvent<NativeTheoLiveEvent>) => {
|
|
338
|
+
this._facade.dispatchEvent(fromNativeTheoLiveEvent(event));
|
|
339
|
+
};
|
|
340
|
+
|
|
335
341
|
private _onCastEvent = (event: NativeSyntheticEvent<NativeCastEvent>) => {
|
|
336
342
|
switch (event.nativeEvent.type) {
|
|
337
343
|
case CastEventType.CHROMECAST_STATE_CHANGE:
|
|
@@ -415,6 +421,7 @@ export class THEOplayerView extends PureComponent<React.PropsWithChildren<THEOpl
|
|
|
415
421
|
onNativeMediaTrackListEvent={this._onMediaTrackListEvent}
|
|
416
422
|
onNativeMediaTrackEvent={this._onMediaTrackEvent}
|
|
417
423
|
onNativeAdEvent={this._onAdEvent}
|
|
424
|
+
onNativeTHEOliveEvent={this._onTHEOliveEvent}
|
|
418
425
|
onNativeCastEvent={this._onCastEvent}
|
|
419
426
|
onNativePresentationModeChange={this._onPresentationModeChange}
|
|
420
427
|
onNativeResize={this._onResize}
|
|
@@ -19,9 +19,10 @@ import type {
|
|
|
19
19
|
VolumeChangeEvent as NativeVolumeChangeEvent,
|
|
20
20
|
DimensionChangeEvent as NativeDimensionChangeEvent,
|
|
21
21
|
TheoAdsEventsMap as NativeTheoAdsEventMap,
|
|
22
|
+
TheoLiveApiEventMap as NativeTheoLiveEventMap,
|
|
22
23
|
InterstitialEvent,
|
|
23
24
|
} from 'theoplayer';
|
|
24
|
-
import
|
|
25
|
+
import { AdEvent, MediaTrack, TheoLiveEndpoint, TimeRange } from 'react-native-theoplayer';
|
|
25
26
|
import {
|
|
26
27
|
AdEventType,
|
|
27
28
|
CastState,
|
|
@@ -33,6 +34,7 @@ import {
|
|
|
33
34
|
TextTrackMode,
|
|
34
35
|
TrackListEventType,
|
|
35
36
|
TheoAdsEventType,
|
|
37
|
+
TheoLiveEventType,
|
|
36
38
|
} from 'react-native-theoplayer';
|
|
37
39
|
import type { THEOplayerWebAdapter } from './THEOplayerWebAdapter';
|
|
38
40
|
import { BaseEvent } from './event/BaseEvent';
|
|
@@ -56,6 +58,9 @@ import {
|
|
|
56
58
|
DefaultTextTrackEvent,
|
|
57
59
|
DefaultTextTrackListEvent,
|
|
58
60
|
DefaultTheoAdsEvent,
|
|
61
|
+
DefaultTheoLiveDistributionEvent,
|
|
62
|
+
DefaultTheoLiveEndpointLoadedEvent,
|
|
63
|
+
DefaultTheoLiveEvent,
|
|
59
64
|
DefaultTimeupdateEvent,
|
|
60
65
|
DefaultVolumeChangeEvent,
|
|
61
66
|
} from './event/PlayerEvents';
|
|
@@ -112,6 +117,7 @@ export class WebEventForwarder {
|
|
|
112
117
|
|
|
113
118
|
this._player.ads?.addEventListener(FORWARDED_AD_EVENTS, this.onAdEvent);
|
|
114
119
|
this._player.theoads?.addEventListener(FORWARDED_THEOADS_EVENTS, this.onTheoAdsEvent);
|
|
120
|
+
this._player.theoLive?.addEventListener(FORWARDED_THEOLIVE_EVENTS, this.onTheoLiveEvent);
|
|
115
121
|
}
|
|
116
122
|
|
|
117
123
|
unload(): void {
|
|
@@ -158,6 +164,7 @@ export class WebEventForwarder {
|
|
|
158
164
|
|
|
159
165
|
this._player.ads?.removeEventListener(FORWARDED_AD_EVENTS, this.onAdEvent);
|
|
160
166
|
this._player.theoads?.removeEventListener(FORWARDED_THEOADS_EVENTS, this.onTheoAdsEvent);
|
|
167
|
+
this._player.theoLive?.removeEventListener(FORWARDED_THEOLIVE_EVENTS, this.onTheoLiveEvent);
|
|
161
168
|
}
|
|
162
169
|
|
|
163
170
|
private readonly onSourceChange = () => {
|
|
@@ -346,6 +353,18 @@ export class WebEventForwarder {
|
|
|
346
353
|
this._facade.dispatchEvent(new DefaultTheoAdsEvent(event.type as TheoAdsEventType, event.interstitial));
|
|
347
354
|
};
|
|
348
355
|
|
|
356
|
+
private readonly onTheoLiveEvent = (event: NativeEvent) => {
|
|
357
|
+
if (event.type === TheoLiveEventType.DISTRIBUTION_LOAD_START || event.type === TheoLiveEventType.DISTRIBUTION_OFFLINE) {
|
|
358
|
+
const { distributionId } = event as unknown as { distributionId: string };
|
|
359
|
+
this._facade.dispatchEvent(new DefaultTheoLiveDistributionEvent(event.type as TheoLiveEventType, distributionId));
|
|
360
|
+
} else if (event.type === TheoLiveEventType.ENDPOINT_LOADED) {
|
|
361
|
+
const { endpoint } = event as unknown as { endpoint: TheoLiveEndpoint };
|
|
362
|
+
this._facade.dispatchEvent(new DefaultTheoLiveEndpointLoadedEvent(event.type as TheoLiveEventType, endpoint));
|
|
363
|
+
} else {
|
|
364
|
+
this._facade.dispatchEvent(new DefaultTheoLiveEvent(event.type as TheoLiveEventType));
|
|
365
|
+
}
|
|
366
|
+
};
|
|
367
|
+
|
|
349
368
|
private readonly onAddTextTrackCue = (track: NativeTextTrack) => (event: NativeEvent<'addcue'>) => {
|
|
350
369
|
const { cue } = event as unknown as { cue: NativeTextTrackCue };
|
|
351
370
|
if (cue) {
|
|
@@ -412,6 +431,13 @@ const FORWARDED_THEOADS_EVENTS = [
|
|
|
412
431
|
TheoAdsEventType.INTERSTITIAL_ERROR,
|
|
413
432
|
] as (keyof NativeTheoAdsEventMap)[];
|
|
414
433
|
|
|
434
|
+
const FORWARDED_THEOLIVE_EVENTS = [
|
|
435
|
+
TheoLiveEventType.DISTRIBUTION_LOAD_START,
|
|
436
|
+
TheoLiveEventType.DISTRIBUTION_OFFLINE,
|
|
437
|
+
TheoLiveEventType.ENDPOINT_LOADED,
|
|
438
|
+
TheoLiveEventType.INTENT_TO_FALLBACK,
|
|
439
|
+
] as (keyof NativeTheoLiveEventMap)[];
|
|
440
|
+
|
|
415
441
|
function fromTimeRanges(timeRanges: TimeRanges): TimeRange[] {
|
|
416
442
|
const result: TimeRange[] = [];
|
|
417
443
|
for (let i = 0; i < timeRanges.length; i++) {
|
|
@@ -39,10 +39,15 @@ import {
|
|
|
39
39
|
TextTrackListEvent,
|
|
40
40
|
TheoAdsEvent,
|
|
41
41
|
TheoAdsEventType,
|
|
42
|
+
TheoLiveEvent,
|
|
43
|
+
TheoLiveDistributionEvent,
|
|
44
|
+
TheoLiveEventType,
|
|
42
45
|
TimeRange,
|
|
43
46
|
TimeUpdateEvent,
|
|
44
47
|
TrackListEventType,
|
|
45
48
|
VolumeChangeEvent,
|
|
49
|
+
TheoLiveEndpoint,
|
|
50
|
+
TheoLiveEndpointLoadedEvent,
|
|
46
51
|
} from 'react-native-theoplayer';
|
|
47
52
|
|
|
48
53
|
export class DefaultLoadedMetadataEvent extends BaseEvent<PlayerEventType.LOADED_METADATA> implements LoadedMetadataEvent {
|
|
@@ -209,6 +214,30 @@ export class DefaultTheoAdsEvent extends BaseEvent<PlayerEventType.THEOADS_EVENT
|
|
|
209
214
|
}
|
|
210
215
|
}
|
|
211
216
|
|
|
217
|
+
export class DefaultTheoLiveEvent extends BaseEvent<PlayerEventType.THEOLIVE_EVENT> implements TheoLiveEvent {
|
|
218
|
+
constructor(public subType: TheoLiveEventType) {
|
|
219
|
+
super(PlayerEventType.THEOLIVE_EVENT);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
export class DefaultTheoLiveDistributionEvent extends BaseEvent<PlayerEventType.THEOLIVE_EVENT> implements TheoLiveDistributionEvent {
|
|
224
|
+
constructor(
|
|
225
|
+
public subType: TheoLiveEventType,
|
|
226
|
+
public distributionId: string,
|
|
227
|
+
) {
|
|
228
|
+
super(PlayerEventType.THEOLIVE_EVENT);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
export class DefaultTheoLiveEndpointLoadedEvent extends BaseEvent<PlayerEventType.THEOLIVE_EVENT> implements TheoLiveEndpointLoadedEvent {
|
|
233
|
+
constructor(
|
|
234
|
+
public subType: TheoLiveEventType,
|
|
235
|
+
public endpoint?: TheoLiveEndpoint,
|
|
236
|
+
) {
|
|
237
|
+
super(PlayerEventType.THEOLIVE_EVENT);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
|
|
212
241
|
export class DefaultChromecastChangeEvent extends BaseEvent<PlayerEventType.CAST_EVENT> implements ChromecastChangeEvent {
|
|
213
242
|
readonly subType: CastEventType.CHROMECAST_STATE_CHANGE;
|
|
214
243
|
|