react-native-theoplayer 3.7.1 → 3.9.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 +24 -1
- package/android/build.gradle +2 -1
- package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/6.10.0/ads-wrapper-6.10.0.aar +0 -0
- package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/{4.8.0/ads-wrapper-4.8.0.pom → 6.10.0/ads-wrapper-6.10.0.pom} +1 -1
- 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 +4 -0
- package/android/src/main/java/com/theoplayer/ReactTHEOplayerContext.kt +7 -0
- package/android/src/main/java/com/theoplayer/ads/AdEventAdapter.kt +9 -4
- package/android/src/main/java/com/theoplayer/ads/AdsModule.kt +1 -1
- package/android/src/main/java/com/theoplayer/audio/AudioFocusManager.kt +57 -26
- package/android/src/main/java/com/theoplayer/broadcast/EventBroadcastModule.kt +1 -1
- package/android/src/main/java/com/theoplayer/cache/CacheModule.kt +1 -1
- package/android/src/main/java/com/theoplayer/cast/CastModule.kt +1 -1
- package/android/src/main/java/com/theoplayer/drm/ContentProtectionModule.kt +1 -1
- package/android/src/main/java/com/theoplayer/media/MediaPlaybackService.kt +8 -17
- package/android/src/main/java/com/theoplayer/player/PlayerModule.kt +1 -1
- package/ios/THEOplayerRCTBridge.m +6 -6
- package/ios/THEOplayerRCTPlayerAPI.swift +25 -25
- package/ios/ads/THEOplayerRCTAdsAPI.swift +17 -17
- package/ios/backgroundAudio/THEOplayerRCTNowPlayingManager.swift +4 -0
- package/ios/cache/THEOplayerRCTCacheAPI.swift +29 -29
- package/ios/casting/THEOplayerRCTCastAPI.swift +9 -9
- package/ios/contentprotection/THEOplayerRCTContentProtectionAPI.swift +22 -22
- package/ios/eventBroadcasting/THEOplayerRCTEventBroadcastAPI.swift +5 -5
- package/lib/commonjs/api/config/PlayerConfiguration.js.map +1 -1
- package/lib/commonjs/internal/adapter/THEOplayerAdapter.js +19 -18
- package/lib/commonjs/internal/adapter/THEOplayerAdapter.js.map +1 -1
- package/lib/commonjs/internal/adapter/abr/AbrAdapter.js +2 -1
- package/lib/commonjs/internal/adapter/abr/AbrAdapter.js.map +1 -1
- package/lib/commonjs/internal/adapter/ads/THEOplayerNativeAdsAdapter.js +7 -6
- package/lib/commonjs/internal/adapter/ads/THEOplayerNativeAdsAdapter.js.map +1 -1
- package/lib/commonjs/internal/adapter/ads/THEOplayerNativeGoogleDAI.js +5 -4
- package/lib/commonjs/internal/adapter/ads/THEOplayerNativeGoogleDAI.js.map +1 -1
- package/lib/commonjs/internal/adapter/broadcast/EventBroadcastAdapter.js +2 -1
- package/lib/commonjs/internal/adapter/broadcast/EventBroadcastAdapter.js.map +1 -1
- package/lib/commonjs/internal/adapter/cast/THEOplayerNativeAirplay.js +5 -4
- package/lib/commonjs/internal/adapter/cast/THEOplayerNativeAirplay.js.map +1 -1
- package/lib/commonjs/internal/adapter/cast/THEOplayerNativeChromecast.js +7 -6
- package/lib/commonjs/internal/adapter/cast/THEOplayerNativeChromecast.js.map +1 -1
- package/lib/commonjs/internal/adapter/track/TextTrackStyleAdapter.js +11 -10
- package/lib/commonjs/internal/adapter/track/TextTrackStyleAdapter.js.map +1 -1
- package/lib/commonjs/internal/cache/MediaCache.js +4 -3
- package/lib/commonjs/internal/cache/MediaCache.js.map +1 -1
- package/lib/commonjs/internal/cache/NativeCachingTaskAdapter.js +5 -4
- package/lib/commonjs/internal/cache/NativeCachingTaskAdapter.js.map +1 -1
- package/lib/commonjs/internal/drm/ContentProtectionRegistry.js +23 -22
- package/lib/commonjs/internal/drm/ContentProtectionRegistry.js.map +1 -1
- package/lib/module/api/config/PlayerConfiguration.js.map +1 -1
- package/lib/module/internal/adapter/THEOplayerAdapter.js +19 -18
- package/lib/module/internal/adapter/THEOplayerAdapter.js.map +1 -1
- package/lib/module/internal/adapter/abr/AbrAdapter.js +2 -1
- package/lib/module/internal/adapter/abr/AbrAdapter.js.map +1 -1
- package/lib/module/internal/adapter/ads/THEOplayerNativeAdsAdapter.js +7 -6
- package/lib/module/internal/adapter/ads/THEOplayerNativeAdsAdapter.js.map +1 -1
- package/lib/module/internal/adapter/ads/THEOplayerNativeGoogleDAI.js +5 -4
- package/lib/module/internal/adapter/ads/THEOplayerNativeGoogleDAI.js.map +1 -1
- package/lib/module/internal/adapter/broadcast/EventBroadcastAdapter.js +2 -1
- package/lib/module/internal/adapter/broadcast/EventBroadcastAdapter.js.map +1 -1
- package/lib/module/internal/adapter/cast/THEOplayerNativeAirplay.js +5 -4
- package/lib/module/internal/adapter/cast/THEOplayerNativeAirplay.js.map +1 -1
- package/lib/module/internal/adapter/cast/THEOplayerNativeChromecast.js +7 -6
- package/lib/module/internal/adapter/cast/THEOplayerNativeChromecast.js.map +1 -1
- package/lib/module/internal/adapter/track/TextTrackStyleAdapter.js +11 -10
- package/lib/module/internal/adapter/track/TextTrackStyleAdapter.js.map +1 -1
- package/lib/module/internal/cache/MediaCache.js +4 -3
- package/lib/module/internal/cache/MediaCache.js.map +1 -1
- package/lib/module/internal/cache/NativeCachingTaskAdapter.js +5 -4
- package/lib/module/internal/cache/NativeCachingTaskAdapter.js.map +1 -1
- package/lib/module/internal/drm/ContentProtectionRegistry.js +23 -22
- package/lib/module/internal/drm/ContentProtectionRegistry.js.map +1 -1
- package/lib/typescript/api/config/PlayerConfiguration.d.ts +10 -0
- package/package.json +1 -1
- package/react-native-theoplayer.podspec +11 -6
- package/src/api/config/PlayerConfiguration.ts +11 -0
- package/src/internal/adapter/THEOplayerAdapter.ts +20 -18
- package/src/internal/adapter/abr/AbrAdapter.ts +3 -1
- package/src/internal/adapter/ads/THEOplayerNativeAdsAdapter.ts +8 -6
- package/src/internal/adapter/ads/THEOplayerNativeGoogleDAI.ts +6 -4
- package/src/internal/adapter/broadcast/EventBroadcastAdapter.ts +3 -1
- package/src/internal/adapter/cast/THEOplayerNativeAirplay.ts +6 -4
- package/src/internal/adapter/cast/THEOplayerNativeChromecast.ts +8 -6
- package/src/internal/adapter/track/TextTrackStyleAdapter.ts +11 -10
- package/src/internal/cache/MediaCache.ts +5 -3
- package/src/internal/cache/NativeCachingTaskAdapter.ts +6 -4
- package/src/internal/drm/ContentProtectionRegistry.ts +24 -22
- package/android/local/com/theoplayer/theoplayer-sdk-android/ads-wrapper/4.8.0/ads-wrapper-4.8.0.aar +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","AbrAdapter","constructor","view","_defineProperty","_view","strategy","_strategy","updateConfig","targetBuffer","_targetBuffer","
|
|
1
|
+
{"version":3,"names":["NativeModules","NativePlayerModule","THEORCTPlayerModule","AbrAdapter","constructor","view","_defineProperty","_view","strategy","_strategy","updateConfig","targetBuffer","_targetBuffer","setABRConfig","nativeHandle"],"sources":["AbrAdapter.ts"],"sourcesContent":["import type { ABRConfiguration, ABRStrategy, THEOplayerView } from 'react-native-theoplayer';\nimport { NativeModules } from 'react-native';\n\nconst NativePlayerModule = NativeModules.THEORCTPlayerModule;\n\nexport class AbrAdapter implements ABRConfiguration {\n private readonly _view: THEOplayerView;\n private _strategy: ABRStrategy | undefined;\n private _targetBuffer: number | undefined;\n\n constructor(view: THEOplayerView) {\n this._view = view;\n }\n\n get strategy(): ABRStrategy | undefined {\n return this._strategy;\n }\n\n set strategy(strategy: ABRStrategy | undefined) {\n this._strategy = strategy;\n this.updateConfig();\n }\n\n get targetBuffer(): number | undefined {\n return this._targetBuffer;\n }\n\n set targetBuffer(targetBuffer: number | undefined) {\n this._targetBuffer = targetBuffer;\n this.updateConfig();\n }\n\n private updateConfig() {\n NativePlayerModule.setABRConfig(this._view.nativeHandle, {\n targetBuffer: this._targetBuffer,\n strategy: this._strategy,\n });\n }\n}\n"],"mappings":";;;AACA,SAASA,aAAa,QAAQ,cAAc;AAE5C,MAAMC,kBAAkB,GAAGD,aAAa,CAACE,mBAAmB;AAE5D,OAAO,MAAMC,UAAU,CAA6B;EAKlDC,WAAWA,CAACC,IAAoB,EAAE;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAChC,IAAI,CAACC,KAAK,GAAGF,IAAI;EACnB;EAEA,IAAIG,QAAQA,CAAA,EAA4B;IACtC,OAAO,IAAI,CAACC,SAAS;EACvB;EAEA,IAAID,QAAQA,CAACA,QAAiC,EAAE;IAC9C,IAAI,CAACC,SAAS,GAAGD,QAAQ;IACzB,IAAI,CAACE,YAAY,CAAC,CAAC;EACrB;EAEA,IAAIC,YAAYA,CAAA,EAAuB;IACrC,OAAO,IAAI,CAACC,aAAa;EAC3B;EAEA,IAAID,YAAYA,CAACA,YAAgC,EAAE;IACjD,IAAI,CAACC,aAAa,GAAGD,YAAY;IACjC,IAAI,CAACD,YAAY,CAAC,CAAC;EACrB;EAEQA,YAAYA,CAAA,EAAG;IACrBT,kBAAkB,CAACY,YAAY,CAAC,IAAI,CAACN,KAAK,CAACO,YAAY,EAAE;MACvDH,YAAY,EAAE,IAAI,CAACC,aAAa;MAChCJ,QAAQ,EAAE,IAAI,CAACC;IACjB,CAAC,CAAC;EACJ;AACF"}
|
|
@@ -3,6 +3,7 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
|
|
|
3
3
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
4
4
|
import { NativeModules } from 'react-native';
|
|
5
5
|
import { THEOplayerNativeGoogleDAI } from './THEOplayerNativeGoogleDAI';
|
|
6
|
+
const NativeAdsModule = NativeModules.THEORCTAdsModule;
|
|
6
7
|
export class THEOplayerNativeAdsAdapter {
|
|
7
8
|
constructor(_player) {
|
|
8
9
|
this._player = _player;
|
|
@@ -10,22 +11,22 @@ export class THEOplayerNativeAdsAdapter {
|
|
|
10
11
|
this._dai = new THEOplayerNativeGoogleDAI(this._player);
|
|
11
12
|
}
|
|
12
13
|
playing() {
|
|
13
|
-
return
|
|
14
|
+
return NativeAdsModule.playing(this._player.nativeHandle);
|
|
14
15
|
}
|
|
15
16
|
skip() {
|
|
16
|
-
|
|
17
|
+
NativeAdsModule.skip(this._player.nativeHandle);
|
|
17
18
|
}
|
|
18
19
|
currentAdBreak() {
|
|
19
|
-
return
|
|
20
|
+
return NativeAdsModule.currentAdBreak(this._player.nativeHandle);
|
|
20
21
|
}
|
|
21
22
|
currentAds() {
|
|
22
|
-
return
|
|
23
|
+
return NativeAdsModule.currentAds(this._player.nativeHandle);
|
|
23
24
|
}
|
|
24
25
|
scheduledAdBreaks() {
|
|
25
|
-
return
|
|
26
|
+
return NativeAdsModule.scheduledAdBreaks(this._player.nativeHandle);
|
|
26
27
|
}
|
|
27
28
|
schedule(ad) {
|
|
28
|
-
|
|
29
|
+
NativeAdsModule.schedule(this._player.nativeHandle, ad);
|
|
29
30
|
}
|
|
30
31
|
get dai() {
|
|
31
32
|
return this._dai;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","THEOplayerNativeGoogleDAI","THEOplayerNativeAdsAdapter","constructor","_player","_defineProperty","_dai","playing","
|
|
1
|
+
{"version":3,"names":["NativeModules","THEOplayerNativeGoogleDAI","NativeAdsModule","THEORCTAdsModule","THEOplayerNativeAdsAdapter","constructor","_player","_defineProperty","_dai","playing","nativeHandle","skip","currentAdBreak","currentAds","scheduledAdBreaks","schedule","ad","dai"],"sources":["THEOplayerNativeAdsAdapter.ts"],"sourcesContent":["import type { Ad, AdBreak, AdDescription, AdsAPI, GoogleDAI, THEOplayerView } from 'react-native-theoplayer';\nimport { NativeModules } from 'react-native';\nimport { THEOplayerNativeGoogleDAI } from './THEOplayerNativeGoogleDAI';\n\nconst NativeAdsModule = NativeModules.THEORCTAdsModule;\n\nexport class THEOplayerNativeAdsAdapter implements AdsAPI {\n private readonly _dai: GoogleDAI;\n\n constructor(private _player: THEOplayerView) {\n this._dai = new THEOplayerNativeGoogleDAI(this._player);\n }\n\n playing(): Promise<boolean> {\n return NativeAdsModule.playing(this._player.nativeHandle);\n }\n\n skip(): void {\n NativeAdsModule.skip(this._player.nativeHandle);\n }\n\n currentAdBreak(): Promise<AdBreak> {\n return NativeAdsModule.currentAdBreak(this._player.nativeHandle);\n }\n\n currentAds(): Promise<Ad[]> {\n return NativeAdsModule.currentAds(this._player.nativeHandle);\n }\n\n scheduledAdBreaks(): Promise<AdBreak[]> {\n return NativeAdsModule.scheduledAdBreaks(this._player.nativeHandle);\n }\n\n schedule(ad: AdDescription): void {\n NativeAdsModule.schedule(this._player.nativeHandle, ad);\n }\n\n get dai(): GoogleDAI | undefined {\n return this._dai;\n }\n}\n"],"mappings":";;;AACA,SAASA,aAAa,QAAQ,cAAc;AAC5C,SAASC,yBAAyB,QAAQ,6BAA6B;AAEvE,MAAMC,eAAe,GAAGF,aAAa,CAACG,gBAAgB;AAEtD,OAAO,MAAMC,0BAA0B,CAAmB;EAGxDC,WAAWA,CAASC,OAAuB,EAAE;IAAA,KAAzBA,OAAuB,GAAvBA,OAAuB;IAAAC,eAAA;IACzC,IAAI,CAACC,IAAI,GAAG,IAAIP,yBAAyB,CAAC,IAAI,CAACK,OAAO,CAAC;EACzD;EAEAG,OAAOA,CAAA,EAAqB;IAC1B,OAAOP,eAAe,CAACO,OAAO,CAAC,IAAI,CAACH,OAAO,CAACI,YAAY,CAAC;EAC3D;EAEAC,IAAIA,CAAA,EAAS;IACXT,eAAe,CAACS,IAAI,CAAC,IAAI,CAACL,OAAO,CAACI,YAAY,CAAC;EACjD;EAEAE,cAAcA,CAAA,EAAqB;IACjC,OAAOV,eAAe,CAACU,cAAc,CAAC,IAAI,CAACN,OAAO,CAACI,YAAY,CAAC;EAClE;EAEAG,UAAUA,CAAA,EAAkB;IAC1B,OAAOX,eAAe,CAACW,UAAU,CAAC,IAAI,CAACP,OAAO,CAACI,YAAY,CAAC;EAC9D;EAEAI,iBAAiBA,CAAA,EAAuB;IACtC,OAAOZ,eAAe,CAACY,iBAAiB,CAAC,IAAI,CAACR,OAAO,CAACI,YAAY,CAAC;EACrE;EAEAK,QAAQA,CAACC,EAAiB,EAAQ;IAChCd,eAAe,CAACa,QAAQ,CAAC,IAAI,CAACT,OAAO,CAACI,YAAY,EAAEM,EAAE,CAAC;EACzD;EAEA,IAAIC,GAAGA,CAAA,EAA0B;IAC/B,OAAO,IAAI,CAACT,IAAI;EAClB;AACF"}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import { NativeModules } from 'react-native';
|
|
2
|
+
const NativeAdsModule = NativeModules.THEORCTAdsModule;
|
|
2
3
|
export class THEOplayerNativeGoogleDAI {
|
|
3
4
|
constructor(_player) {
|
|
4
5
|
this._player = _player;
|
|
5
6
|
}
|
|
6
7
|
get snapback() {
|
|
7
|
-
return
|
|
8
|
+
return NativeAdsModule.daiSnapback(this._player.nativeHandle);
|
|
8
9
|
}
|
|
9
10
|
setSnapback(enabled) {
|
|
10
|
-
|
|
11
|
+
NativeAdsModule.daiSetSnapback(this._player.nativeHandle, enabled);
|
|
11
12
|
}
|
|
12
13
|
contentTimeForStreamTime(time) {
|
|
13
|
-
return
|
|
14
|
+
return NativeAdsModule.daiContentTimeForStreamTime(this._player.nativeHandle, time);
|
|
14
15
|
}
|
|
15
16
|
streamTimeForContentTime(time) {
|
|
16
|
-
return
|
|
17
|
+
return NativeAdsModule.daiStreamTimeForContentTime(this._player.nativeHandle, time);
|
|
17
18
|
}
|
|
18
19
|
}
|
|
19
20
|
//# sourceMappingURL=THEOplayerNativeGoogleDAI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","THEOplayerNativeGoogleDAI","constructor","_player","snapback","
|
|
1
|
+
{"version":3,"names":["NativeModules","NativeAdsModule","THEORCTAdsModule","THEOplayerNativeGoogleDAI","constructor","_player","snapback","daiSnapback","nativeHandle","setSnapback","enabled","daiSetSnapback","contentTimeForStreamTime","time","daiContentTimeForStreamTime","streamTimeForContentTime","daiStreamTimeForContentTime"],"sources":["THEOplayerNativeGoogleDAI.ts"],"sourcesContent":["import type { GoogleDAI, THEOplayerView } from 'react-native-theoplayer';\nimport { NativeModules } from 'react-native';\n\nconst NativeAdsModule = NativeModules.THEORCTAdsModule;\n\nexport class THEOplayerNativeGoogleDAI implements GoogleDAI {\n public constructor(private readonly _player: THEOplayerView) {}\n\n get snapback(): Promise<boolean> {\n return NativeAdsModule.daiSnapback(this._player.nativeHandle);\n }\n\n setSnapback(enabled: boolean): void {\n NativeAdsModule.daiSetSnapback(this._player.nativeHandle, enabled);\n }\n\n contentTimeForStreamTime(time: number): Promise<number> {\n return NativeAdsModule.daiContentTimeForStreamTime(this._player.nativeHandle, time);\n }\n\n streamTimeForContentTime(time: number): Promise<number> {\n return NativeAdsModule.daiStreamTimeForContentTime(this._player.nativeHandle, time);\n }\n}\n"],"mappings":"AACA,SAASA,aAAa,QAAQ,cAAc;AAE5C,MAAMC,eAAe,GAAGD,aAAa,CAACE,gBAAgB;AAEtD,OAAO,MAAMC,yBAAyB,CAAsB;EACnDC,WAAWA,CAAkBC,OAAuB,EAAE;IAAA,KAAzBA,OAAuB,GAAvBA,OAAuB;EAAG;EAE9D,IAAIC,QAAQA,CAAA,EAAqB;IAC/B,OAAOL,eAAe,CAACM,WAAW,CAAC,IAAI,CAACF,OAAO,CAACG,YAAY,CAAC;EAC/D;EAEAC,WAAWA,CAACC,OAAgB,EAAQ;IAClCT,eAAe,CAACU,cAAc,CAAC,IAAI,CAACN,OAAO,CAACG,YAAY,EAAEE,OAAO,CAAC;EACpE;EAEAE,wBAAwBA,CAACC,IAAY,EAAmB;IACtD,OAAOZ,eAAe,CAACa,2BAA2B,CAAC,IAAI,CAACT,OAAO,CAACG,YAAY,EAAEK,IAAI,CAAC;EACrF;EAEAE,wBAAwBA,CAACF,IAAY,EAAmB;IACtD,OAAOZ,eAAe,CAACe,2BAA2B,CAAC,IAAI,CAACX,OAAO,CAACG,YAAY,EAAEK,IAAI,CAAC;EACrF;AACF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { NativeModules } from 'react-native';
|
|
2
|
+
const NativeEventBroadcastModule = NativeModules.THEORCTEventBroadcastModule;
|
|
2
3
|
export class EventBroadcastAdapter {
|
|
3
4
|
constructor(_player) {
|
|
4
5
|
this._player = _player;
|
|
@@ -8,7 +9,7 @@ export class EventBroadcastAdapter {
|
|
|
8
9
|
this._player.dispatchEvent(event);
|
|
9
10
|
try {
|
|
10
11
|
// Broadcast native event.
|
|
11
|
-
|
|
12
|
+
NativeEventBroadcastModule.broadcastEvent(this._player.nativeHandle, Object.freeze(event));
|
|
12
13
|
} catch (e) {
|
|
13
14
|
console.warn(`EventBroadcastModule not available: ${e}`);
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","EventBroadcastAdapter","constructor","_player","broadcastEvent","event","dispatchEvent","
|
|
1
|
+
{"version":3,"names":["NativeModules","NativeEventBroadcastModule","THEORCTEventBroadcastModule","EventBroadcastAdapter","constructor","_player","broadcastEvent","event","dispatchEvent","nativeHandle","Object","freeze","e","console","warn"],"sources":["EventBroadcastAdapter.ts"],"sourcesContent":["import type { EventBroadcastAPI, PlayerEventMap, THEOplayer } from 'react-native-theoplayer';\nimport { NativeModules } from 'react-native';\nimport type { THEOplayerAdapter } from '../THEOplayerAdapter';\nimport type { StringKeyOf } from '../../../api/event/EventDispatcher';\n\nconst NativeEventBroadcastModule = NativeModules.THEORCTEventBroadcastModule;\n\nexport class EventBroadcastAdapter implements EventBroadcastAPI {\n constructor(private _player: THEOplayer) {}\n\n broadcastEvent<K extends StringKeyOf<PlayerEventMap>>(event: PlayerEventMap[K]): void {\n // Broadcast ReactNative event.\n (this._player as THEOplayerAdapter).dispatchEvent(event);\n\n try {\n // Broadcast native event.\n NativeEventBroadcastModule.broadcastEvent(this._player.nativeHandle, Object.freeze(event));\n } catch (e) {\n console.warn(`EventBroadcastModule not available: ${e}`);\n }\n }\n}\n"],"mappings":"AACA,SAASA,aAAa,QAAQ,cAAc;AAI5C,MAAMC,0BAA0B,GAAGD,aAAa,CAACE,2BAA2B;AAE5E,OAAO,MAAMC,qBAAqB,CAA8B;EAC9DC,WAAWA,CAASC,OAAmB,EAAE;IAAA,KAArBA,OAAmB,GAAnBA,OAAmB;EAAG;EAE1CC,cAAcA,CAAwCC,KAAwB,EAAQ;IACpF;IACC,IAAI,CAACF,OAAO,CAAuBG,aAAa,CAACD,KAAK,CAAC;IAExD,IAAI;MACF;MACAN,0BAA0B,CAACK,cAAc,CAAC,IAAI,CAACD,OAAO,CAACI,YAAY,EAAEC,MAAM,CAACC,MAAM,CAACJ,KAAK,CAAC,CAAC;IAC5F,CAAC,CAAC,OAAOK,CAAC,EAAE;MACVC,OAAO,CAACC,IAAI,CAAE,uCAAsCF,CAAE,EAAC,CAAC;IAC1D;EACF;AACF"}
|
|
@@ -3,6 +3,7 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
|
|
|
3
3
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
4
4
|
import { CastEventType, CastState, PlayerEventType } from 'react-native-theoplayer';
|
|
5
5
|
import { NativeModules } from 'react-native';
|
|
6
|
+
const NativeCastModule = NativeModules.THEORCTCastModule;
|
|
6
7
|
export class THEOplayerNativeAirplay {
|
|
7
8
|
constructor(player) {
|
|
8
9
|
_defineProperty(this, "_player", void 0);
|
|
@@ -18,8 +19,8 @@ export class THEOplayerNativeAirplay {
|
|
|
18
19
|
this._player.addEventListener(PlayerEventType.CAST_EVENT, this._onCastStateChange);
|
|
19
20
|
}
|
|
20
21
|
async init_() {
|
|
21
|
-
this._casting = await
|
|
22
|
-
this._state = await
|
|
22
|
+
this._casting = await NativeCastModule.airplayCasting(this._player.nativeHandle);
|
|
23
|
+
this._state = await NativeCastModule.airplayState(this._player.nativeHandle);
|
|
23
24
|
}
|
|
24
25
|
get casting() {
|
|
25
26
|
return this._casting;
|
|
@@ -28,10 +29,10 @@ export class THEOplayerNativeAirplay {
|
|
|
28
29
|
return this._state;
|
|
29
30
|
}
|
|
30
31
|
start() {
|
|
31
|
-
|
|
32
|
+
NativeCastModule.airplayStart(this._player.nativeHandle);
|
|
32
33
|
}
|
|
33
34
|
stop() {
|
|
34
|
-
|
|
35
|
+
NativeCastModule.airplayStop(this._player.nativeHandle);
|
|
35
36
|
}
|
|
36
37
|
unload_() {
|
|
37
38
|
this._player.removeEventListener(PlayerEventType.CAST_EVENT, this._onCastStateChange);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CastEventType","CastState","PlayerEventType","NativeModules","THEOplayerNativeAirplay","constructor","player","_defineProperty","available","event","subType","AIRPLAY_STATE_CHANGE","_state","state","_casting","connected","_player","addEventListener","CAST_EVENT","_onCastStateChange","init_","
|
|
1
|
+
{"version":3,"names":["CastEventType","CastState","PlayerEventType","NativeModules","NativeCastModule","THEORCTCastModule","THEOplayerNativeAirplay","constructor","player","_defineProperty","available","event","subType","AIRPLAY_STATE_CHANGE","_state","state","_casting","connected","_player","addEventListener","CAST_EVENT","_onCastStateChange","init_","airplayCasting","nativeHandle","airplayState","casting","start","airplayStart","stop","airplayStop","unload_","removeEventListener"],"sources":["THEOplayerNativeAirplay.ts"],"sourcesContent":["import type { Airplay } from 'react-native-theoplayer';\nimport { CastEvent, CastEventType, CastState, PlayerEventType, THEOplayer } from 'react-native-theoplayer';\nimport { NativeModules } from 'react-native';\n\nconst NativeCastModule = NativeModules.THEORCTCastModule;\n\nexport class THEOplayerNativeAirplay implements Airplay {\n private readonly _player: THEOplayer;\n\n private _casting = false;\n private _state: CastState = CastState.available;\n\n public constructor(player: THEOplayer) {\n this._player = player;\n this._player.addEventListener(PlayerEventType.CAST_EVENT, this._onCastStateChange);\n }\n\n async init_(): Promise<void> {\n this._casting = await NativeCastModule.airplayCasting(this._player.nativeHandle);\n this._state = await NativeCastModule.airplayState(this._player.nativeHandle);\n }\n\n private readonly _onCastStateChange = (event: CastEvent) => {\n if (event.subType === CastEventType.AIRPLAY_STATE_CHANGE) {\n this._state = event.state;\n this._casting = event.state === CastState.connected;\n }\n };\n\n get casting(): boolean {\n return this._casting;\n }\n\n get state(): CastState {\n return this._state;\n }\n\n start(): void {\n NativeCastModule.airplayStart(this._player.nativeHandle);\n }\n\n stop(): void {\n NativeCastModule.airplayStop(this._player.nativeHandle);\n }\n\n unload_(): void {\n this._player.removeEventListener(PlayerEventType.CAST_EVENT, this._onCastStateChange);\n }\n}\n"],"mappings":";;;AACA,SAAoBA,aAAa,EAAEC,SAAS,EAAEC,eAAe,QAAoB,yBAAyB;AAC1G,SAASC,aAAa,QAAQ,cAAc;AAE5C,MAAMC,gBAAgB,GAAGD,aAAa,CAACE,iBAAiB;AAExD,OAAO,MAAMC,uBAAuB,CAAoB;EAM/CC,WAAWA,CAACC,MAAkB,EAAE;IAAAC,eAAA;IAAAA,eAAA,mBAHpB,KAAK;IAAAA,eAAA,iBACIR,SAAS,CAACS,SAAS;IAAAD,eAAA,6BAYRE,KAAgB,IAAK;MAC1D,IAAIA,KAAK,CAACC,OAAO,KAAKZ,aAAa,CAACa,oBAAoB,EAAE;QACxD,IAAI,CAACC,MAAM,GAAGH,KAAK,CAACI,KAAK;QACzB,IAAI,CAACC,QAAQ,GAAGL,KAAK,CAACI,KAAK,KAAKd,SAAS,CAACgB,SAAS;MACrD;IACF,CAAC;IAdC,IAAI,CAACC,OAAO,GAAGV,MAAM;IACrB,IAAI,CAACU,OAAO,CAACC,gBAAgB,CAACjB,eAAe,CAACkB,UAAU,EAAE,IAAI,CAACC,kBAAkB,CAAC;EACpF;EAEA,MAAMC,KAAKA,CAAA,EAAkB;IAC3B,IAAI,CAACN,QAAQ,GAAG,MAAMZ,gBAAgB,CAACmB,cAAc,CAAC,IAAI,CAACL,OAAO,CAACM,YAAY,CAAC;IAChF,IAAI,CAACV,MAAM,GAAG,MAAMV,gBAAgB,CAACqB,YAAY,CAAC,IAAI,CAACP,OAAO,CAACM,YAAY,CAAC;EAC9E;EASA,IAAIE,OAAOA,CAAA,EAAY;IACrB,OAAO,IAAI,CAACV,QAAQ;EACtB;EAEA,IAAID,KAAKA,CAAA,EAAc;IACrB,OAAO,IAAI,CAACD,MAAM;EACpB;EAEAa,KAAKA,CAAA,EAAS;IACZvB,gBAAgB,CAACwB,YAAY,CAAC,IAAI,CAACV,OAAO,CAACM,YAAY,CAAC;EAC1D;EAEAK,IAAIA,CAAA,EAAS;IACXzB,gBAAgB,CAAC0B,WAAW,CAAC,IAAI,CAACZ,OAAO,CAACM,YAAY,CAAC;EACzD;EAEAO,OAAOA,CAAA,EAAS;IACd,IAAI,CAACb,OAAO,CAACc,mBAAmB,CAAC9B,eAAe,CAACkB,UAAU,EAAE,IAAI,CAACC,kBAAkB,CAAC;EACvF;AACF"}
|
|
@@ -3,6 +3,7 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
|
|
|
3
3
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
4
4
|
import { CastEventType, CastState, PlayerEventType } from 'react-native-theoplayer';
|
|
5
5
|
import { NativeModules } from 'react-native';
|
|
6
|
+
const NativeCastModule = NativeModules.THEORCTCastModule;
|
|
6
7
|
export class THEOplayerNativeChromecast {
|
|
7
8
|
constructor(player, view) {
|
|
8
9
|
_defineProperty(this, "_player", void 0);
|
|
@@ -20,8 +21,8 @@ export class THEOplayerNativeChromecast {
|
|
|
20
21
|
this._player.addEventListener(PlayerEventType.CAST_EVENT, this._onCastStateChange);
|
|
21
22
|
}
|
|
22
23
|
async init_() {
|
|
23
|
-
this._casting = await
|
|
24
|
-
this._state = await
|
|
24
|
+
this._casting = await NativeCastModule.chromecastCasting(this._view.nativeHandle);
|
|
25
|
+
this._state = await NativeCastModule.chromecastState(this._view.nativeHandle);
|
|
25
26
|
}
|
|
26
27
|
get casting() {
|
|
27
28
|
return this._casting;
|
|
@@ -30,16 +31,16 @@ export class THEOplayerNativeChromecast {
|
|
|
30
31
|
return this._state;
|
|
31
32
|
}
|
|
32
33
|
start() {
|
|
33
|
-
|
|
34
|
+
NativeCastModule.chromecastStart(this._view.nativeHandle);
|
|
34
35
|
}
|
|
35
36
|
stop() {
|
|
36
|
-
|
|
37
|
+
NativeCastModule.chromecastStop(this._view.nativeHandle);
|
|
37
38
|
}
|
|
38
39
|
join() {
|
|
39
|
-
|
|
40
|
+
NativeCastModule.chromecastJoin(this._view.nativeHandle);
|
|
40
41
|
}
|
|
41
42
|
leave() {
|
|
42
|
-
|
|
43
|
+
NativeCastModule.chromecastLeave(this._view.nativeHandle);
|
|
43
44
|
}
|
|
44
45
|
unload_() {
|
|
45
46
|
this._player.removeEventListener(PlayerEventType.CAST_EVENT, this._onCastStateChange);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CastEventType","CastState","PlayerEventType","NativeModules","THEOplayerNativeChromecast","constructor","player","view","_defineProperty","available","event","subType","CHROMECAST_STATE_CHANGE","_state","state","_casting","_player","_view","addEventListener","CAST_EVENT","_onCastStateChange","init_","
|
|
1
|
+
{"version":3,"names":["CastEventType","CastState","PlayerEventType","NativeModules","NativeCastModule","THEORCTCastModule","THEOplayerNativeChromecast","constructor","player","view","_defineProperty","available","event","subType","CHROMECAST_STATE_CHANGE","_state","state","_casting","_player","_view","addEventListener","CAST_EVENT","_onCastStateChange","init_","chromecastCasting","nativeHandle","chromecastState","casting","start","chromecastStart","stop","chromecastStop","join","chromecastJoin","leave","chromecastLeave","unload_","removeEventListener"],"sources":["THEOplayerNativeChromecast.ts"],"sourcesContent":["import type { CastEvent, Chromecast, THEOplayerView } from 'react-native-theoplayer';\nimport { CastEventType, CastState, PlayerEventType, THEOplayer } from 'react-native-theoplayer';\nimport { NativeModules } from 'react-native';\n\nconst NativeCastModule = NativeModules.THEORCTCastModule;\n\nexport class THEOplayerNativeChromecast implements Chromecast {\n private readonly _player: THEOplayer;\n private readonly _view: THEOplayerView;\n\n private _casting = false;\n private _state: CastState = CastState.available;\n\n public constructor(player: THEOplayer, view: THEOplayerView) {\n this._player = player;\n this._view = view;\n this._player.addEventListener(PlayerEventType.CAST_EVENT, this._onCastStateChange);\n }\n\n async init_(): Promise<void> {\n this._casting = await NativeCastModule.chromecastCasting(this._view.nativeHandle);\n this._state = await NativeCastModule.chromecastState(this._view.nativeHandle);\n }\n\n private readonly _onCastStateChange = (event: CastEvent) => {\n if (event.subType === CastEventType.CHROMECAST_STATE_CHANGE) {\n this._state = event.state;\n this._casting = event.state === 'connected';\n }\n };\n\n get casting(): boolean {\n return this._casting;\n }\n\n get state(): CastState {\n return this._state;\n }\n\n start(): void {\n NativeCastModule.chromecastStart(this._view.nativeHandle);\n }\n\n stop(): void {\n NativeCastModule.chromecastStop(this._view.nativeHandle);\n }\n\n join(): void {\n NativeCastModule.chromecastJoin(this._view.nativeHandle);\n }\n\n leave(): void {\n NativeCastModule.chromecastLeave(this._view.nativeHandle);\n }\n\n unload_(): void {\n this._player.removeEventListener(PlayerEventType.CAST_EVENT, this._onCastStateChange);\n }\n}\n"],"mappings":";;;AACA,SAASA,aAAa,EAAEC,SAAS,EAAEC,eAAe,QAAoB,yBAAyB;AAC/F,SAASC,aAAa,QAAQ,cAAc;AAE5C,MAAMC,gBAAgB,GAAGD,aAAa,CAACE,iBAAiB;AAExD,OAAO,MAAMC,0BAA0B,CAAuB;EAOrDC,WAAWA,CAACC,MAAkB,EAAEC,IAAoB,EAAE;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA,mBAH1C,KAAK;IAAAA,eAAA,iBACIT,SAAS,CAACU,SAAS;IAAAD,eAAA,6BAaRE,KAAgB,IAAK;MAC1D,IAAIA,KAAK,CAACC,OAAO,KAAKb,aAAa,CAACc,uBAAuB,EAAE;QAC3D,IAAI,CAACC,MAAM,GAAGH,KAAK,CAACI,KAAK;QACzB,IAAI,CAACC,QAAQ,GAAGL,KAAK,CAACI,KAAK,KAAK,WAAW;MAC7C;IACF,CAAC;IAfC,IAAI,CAACE,OAAO,GAAGV,MAAM;IACrB,IAAI,CAACW,KAAK,GAAGV,IAAI;IACjB,IAAI,CAACS,OAAO,CAACE,gBAAgB,CAAClB,eAAe,CAACmB,UAAU,EAAE,IAAI,CAACC,kBAAkB,CAAC;EACpF;EAEA,MAAMC,KAAKA,CAAA,EAAkB;IAC3B,IAAI,CAACN,QAAQ,GAAG,MAAMb,gBAAgB,CAACoB,iBAAiB,CAAC,IAAI,CAACL,KAAK,CAACM,YAAY,CAAC;IACjF,IAAI,CAACV,MAAM,GAAG,MAAMX,gBAAgB,CAACsB,eAAe,CAAC,IAAI,CAACP,KAAK,CAACM,YAAY,CAAC;EAC/E;EASA,IAAIE,OAAOA,CAAA,EAAY;IACrB,OAAO,IAAI,CAACV,QAAQ;EACtB;EAEA,IAAID,KAAKA,CAAA,EAAc;IACrB,OAAO,IAAI,CAACD,MAAM;EACpB;EAEAa,KAAKA,CAAA,EAAS;IACZxB,gBAAgB,CAACyB,eAAe,CAAC,IAAI,CAACV,KAAK,CAACM,YAAY,CAAC;EAC3D;EAEAK,IAAIA,CAAA,EAAS;IACX1B,gBAAgB,CAAC2B,cAAc,CAAC,IAAI,CAACZ,KAAK,CAACM,YAAY,CAAC;EAC1D;EAEAO,IAAIA,CAAA,EAAS;IACX5B,gBAAgB,CAAC6B,cAAc,CAAC,IAAI,CAACd,KAAK,CAACM,YAAY,CAAC;EAC1D;EAEAS,KAAKA,CAAA,EAAS;IACZ9B,gBAAgB,CAAC+B,eAAe,CAAC,IAAI,CAAChB,KAAK,CAACM,YAAY,CAAC;EAC3D;EAEAW,OAAOA,CAAA,EAAS;IACd,IAAI,CAAClB,OAAO,CAACmB,mBAAmB,CAACnC,eAAe,CAACmB,UAAU,EAAE,IAAI,CAACC,kBAAkB,CAAC;EACvF;AACF"}
|
|
@@ -4,6 +4,7 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
|
|
|
4
4
|
import { NativeModules } from 'react-native';
|
|
5
5
|
import NamedColors from './NamedColors.json';
|
|
6
6
|
const namedColorsMap = NamedColors;
|
|
7
|
+
const NativePlayerModule = NativeModules.THEORCTPlayerModule;
|
|
7
8
|
export class TextTrackStyleAdapter {
|
|
8
9
|
constructor(_view) {
|
|
9
10
|
this._view = _view;
|
|
@@ -23,7 +24,7 @@ export class TextTrackStyleAdapter {
|
|
|
23
24
|
}
|
|
24
25
|
set backgroundColor(color) {
|
|
25
26
|
this._backgroundColor = color;
|
|
26
|
-
|
|
27
|
+
NativePlayerModule.setTextTrackStyle(this._view.nativeHandle, {
|
|
27
28
|
backgroundColor: convertColorToRGBA(color)
|
|
28
29
|
});
|
|
29
30
|
}
|
|
@@ -32,7 +33,7 @@ export class TextTrackStyleAdapter {
|
|
|
32
33
|
}
|
|
33
34
|
set edgeStyle(style) {
|
|
34
35
|
this._edgeStyle = style;
|
|
35
|
-
|
|
36
|
+
NativePlayerModule.setTextTrackStyle(this._view.nativeHandle, {
|
|
36
37
|
edgeStyle: style
|
|
37
38
|
});
|
|
38
39
|
}
|
|
@@ -41,7 +42,7 @@ export class TextTrackStyleAdapter {
|
|
|
41
42
|
}
|
|
42
43
|
set fontColor(color) {
|
|
43
44
|
this._fontColor = color;
|
|
44
|
-
|
|
45
|
+
NativePlayerModule.setTextTrackStyle(this._view.nativeHandle, {
|
|
45
46
|
fontColor: convertColorToRGBA(color)
|
|
46
47
|
});
|
|
47
48
|
}
|
|
@@ -50,7 +51,7 @@ export class TextTrackStyleAdapter {
|
|
|
50
51
|
}
|
|
51
52
|
set fontFamily(family) {
|
|
52
53
|
this._fontFamily = family;
|
|
53
|
-
|
|
54
|
+
NativePlayerModule.setTextTrackStyle(this._view.nativeHandle, {
|
|
54
55
|
fontFamily: family
|
|
55
56
|
});
|
|
56
57
|
}
|
|
@@ -59,7 +60,7 @@ export class TextTrackStyleAdapter {
|
|
|
59
60
|
}
|
|
60
61
|
set fontSize(size) {
|
|
61
62
|
this._fontSize = size;
|
|
62
|
-
|
|
63
|
+
NativePlayerModule.setTextTrackStyle(this._view.nativeHandle, {
|
|
63
64
|
fontSize: fromPercentage(size)
|
|
64
65
|
});
|
|
65
66
|
}
|
|
@@ -68,7 +69,7 @@ export class TextTrackStyleAdapter {
|
|
|
68
69
|
}
|
|
69
70
|
set windowColor(color) {
|
|
70
71
|
this._windowColor = color;
|
|
71
|
-
|
|
72
|
+
NativePlayerModule.setTextTrackStyle(this._view.nativeHandle, {
|
|
72
73
|
windowColor: convertColorToRGBA(color)
|
|
73
74
|
});
|
|
74
75
|
}
|
|
@@ -77,7 +78,7 @@ export class TextTrackStyleAdapter {
|
|
|
77
78
|
}
|
|
78
79
|
set marginBottom(margin) {
|
|
79
80
|
this._marginBottom = margin;
|
|
80
|
-
|
|
81
|
+
NativePlayerModule.setTextTrackStyle(this._view.nativeHandle, {
|
|
81
82
|
marginBottom: margin
|
|
82
83
|
});
|
|
83
84
|
}
|
|
@@ -86,7 +87,7 @@ export class TextTrackStyleAdapter {
|
|
|
86
87
|
}
|
|
87
88
|
set marginLeft(margin) {
|
|
88
89
|
this._marginLeft = margin;
|
|
89
|
-
|
|
90
|
+
NativePlayerModule.setTextTrackStyle(this._view.nativeHandle, {
|
|
90
91
|
marginLeft: margin
|
|
91
92
|
});
|
|
92
93
|
}
|
|
@@ -95,7 +96,7 @@ export class TextTrackStyleAdapter {
|
|
|
95
96
|
}
|
|
96
97
|
set marginRight(margin) {
|
|
97
98
|
this._marginRight = margin;
|
|
98
|
-
|
|
99
|
+
NativePlayerModule.setTextTrackStyle(this._view.nativeHandle, {
|
|
99
100
|
marginRight: margin
|
|
100
101
|
});
|
|
101
102
|
}
|
|
@@ -104,7 +105,7 @@ export class TextTrackStyleAdapter {
|
|
|
104
105
|
}
|
|
105
106
|
set marginTop(margin) {
|
|
106
107
|
this._marginTop = margin;
|
|
107
|
-
|
|
108
|
+
NativePlayerModule.setTextTrackStyle(this._view.nativeHandle, {
|
|
108
109
|
marginTop: margin
|
|
109
110
|
});
|
|
110
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","NamedColors","namedColorsMap","TextTrackStyleAdapter","constructor","_view","_defineProperty","undefined","backgroundColor","_backgroundColor","color","
|
|
1
|
+
{"version":3,"names":["NativeModules","NamedColors","namedColorsMap","NativePlayerModule","THEORCTPlayerModule","TextTrackStyleAdapter","constructor","_view","_defineProperty","undefined","backgroundColor","_backgroundColor","color","setTextTrackStyle","nativeHandle","convertColorToRGBA","edgeStyle","_edgeStyle","style","fontColor","_fontColor","fontFamily","_fontFamily","family","fontSize","_fontSize","size","fromPercentage","windowColor","_windowColor","marginBottom","_marginBottom","margin","marginLeft","_marginLeft","marginRight","_marginRight","marginTop","_marginTop","replace","toLowerCase","colorPattern","match","r","parseInt","g","b","a","pct","parseFloat"],"sources":["TextTrackStyleAdapter.ts"],"sourcesContent":["import type { EdgeStyle, TextTrackStyle, THEOplayerView } from 'react-native-theoplayer';\nimport { NativeModules } from 'react-native';\nimport NamedColors from './NamedColors.json';\n\nconst namedColorsMap = NamedColors as { [name: string]: string };\nconst NativePlayerModule = NativeModules.THEORCTPlayerModule;\n\nexport class TextTrackStyleAdapter implements TextTrackStyle {\n private _backgroundColor: string | undefined = undefined;\n private _edgeStyle: EdgeStyle | undefined = undefined;\n private _fontColor: string | undefined = undefined;\n private _fontFamily: string | undefined = undefined;\n private _fontSize: string | undefined = undefined;\n private _windowColor: string | undefined = undefined;\n private _marginBottom: number | undefined = undefined;\n private _marginTop: number | undefined = undefined;\n private _marginLeft: number | undefined = undefined;\n private _marginRight: number | undefined = undefined;\n\n constructor(private readonly _view: THEOplayerView) {}\n\n get backgroundColor(): string | undefined {\n return this._backgroundColor;\n }\n\n set backgroundColor(color: string | undefined) {\n this._backgroundColor = color;\n NativePlayerModule.setTextTrackStyle(this._view.nativeHandle, {\n backgroundColor: convertColorToRGBA(color),\n });\n }\n\n get edgeStyle(): EdgeStyle | undefined {\n return this._edgeStyle;\n }\n\n set edgeStyle(style: EdgeStyle | undefined) {\n this._edgeStyle = style;\n NativePlayerModule.setTextTrackStyle(this._view.nativeHandle, {\n edgeStyle: style,\n });\n }\n\n get fontColor(): string | undefined {\n return this._fontColor;\n }\n\n set fontColor(color: string | undefined) {\n this._fontColor = color;\n NativePlayerModule.setTextTrackStyle(this._view.nativeHandle, {\n fontColor: convertColorToRGBA(color),\n });\n }\n\n get fontFamily(): string | undefined {\n return this._fontFamily;\n }\n\n set fontFamily(family: string | undefined) {\n this._fontFamily = family;\n NativePlayerModule.setTextTrackStyle(this._view.nativeHandle, {\n fontFamily: family,\n });\n }\n\n get fontSize(): string | undefined {\n return this._fontSize;\n }\n\n set fontSize(size: string | undefined) {\n this._fontSize = size;\n NativePlayerModule.setTextTrackStyle(this._view.nativeHandle, {\n fontSize: fromPercentage(size),\n });\n }\n\n get windowColor(): string | undefined {\n return this._windowColor;\n }\n\n set windowColor(color: string | undefined) {\n this._windowColor = color;\n NativePlayerModule.setTextTrackStyle(this._view.nativeHandle, {\n windowColor: convertColorToRGBA(color),\n });\n }\n\n get marginBottom(): number | undefined {\n return this._marginBottom;\n }\n\n set marginBottom(margin: number | undefined) {\n this._marginBottom = margin;\n NativePlayerModule.setTextTrackStyle(this._view.nativeHandle, {\n marginBottom: margin,\n });\n }\n\n get marginLeft(): number | undefined {\n return this._marginLeft;\n }\n\n set marginLeft(margin: number | undefined) {\n this._marginLeft = margin;\n NativePlayerModule.setTextTrackStyle(this._view.nativeHandle, {\n marginLeft: margin,\n });\n }\n\n get marginRight(): number | undefined {\n return this._marginRight;\n }\n\n set marginRight(margin: number | undefined) {\n this._marginRight = margin;\n NativePlayerModule.setTextTrackStyle(this._view.nativeHandle, {\n marginRight: margin,\n });\n }\n\n get marginTop(): number | undefined {\n return this._marginTop;\n }\n\n set marginTop(margin: number | undefined) {\n this._marginTop = margin;\n NativePlayerModule.setTextTrackStyle(this._view.nativeHandle, {\n marginTop: margin,\n });\n }\n}\n\ninterface BridgeColor {\n r: number;\n g: number;\n b: number;\n a: number;\n}\n\nfunction convertColorToRGBA(color: string | undefined): BridgeColor | null {\n if (!color) {\n return null;\n }\n\n color = color.replace('#', '');\n\n if (namedColorsMap[color.toLowerCase()]) {\n color = namedColorsMap[color.toLowerCase()];\n }\n\n const colorPattern = /^(?:#|0x)?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})?$/i;\n const match = color.match(colorPattern);\n\n if (!match) {\n return null;\n }\n\n const r = parseInt(match[1], 16);\n const g = parseInt(match[2], 16);\n const b = parseInt(match[3], 16);\n const a = match[4] ? parseInt(match[4], 16) : 255;\n return { r, g, b, a };\n}\n\nfunction fromPercentage(pct: string | undefined): number {\n return pct ? parseFloat(pct) : 100;\n}\n"],"mappings":"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"}
|
|
@@ -9,10 +9,11 @@ import { NativeEventEmitter, NativeModules } from 'react-native';
|
|
|
9
9
|
import { NativeCachingTaskAdapter } from './NativeCachingTaskAdapter';
|
|
10
10
|
import { toNativeCachingTaskParameters } from "./NativeCachingTaskParametersAdapter";
|
|
11
11
|
const TAG = "NativeMediaCache";
|
|
12
|
+
const NativeCacheModule = NativeModules.THEORCTCacheModule;
|
|
12
13
|
export class NativeMediaCache extends DefaultEventDispatcher {
|
|
13
14
|
constructor() {
|
|
14
15
|
super();
|
|
15
|
-
_defineProperty(this, "_emitter", new NativeEventEmitter(
|
|
16
|
+
_defineProperty(this, "_emitter", new NativeEventEmitter(NativeCacheModule));
|
|
16
17
|
_defineProperty(this, "_status", CacheStatus.uninitialised);
|
|
17
18
|
_defineProperty(this, "_tasks", []);
|
|
18
19
|
_defineProperty(this, "onCacheStatusChange", async event => {
|
|
@@ -79,7 +80,7 @@ export class NativeMediaCache extends DefaultEventDispatcher {
|
|
|
79
80
|
void this.initialize();
|
|
80
81
|
}
|
|
81
82
|
async createTask(source, parameters) {
|
|
82
|
-
return
|
|
83
|
+
return NativeCacheModule.createTask(source, toNativeCachingTaskParameters(parameters));
|
|
83
84
|
}
|
|
84
85
|
get status() {
|
|
85
86
|
return this._status;
|
|
@@ -98,7 +99,7 @@ export class NativeMediaCache extends DefaultEventDispatcher {
|
|
|
98
99
|
}
|
|
99
100
|
}
|
|
100
101
|
async getInitialState() {
|
|
101
|
-
const initialState = await
|
|
102
|
+
const initialState = await NativeCacheModule.getInitialState();
|
|
102
103
|
this._status = initialState.status;
|
|
103
104
|
this._tasks = initialState.tasks.map(task => new NativeCachingTaskAdapter(task));
|
|
104
105
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CacheStatus","DefaultEventDispatcher","CacheEventType","CachingTaskEventType","NativeEventEmitter","NativeModules","NativeCachingTaskAdapter","toNativeCachingTaskParameters","TAG","NativeMediaCache","constructor","_defineProperty","
|
|
1
|
+
{"version":3,"names":["CacheStatus","DefaultEventDispatcher","CacheEventType","CachingTaskEventType","NativeEventEmitter","NativeModules","NativeCachingTaskAdapter","toNativeCachingTaskParameters","TAG","NativeCacheModule","THEORCTCacheModule","NativeMediaCache","constructor","_defineProperty","uninitialised","event","_status","getInitialState","status","dispatchEvent","type","statechange","date","Date","task","_tasks","push","addtask","taskById","id","filter","removetask","console","warn","Object","assign","progress","_emitter","addListener","onCacheStatusChange","onAddCachingTaskEvent","onRemoveCachingTaskEvent","onCachingTaskProgressEvent","onCachingTaskStatusChangeEvent","initialize","createTask","source","parameters","tasks","initialised","initialState","map","find","MediaCache"],"sources":["MediaCache.ts"],"sourcesContent":["import { CacheStatus, MediaCacheAPI } from '../../api/cache/MediaCacheAPI';\nimport type { CachingTaskList } from '../../api/cache/CachingTaskList';\nimport { DefaultEventDispatcher } from '../adapter/event/DefaultEventDispatcher';\nimport type { CacheEventMap } from '../../api/cache/events/CacheEvent';\nimport { CacheEventType } from '../../api/cache/events/CacheEvent';\nimport type { CachingTaskProgressEvent, CachingTaskStatusChangeEvent, SourceDescription } from 'react-native-theoplayer';\nimport { CacheTaskStatus, CachingTaskEventType, TimeRange } from 'react-native-theoplayer';\nimport type { CachingTaskParameters } from '../../api/cache/CachingTaskParameters';\nimport type { CachingTask } from '../../api/cache/CachingTask';\nimport { NativeEventEmitter, NativeModules } from 'react-native';\nimport { NativeCachingTask, NativeCachingTaskAdapter } from './NativeCachingTaskAdapter';\nimport { toNativeCachingTaskParameters } from \"./NativeCachingTaskParametersAdapter\";\n\nconst TAG = \"NativeMediaCache\";\n\nconst NativeCacheModule = NativeModules.THEORCTCacheModule;\n\ninterface NativeCachingStatusChangeEvent {\n readonly id: string;\n readonly status: CacheTaskStatus;\n}\n\ninterface NativeCacheStatusChangeEvent {\n readonly status: CacheStatus;\n}\n\ninterface NativeAddCachingTaskEvent {\n readonly task: NativeCachingTask;\n}\n\ninterface NativeRemoveCachingTaskEvent {\n readonly task: NativeCachingTask;\n}\n\ninterface NativeCachingTaskProgressEvent {\n id: string;\n progress: {\n readonly duration: number;\n readonly cached: TimeRange[];\n readonly secondsCached: number;\n readonly percentageCached: number;\n readonly bytes: number;\n readonly bytesCached: number;\n };\n}\n\nexport class NativeMediaCache extends DefaultEventDispatcher<CacheEventMap> implements MediaCacheAPI {\n private _emitter: NativeEventEmitter = new NativeEventEmitter(NativeCacheModule);\n private _status: CacheStatus = CacheStatus.uninitialised;\n private _tasks: NativeCachingTaskAdapter[] = [];\n\n constructor() {\n super();\n this._emitter.addListener('onCacheStatusChange', this.onCacheStatusChange);\n this._emitter.addListener('onAddCachingTaskEvent', this.onAddCachingTaskEvent);\n this._emitter.addListener('onRemoveCachingTaskEvent', this.onRemoveCachingTaskEvent);\n this._emitter.addListener('onCachingTaskProgressEvent', this.onCachingTaskProgressEvent);\n this._emitter.addListener('onCachingTaskStatusChangeEvent', this.onCachingTaskStatusChangeEvent);\n void this.initialize();\n }\n\n async createTask(source: SourceDescription, parameters: CachingTaskParameters): Promise<CachingTask> {\n return NativeCacheModule.createTask(source, toNativeCachingTaskParameters(parameters));\n }\n\n get status(): CacheStatus {\n return this._status;\n }\n\n get tasks(): CachingTaskList {\n return this._tasks;\n }\n\n private async initialize(): Promise<void> {\n await this.getInitialState();\n\n // Dispatch status change event here\n if (this._status === CacheStatus.initialised) {\n await this.onCacheStatusChange({\n status: this._status,\n });\n }\n }\n\n private async getInitialState(): Promise<void> {\n const initialState = await NativeCacheModule.getInitialState();\n this._status = initialState.status;\n this._tasks = initialState.tasks.map((task: NativeCachingTask) => new NativeCachingTaskAdapter(task));\n }\n\n private onCacheStatusChange = async (event: NativeCacheStatusChangeEvent) => {\n if (this._status === CacheStatus.uninitialised) {\n await this.getInitialState();\n }\n this._status = event.status;\n this.dispatchEvent({\n type: CacheEventType.statechange,\n date: new Date()\n });\n };\n\n private onAddCachingTaskEvent = (event: NativeAddCachingTaskEvent) => {\n const task= new NativeCachingTaskAdapter(event.task);\n this._tasks.push(task);\n this.dispatchEvent({\n type: CacheEventType.addtask,\n task,\n date: new Date(),\n });\n };\n\n private onRemoveCachingTaskEvent = (event: NativeRemoveCachingTaskEvent) => {\n const task = this.taskById(event.task.id);\n if (task) {\n this._tasks = this._tasks.filter((task) => task.id !== event.task.id);\n this.dispatchEvent({\n type: CacheEventType.removetask,\n task,\n date: new Date(),\n });\n } else {\n console.warn(TAG, `onRemoveCachingTaskEvent: CachingTask with id ${event.task.id} not found.`)\n }\n };\n\n private onCachingTaskProgressEvent = (event: NativeCachingTaskProgressEvent) => {\n const task = this.taskById(event.id);\n if (task) {\n Object.assign(task, { ...event.progress });\n task.dispatchEvent({\n type: CachingTaskEventType.progress,\n date: new Date(),\n } as CachingTaskProgressEvent);\n }\n };\n\n private onCachingTaskStatusChangeEvent = (event: NativeCachingStatusChangeEvent) => {\n const task = this.taskById(event.id);\n if (task) {\n Object.assign(task, { ...event });\n task.dispatchEvent({\n type: CachingTaskEventType.statechange,\n date: new Date(),\n } as CachingTaskStatusChangeEvent);\n }\n };\n\n private taskById(id: string): NativeCachingTaskAdapter | undefined {\n return this._tasks.find((task) => task.id === id);\n }\n}\n\nexport const MediaCache = new NativeMediaCache();\n"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
|
|
|
4
4
|
import { DefaultEventDispatcher } from '../adapter/event/DefaultEventDispatcher';
|
|
5
5
|
import { NativeModules } from 'react-native';
|
|
6
6
|
import { fromNativeCachingTaskParameters } from "./NativeCachingTaskParametersAdapter";
|
|
7
|
+
const NativeCacheModule = NativeModules.THEORCTCacheModule;
|
|
7
8
|
export class NativeCachingTaskAdapter extends DefaultEventDispatcher {
|
|
8
9
|
constructor(task) {
|
|
9
10
|
super();
|
|
@@ -27,7 +28,7 @@ export class NativeCachingTaskAdapter extends DefaultEventDispatcher {
|
|
|
27
28
|
this.bytesCached = task.bytesCached;
|
|
28
29
|
this.license = {
|
|
29
30
|
renew(drmConfiguration) {
|
|
30
|
-
|
|
31
|
+
NativeCacheModule.renewLicense(task.id, drmConfiguration);
|
|
31
32
|
}
|
|
32
33
|
};
|
|
33
34
|
this.parameters = fromNativeCachingTaskParameters(task.parameters);
|
|
@@ -40,13 +41,13 @@ export class NativeCachingTaskAdapter extends DefaultEventDispatcher {
|
|
|
40
41
|
this.status = task.status;
|
|
41
42
|
}
|
|
42
43
|
pause() {
|
|
43
|
-
|
|
44
|
+
NativeCacheModule.pauseCachingTask(this.id);
|
|
44
45
|
}
|
|
45
46
|
remove() {
|
|
46
|
-
|
|
47
|
+
NativeCacheModule.removeCachingTask(this.id);
|
|
47
48
|
}
|
|
48
49
|
start() {
|
|
49
|
-
|
|
50
|
+
NativeCacheModule.startCachingTask(this.id);
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
53
|
//# sourceMappingURL=NativeCachingTaskAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DefaultEventDispatcher","NativeModules","fromNativeCachingTaskParameters","NativeCachingTaskAdapter","constructor","task","_defineProperty","bytes","cached","duration","id","bytesCached","license","renew","drmConfiguration","
|
|
1
|
+
{"version":3,"names":["DefaultEventDispatcher","NativeModules","fromNativeCachingTaskParameters","NativeCacheModule","THEORCTCacheModule","NativeCachingTaskAdapter","constructor","task","_defineProperty","bytes","cached","duration","id","bytesCached","license","renew","drmConfiguration","renewLicense","parameters","percentageCached","secondsCached","source","status","pause","pauseCachingTask","remove","removeCachingTask","start","startCachingTask"],"sources":["NativeCachingTaskAdapter.ts"],"sourcesContent":["import { DefaultEventDispatcher } from '../adapter/event/DefaultEventDispatcher';\nimport type {\n CachingTask,\n CachingTaskEventMap,\n CachingTaskLicense,\n CachingTaskParameters,\n SourceDescription,\n TimeRange,\n} from 'react-native-theoplayer';\nimport type { CacheTaskStatus } from 'react-native-theoplayer';\nimport { NativeModules } from 'react-native';\nimport type { DRMConfiguration } from 'react-native-theoplayer';\nimport { fromNativeCachingTaskParameters, NativeCachingTaskParameters } from \"./NativeCachingTaskParametersAdapter\";\n\nconst NativeCacheModule = NativeModules.THEORCTCacheModule;\n\nexport interface NativeCachingTask {\n readonly id: string;\n\n readonly status: CacheTaskStatus;\n\n readonly source: SourceDescription;\n\n readonly parameters: NativeCachingTaskParameters;\n\n readonly duration: number;\n\n readonly cached: TimeRange[];\n\n readonly secondsCached: number;\n\n readonly percentageCached: number;\n\n readonly bytes: number;\n\n readonly bytesCached: number;\n}\n\nexport class NativeCachingTaskAdapter extends DefaultEventDispatcher<CachingTaskEventMap> implements CachingTask {\n readonly bytes: number;\n readonly bytesCached: number;\n readonly cached: TimeRange[];\n readonly duration: number;\n readonly id: string;\n readonly license: CachingTaskLicense;\n readonly parameters: CachingTaskParameters;\n readonly percentageCached: number;\n readonly secondsCached: number;\n readonly source: SourceDescription;\n readonly status: CacheTaskStatus;\n\n constructor(task: NativeCachingTask) {\n super();\n this.bytes = task.bytes;\n this.cached = { ...task.cached };\n this.duration = task.duration;\n this.id = task.id;\n this.bytesCached = task.bytesCached;\n this.license = {\n renew(drmConfiguration?: DRMConfiguration) {\n NativeCacheModule.renewLicense(task.id, drmConfiguration);\n },\n };\n this.parameters = fromNativeCachingTaskParameters(task.parameters);\n this.percentageCached = task.percentageCached;\n this.secondsCached = task.secondsCached;\n // TODO!\n this.source = { ...task.source };\n this.status = task.status;\n }\n\n pause(): void {\n NativeCacheModule.pauseCachingTask(this.id);\n }\n\n remove(): void {\n NativeCacheModule.removeCachingTask(this.id);\n }\n\n start(): void {\n NativeCacheModule.startCachingTask(this.id);\n }\n}\n"],"mappings":";;;AAAA,SAASA,sBAAsB,QAAQ,yCAAyC;AAUhF,SAASC,aAAa,QAAQ,cAAc;AAE5C,SAASC,+BAA+B,QAAqC,sCAAsC;AAEnH,MAAMC,iBAAiB,GAAGF,aAAa,CAACG,kBAAkB;AAwB1D,OAAO,MAAMC,wBAAwB,SAASL,sBAAsB,CAA6C;EAa/GM,WAAWA,CAACC,IAAuB,EAAE;IACnC,KAAK,CAAC,CAAC;IAACC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IACR,IAAI,CAACC,KAAK,GAAGF,IAAI,CAACE,KAAK;IACvB,IAAI,CAACC,MAAM,GAAG;MAAE,GAAGH,IAAI,CAACG;IAAO,CAAC;IAChC,IAAI,CAACC,QAAQ,GAAGJ,IAAI,CAACI,QAAQ;IAC7B,IAAI,CAACC,EAAE,GAAGL,IAAI,CAACK,EAAE;IACjB,IAAI,CAACC,WAAW,GAAGN,IAAI,CAACM,WAAW;IACnC,IAAI,CAACC,OAAO,GAAG;MACbC,KAAKA,CAACC,gBAAmC,EAAE;QACzCb,iBAAiB,CAACc,YAAY,CAACV,IAAI,CAACK,EAAE,EAAEI,gBAAgB,CAAC;MAC3D;IACF,CAAC;IACD,IAAI,CAACE,UAAU,GAAGhB,+BAA+B,CAACK,IAAI,CAACW,UAAU,CAAC;IAClE,IAAI,CAACC,gBAAgB,GAAGZ,IAAI,CAACY,gBAAgB;IAC7C,IAAI,CAACC,aAAa,GAAGb,IAAI,CAACa,aAAa;IACvC;IACA,IAAI,CAACC,MAAM,GAAG;MAAE,GAAGd,IAAI,CAACc;IAAO,CAAC;IAChC,IAAI,CAACC,MAAM,GAAGf,IAAI,CAACe,MAAM;EAC3B;EAEAC,KAAKA,CAAA,EAAS;IACZpB,iBAAiB,CAACqB,gBAAgB,CAAC,IAAI,CAACZ,EAAE,CAAC;EAC7C;EAEAa,MAAMA,CAAA,EAAS;IACbtB,iBAAiB,CAACuB,iBAAiB,CAAC,IAAI,CAACd,EAAE,CAAC;EAC9C;EAEAe,KAAKA,CAAA,EAAS;IACZxB,iBAAiB,CAACyB,gBAAgB,CAAC,IAAI,CAAChB,EAAE,CAAC;EAC7C;AACF"}
|