react-native-tpstreams 1.0.3-debug.0 → 1.0.3-debug.10
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/README.md +8 -8
- package/android/src/main/java/com/tpstreams/JsonUtils.kt +46 -0
- package/android/src/main/java/com/tpstreams/TPStreamsDownloadModule.kt +2 -7
- package/android/src/main/java/com/tpstreams/TPStreamsRNPlayerView.kt +3 -3
- package/ios/TPStreamsDownloadModule.swift +8 -19
- package/ios/TPStreamsModule.swift +1 -2
- package/ios/TPStreamsRNPlayerView.swift +2 -2
- package/lib/module/TPStreamsDownload.js +0 -3
- package/lib/module/TPStreamsDownload.js.map +1 -1
- package/lib/typescript/src/TPStreamsDownload.d.ts +1 -1
- package/lib/typescript/src/TPStreamsDownload.d.ts.map +1 -1
- package/lib/typescript/src/TPStreamsPlayer.d.ts +1 -1
- package/lib/typescript/src/TPStreamsPlayer.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/TPStreamsDownload.tsx +1 -4
- package/src/TPStreamsPlayer.tsx +1 -1
package/README.md
CHANGED
|
@@ -41,14 +41,14 @@ import { TPStreamsPlayerView } from "react-native-tpstreams";
|
|
|
41
41
|
|
|
42
42
|
| Prop | Type | Required | Description |
|
|
43
43
|
|------|------|----------|-------------|
|
|
44
|
-
| `videoId` | `string` |
|
|
45
|
-
| `accessToken` | `string` |
|
|
46
|
-
| `startAt` | `number` |
|
|
47
|
-
| `shouldAutoPlay` | `boolean` |
|
|
48
|
-
| `showDefaultCaptions` | `boolean` |
|
|
49
|
-
| `enableDownload` | `boolean` |
|
|
50
|
-
| `offlineLicenseExpireTime` | `number` |
|
|
51
|
-
| `downloadMetadata` | `object` |
|
|
44
|
+
| `videoId` | `string` | Yes | Video ID to play |
|
|
45
|
+
| `accessToken` | `string` | Yes | Access token for the video |
|
|
46
|
+
| `startAt` | `number` | No | Start position in seconds (default: 0) |
|
|
47
|
+
| `shouldAutoPlay` | `boolean` | No | Auto-play on load (default: true) |
|
|
48
|
+
| `showDefaultCaptions` | `boolean` | No | Show captions if available (default: false) |
|
|
49
|
+
| `enableDownload` | `boolean` | No | Enable download functionality (default: false) |
|
|
50
|
+
| `offlineLicenseExpireTime` | `number` | No | License expiration in seconds (default: 15 days) |
|
|
51
|
+
| `downloadMetadata` | `object` | No | Custom metadata for downloads |
|
|
52
52
|
|
|
53
53
|
### Player Methods
|
|
54
54
|
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
package com.tpstreams
|
|
2
|
+
|
|
3
|
+
import org.json.JSONObject
|
|
4
|
+
|
|
5
|
+
object JsonUtils {
|
|
6
|
+
|
|
7
|
+
fun parseJsonString(map: Map<String, Any>?): Map<String, Any> {
|
|
8
|
+
val result = mutableMapOf<String, Any>()
|
|
9
|
+
map?.forEach { (key, value) ->
|
|
10
|
+
when (value) {
|
|
11
|
+
is String -> {
|
|
12
|
+
if (value.startsWith("{") && value.endsWith("}")) {
|
|
13
|
+
try {
|
|
14
|
+
val json = JSONObject(value)
|
|
15
|
+
result[key] = jsonToMap(json)
|
|
16
|
+
} catch (e: Exception) {
|
|
17
|
+
result[key] = value
|
|
18
|
+
}
|
|
19
|
+
} else {
|
|
20
|
+
result[key] = value
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
else -> result[key] = value
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return result
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
private fun jsonToMap(json: JSONObject): Map<String, Any> {
|
|
30
|
+
val map = mutableMapOf<String, Any>()
|
|
31
|
+
val keys = json.keys()
|
|
32
|
+
while (keys.hasNext()) {
|
|
33
|
+
val key = keys.next()
|
|
34
|
+
val value = json.get(key)
|
|
35
|
+
when (value) {
|
|
36
|
+
is String -> map[key] = value
|
|
37
|
+
is Int -> map[key] = value
|
|
38
|
+
is Double -> map[key] = value
|
|
39
|
+
is Boolean -> map[key] = value
|
|
40
|
+
is JSONObject -> map[key] = jsonToMap(value)
|
|
41
|
+
else -> map[key] = value.toString()
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return map
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -109,13 +109,8 @@ class TPStreamsDownloadModule(private val reactContext: ReactApplicationContext)
|
|
|
109
109
|
map.putDouble("downloadedBytes", item.downloadedBytes.toDouble())
|
|
110
110
|
map.putDouble("progressPercentage", item.progressPercentage.toDouble())
|
|
111
111
|
map.putString("state", downloadClient.getDownloadStatus(item.assetId))
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
item.metadata.forEach { (key, value) ->
|
|
115
|
-
metadataJson.put(key, value)
|
|
116
|
-
}
|
|
117
|
-
map.putString("metadata", metadataJson.toString())
|
|
118
|
-
|
|
112
|
+
val parsedMetadata = JsonUtils.parseJsonString(item.metadata)
|
|
113
|
+
map.putMap("metadata", Arguments.makeNativeMap(parsedMetadata))
|
|
119
114
|
return map
|
|
120
115
|
}
|
|
121
116
|
|
|
@@ -30,7 +30,7 @@ class TPStreamsRNPlayerView(context: ThemedReactContext) : FrameLayout(context)
|
|
|
30
30
|
private var startAt: Long = 0
|
|
31
31
|
private var showDefaultCaptions: Boolean = false
|
|
32
32
|
private var enableDownload: Boolean = false
|
|
33
|
-
private var downloadMetadata: Map<String,
|
|
33
|
+
private var downloadMetadata: Map<String, Any>? = null
|
|
34
34
|
private var offlineLicenseExpireTime: Long = DEFAULT_OFFLINE_LICENSE_EXPIRE_TIME
|
|
35
35
|
private var accessTokenCallback: ((String) -> Unit)? = null
|
|
36
36
|
|
|
@@ -87,7 +87,7 @@ class TPStreamsRNPlayerView(context: ThemedReactContext) : FrameLayout(context)
|
|
|
87
87
|
this.enableDownload = enableDownload
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
fun setDownloadMetadata(metadata: Map<String,
|
|
90
|
+
fun setDownloadMetadata(metadata: Map<String, Any>?) {
|
|
91
91
|
this.downloadMetadata = metadata
|
|
92
92
|
}
|
|
93
93
|
|
|
@@ -116,7 +116,7 @@ class TPStreamsRNPlayerView(context: ThemedReactContext) : FrameLayout(context)
|
|
|
116
116
|
startAt,
|
|
117
117
|
enableDownload,
|
|
118
118
|
showDefaultCaptions,
|
|
119
|
-
downloadMetadata,
|
|
119
|
+
downloadMetadata?.mapValues { it.value.toString() },
|
|
120
120
|
offlineLicenseExpireTime
|
|
121
121
|
)
|
|
122
122
|
|
|
@@ -23,14 +23,16 @@ class TPStreamsDownloadModule: RCTEventEmitter, TPStreamsDownloadDelegate {
|
|
|
23
23
|
private let downloadManager = TPStreamsDownloadManager.shared
|
|
24
24
|
private var isListening = false
|
|
25
25
|
private var tokenDelegate: TokenRequestDelegate?
|
|
26
|
-
static var
|
|
27
|
-
|
|
26
|
+
private static var _shared: TPStreamsDownloadModule?
|
|
27
|
+
|
|
28
|
+
static var shared: TPStreamsDownloadModule? {
|
|
29
|
+
return _shared
|
|
30
|
+
}
|
|
31
|
+
|
|
28
32
|
override init() {
|
|
29
33
|
super.init()
|
|
34
|
+
TPStreamsDownloadModule._shared = self
|
|
30
35
|
downloadManager.setTPStreamsDownloadDelegate(tpStreamsDownloadDelegate: self)
|
|
31
|
-
TPStreamsDownloadModule.shared = self
|
|
32
|
-
print("TPStreamsDownloadModule initialized")
|
|
33
|
-
print("Downloadmanager delegates are set")
|
|
34
36
|
}
|
|
35
37
|
|
|
36
38
|
func setAccessTokenDelegate(_ delegate: TokenRequestDelegate) {
|
|
@@ -44,34 +46,30 @@ class TPStreamsDownloadModule: RCTEventEmitter, TPStreamsDownloadDelegate {
|
|
|
44
46
|
|
|
45
47
|
@objc
|
|
46
48
|
func addDownloadProgressListener(_ resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
|
|
47
|
-
print("adding download progress listener")
|
|
48
49
|
isListening = true
|
|
50
|
+
notifyDownloadsChange()
|
|
49
51
|
resolve(nil)
|
|
50
52
|
}
|
|
51
53
|
|
|
52
54
|
@objc
|
|
53
55
|
func removeDownloadProgressListener(_ resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
|
|
54
|
-
print("removing download progress listener")
|
|
55
56
|
isListening = false
|
|
56
57
|
resolve(nil)
|
|
57
58
|
}
|
|
58
59
|
|
|
59
60
|
func onProgressChange(assetId: String, percentage: Double) {
|
|
60
|
-
print("Download Progress Changed)")
|
|
61
61
|
if isListening {
|
|
62
62
|
notifyDownloadsChange()
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
func onStateChange(status: Status, offlineAsset: OfflineAsset) {
|
|
67
|
-
print("Download State Changed")
|
|
68
67
|
if isListening {
|
|
69
68
|
notifyDownloadsChange()
|
|
70
69
|
}
|
|
71
70
|
}
|
|
72
71
|
|
|
73
72
|
func onDelete(assetId: String) {
|
|
74
|
-
print("Download Deleted")
|
|
75
73
|
if isListening {
|
|
76
74
|
if let offlineAsset = getOfflineAsset(assetId: assetId) {
|
|
77
75
|
notifyDownloadStateChanged(offlineAsset: offlineAsset)
|
|
@@ -81,7 +79,6 @@ class TPStreamsDownloadModule: RCTEventEmitter, TPStreamsDownloadDelegate {
|
|
|
81
79
|
}
|
|
82
80
|
|
|
83
81
|
func onStart(offlineAsset: OfflineAsset) {
|
|
84
|
-
print("Download Started")
|
|
85
82
|
if isListening {
|
|
86
83
|
notifyDownloadStateChanged(offlineAsset: offlineAsset)
|
|
87
84
|
notifyDownloadsChange()
|
|
@@ -89,7 +86,6 @@ class TPStreamsDownloadModule: RCTEventEmitter, TPStreamsDownloadDelegate {
|
|
|
89
86
|
}
|
|
90
87
|
|
|
91
88
|
func onComplete(offlineAsset: OfflineAsset) {
|
|
92
|
-
print("Download Completed")
|
|
93
89
|
if isListening {
|
|
94
90
|
notifyDownloadStateChanged(offlineAsset: offlineAsset)
|
|
95
91
|
notifyDownloadsChange()
|
|
@@ -97,7 +93,6 @@ class TPStreamsDownloadModule: RCTEventEmitter, TPStreamsDownloadDelegate {
|
|
|
97
93
|
}
|
|
98
94
|
|
|
99
95
|
func onPause(offlineAsset: OfflineAsset) {
|
|
100
|
-
print("Download Paused")
|
|
101
96
|
if isListening {
|
|
102
97
|
notifyDownloadStateChanged(offlineAsset: offlineAsset)
|
|
103
98
|
notifyDownloadsChange()
|
|
@@ -105,7 +100,6 @@ class TPStreamsDownloadModule: RCTEventEmitter, TPStreamsDownloadDelegate {
|
|
|
105
100
|
}
|
|
106
101
|
|
|
107
102
|
func onResume(offlineAsset: OfflineAsset) {
|
|
108
|
-
print("Download Resumed")
|
|
109
103
|
if isListening {
|
|
110
104
|
notifyDownloadStateChanged(offlineAsset: offlineAsset)
|
|
111
105
|
notifyDownloadsChange()
|
|
@@ -113,7 +107,6 @@ class TPStreamsDownloadModule: RCTEventEmitter, TPStreamsDownloadDelegate {
|
|
|
113
107
|
}
|
|
114
108
|
|
|
115
109
|
func onCanceled(assetId: String) {
|
|
116
|
-
print("Download Canceled")
|
|
117
110
|
if isListening {
|
|
118
111
|
if let offlineAsset = getOfflineAsset(assetId: assetId) {
|
|
119
112
|
notifyDownloadStateChanged(offlineAsset: offlineAsset)
|
|
@@ -131,12 +124,10 @@ class TPStreamsDownloadModule: RCTEventEmitter, TPStreamsDownloadDelegate {
|
|
|
131
124
|
}
|
|
132
125
|
|
|
133
126
|
private func notifyDownloadsChange() {
|
|
134
|
-
print("notifying downloads change to js")
|
|
135
127
|
DispatchQueue.main.async { [weak self] in
|
|
136
128
|
guard let self = self else { return }
|
|
137
129
|
let downloadAssets = self.getAllDownloadItems()
|
|
138
130
|
self.sendEvent(withName: "onDownloadProgressChanged", body: downloadAssets)
|
|
139
|
-
print("notified downloads change event to js")
|
|
140
131
|
}
|
|
141
132
|
}
|
|
142
133
|
|
|
@@ -323,13 +314,11 @@ class TPStreamsDownloadModule: RCTEventEmitter, TPStreamsDownloadDelegate {
|
|
|
323
314
|
|
|
324
315
|
@objc
|
|
325
316
|
override func addListener(_ eventName: String) {
|
|
326
|
-
print("adding listener: \(eventName)")
|
|
327
317
|
super.addListener(eventName)
|
|
328
318
|
}
|
|
329
319
|
|
|
330
320
|
@objc
|
|
331
321
|
override func removeListeners(_ count: Double) {
|
|
332
|
-
print("removing listener: \(count)")
|
|
333
322
|
super.removeListeners(count)
|
|
334
323
|
|
|
335
324
|
if count >= 1 && isListening {
|
|
@@ -9,7 +9,6 @@ class TPStreamsModule: NSObject {
|
|
|
9
9
|
|
|
10
10
|
@objc func initialize(_ organizationId: NSString) {
|
|
11
11
|
if !isInitialized {
|
|
12
|
-
print("Initializing TPStreamsSDK with org code: \(organizationId)")
|
|
13
12
|
DispatchQueue.main.async {
|
|
14
13
|
TPStreamsSDK.initialize(withOrgCode: organizationId as String)
|
|
15
14
|
self.isInitialized = true
|
|
@@ -19,7 +18,7 @@ class TPStreamsModule: NSObject {
|
|
|
19
18
|
}
|
|
20
19
|
|
|
21
20
|
private func initializeDownloadModule() {
|
|
22
|
-
|
|
21
|
+
_ = TPStreamsDownloadModule.shared
|
|
23
22
|
}
|
|
24
23
|
|
|
25
24
|
@objc
|
|
@@ -184,12 +184,12 @@ class TPStreamsRNPlayerView: UIView {
|
|
|
184
184
|
TPStreamsDownloadModule.shared?.setAccessTokenDelegate(self)
|
|
185
185
|
}
|
|
186
186
|
|
|
187
|
-
private func parseMetadataJSON(from jsonString: NSString?) -> [String:
|
|
187
|
+
private func parseMetadataJSON(from jsonString: NSString?) -> [String: Any]? {
|
|
188
188
|
guard let metadataString = jsonString as String? else { return nil }
|
|
189
189
|
|
|
190
190
|
guard let data = metadataString.data(using: .utf8) else { return nil }
|
|
191
191
|
do {
|
|
192
|
-
if let json = try JSONSerialization.jsonObject(with: data, options: []) as? [String:
|
|
192
|
+
if let json = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] {
|
|
193
193
|
return json
|
|
194
194
|
}
|
|
195
195
|
} catch {
|
|
@@ -6,15 +6,12 @@ const {
|
|
|
6
6
|
} = NativeModules;
|
|
7
7
|
const downloadEventEmitter = new NativeEventEmitter(TPStreamsDownload);
|
|
8
8
|
export function addDownloadProgressListener() {
|
|
9
|
-
console.log('JS: addDownloadProgressListener');
|
|
10
9
|
return TPStreamsDownload.addDownloadProgressListener();
|
|
11
10
|
}
|
|
12
11
|
export function removeDownloadProgressListener() {
|
|
13
|
-
console.log('JS: removeDownloadProgressListener');
|
|
14
12
|
return TPStreamsDownload.removeDownloadProgressListener();
|
|
15
13
|
}
|
|
16
14
|
export function onDownloadProgressChanged(listener) {
|
|
17
|
-
console.log('JS: onDownloadProgressChanged');
|
|
18
15
|
return downloadEventEmitter.addListener('onDownloadProgressChanged', listener);
|
|
19
16
|
}
|
|
20
17
|
export function onDownloadStateChanged(listener) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","NativeEventEmitter","TPStreamsDownload","downloadEventEmitter","addDownloadProgressListener","
|
|
1
|
+
{"version":3,"names":["NativeModules","NativeEventEmitter","TPStreamsDownload","downloadEventEmitter","addDownloadProgressListener","removeDownloadProgressListener","onDownloadProgressChanged","listener","addListener","onDownloadStateChanged","event","downloadItem","error","pauseDownload","videoId","resumeDownload","removeDownload","isDownloaded","isDownloading","isPaused","getDownloadStatus","getAllDownloads"],"sourceRoot":"../../src","sources":["TPStreamsDownload.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,kBAAkB,QAAQ,cAAc;AAGhE,MAAM;EAAEC;AAAkB,CAAC,GAAGF,aAAa;AA4B3C,MAAMG,oBAAoB,GAAG,IAAIF,kBAAkB,CAACC,iBAAiB,CAAC;AAEtE,OAAO,SAASE,2BAA2BA,CAAA,EAAkB;EAC3D,OAAOF,iBAAiB,CAACE,2BAA2B,CAAC,CAAC;AACxD;AAEA,OAAO,SAASC,8BAA8BA,CAAA,EAAkB;EAC9D,OAAOH,iBAAiB,CAACG,8BAA8B,CAAC,CAAC;AAC3D;AAEA,OAAO,SAASC,yBAAyBA,CACvCC,QAAkC,EACb;EACrB,OAAOJ,oBAAoB,CAACK,WAAW,CACrC,2BAA2B,EAC3BD,QACF,CAAC;AACH;AAEA,OAAO,SAASE,sBAAsBA,CACpCF,QAAqC,EAChB;EACrB,OAAOJ,oBAAoB,CAACK,WAAW,CAAC,wBAAwB,EAAGE,KAAK,IAAK;IAC3EH,QAAQ,CAACG,KAAK,CAACC,YAAY,EAAED,KAAK,CAACE,KAAK,CAAC;EAC3C,CAAC,CAAC;AACJ;AAEA,OAAO,SAASC,aAAaA,CAACC,OAAe,EAAiB;EAC5D,OAAOZ,iBAAiB,CAACW,aAAa,CAACC,OAAO,CAAC;AACjD;AAEA,OAAO,SAASC,cAAcA,CAACD,OAAe,EAAiB;EAC7D,OAAOZ,iBAAiB,CAACa,cAAc,CAACD,OAAO,CAAC;AAClD;AAEA,OAAO,SAASE,cAAcA,CAACF,OAAe,EAAiB;EAC7D,OAAOZ,iBAAiB,CAACc,cAAc,CAACF,OAAO,CAAC;AAClD;AAEA,OAAO,SAASG,YAAYA,CAACH,OAAe,EAAoB;EAC9D,OAAOZ,iBAAiB,CAACe,YAAY,CAACH,OAAO,CAAC;AAChD;AAEA,OAAO,SAASI,aAAaA,CAACJ,OAAe,EAAoB;EAC/D,OAAOZ,iBAAiB,CAACgB,aAAa,CAACJ,OAAO,CAAC;AACjD;AAEA,OAAO,SAASK,QAAQA,CAACL,OAAe,EAAoB;EAC1D,OAAOZ,iBAAiB,CAACiB,QAAQ,CAACL,OAAO,CAAC;AAC5C;AAEA,OAAO,SAASM,iBAAiBA,CAACN,OAAe,EAAmB;EAClE,OAAOZ,iBAAiB,CAACkB,iBAAiB,CAACN,OAAO,CAAC;AACrD;AAEA,OAAO,SAASO,eAAeA,CAAA,EAA4B;EACzD,OAAOnB,iBAAiB,CAACmB,eAAe,CAAC,CAAC;AAC5C","ignoreList":[]}
|
|
@@ -7,7 +7,7 @@ export interface DownloadItem {
|
|
|
7
7
|
downloadedBytes: number;
|
|
8
8
|
progressPercentage: number;
|
|
9
9
|
state: string;
|
|
10
|
-
metadata: string
|
|
10
|
+
metadata: Record<string, any>;
|
|
11
11
|
}
|
|
12
12
|
export type DownloadProgressChange = DownloadItem;
|
|
13
13
|
export type DownloadProgressListener = (downloads: DownloadProgressChange[]) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TPStreamsDownload.d.ts","sourceRoot":"","sources":["../../../src/TPStreamsDownload.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAIxD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"TPStreamsDownload.d.ts","sourceRoot":"","sources":["../../../src/TPStreamsDownload.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAIxD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAClD,MAAM,MAAM,wBAAwB,GAAG,CACrC,SAAS,EAAE,sBAAsB,EAAE,KAChC,IAAI,CAAC;AAEV,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,2BAA2B,GAAG,CACxC,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,aAAa,GAAG,IAAI,KACxB,IAAI,CAAC;AAIV,wBAAgB,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3D;AAED,wBAAgB,8BAA8B,IAAI,OAAO,CAAC,IAAI,CAAC,CAE9D;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,wBAAwB,GACjC,mBAAmB,CAKrB;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,2BAA2B,GACpC,mBAAmB,CAIrB;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7D;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE9D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/D;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE1D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAElE;AAED,wBAAgB,eAAe,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAEzD"}
|
|
@@ -19,7 +19,7 @@ export interface TPStreamsPlayerProps extends ViewProps {
|
|
|
19
19
|
offlineLicenseExpireTime?: number;
|
|
20
20
|
showDefaultCaptions?: boolean;
|
|
21
21
|
downloadMetadata?: {
|
|
22
|
-
[key: string]:
|
|
22
|
+
[key: string]: any;
|
|
23
23
|
};
|
|
24
24
|
onPlayerStateChanged?: (state: number) => void;
|
|
25
25
|
onIsPlayingChanged?: (isPlaying: boolean) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TPStreamsPlayer.d.ts","sourceRoot":"","sources":["../../../src/TPStreamsPlayer.tsx"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAc9C,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,kBAAkB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,WAAW,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,SAAS,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,gBAAgB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACzC;AAGD,MAAM,WAAW,oBAAqB,SAAQ,SAAS;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"TPStreamsPlayer.d.ts","sourceRoot":"","sources":["../../../src/TPStreamsPlayer.tsx"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAc9C,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,kBAAkB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,WAAW,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,SAAS,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,gBAAgB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACzC;AAGD,MAAM,WAAW,oBAAqB,SAAQ,SAAS;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAC1C,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,KAAK,IAAI,CAAC;IACX,oBAAoB,CAAC,EAAE,CACrB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,KACjC,IAAI,CAAC;CACX;AAED;;;GAGG;AACH,QAAA,MAAM,mBAAmB,qHAyMvB,CAAC;AAEH,eAAe,mBAAmB,CAAC"}
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@ export interface DownloadItem {
|
|
|
11
11
|
downloadedBytes: number;
|
|
12
12
|
progressPercentage: number;
|
|
13
13
|
state: string;
|
|
14
|
-
metadata: string
|
|
14
|
+
metadata: Record<string, any>;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
export type DownloadProgressChange = DownloadItem;
|
|
@@ -32,19 +32,16 @@ export type DownloadStateChangeListener = (
|
|
|
32
32
|
const downloadEventEmitter = new NativeEventEmitter(TPStreamsDownload);
|
|
33
33
|
|
|
34
34
|
export function addDownloadProgressListener(): Promise<void> {
|
|
35
|
-
console.log('JS: addDownloadProgressListener');
|
|
36
35
|
return TPStreamsDownload.addDownloadProgressListener();
|
|
37
36
|
}
|
|
38
37
|
|
|
39
38
|
export function removeDownloadProgressListener(): Promise<void> {
|
|
40
|
-
console.log('JS: removeDownloadProgressListener');
|
|
41
39
|
return TPStreamsDownload.removeDownloadProgressListener();
|
|
42
40
|
}
|
|
43
41
|
|
|
44
42
|
export function onDownloadProgressChanged(
|
|
45
43
|
listener: DownloadProgressListener
|
|
46
44
|
): EmitterSubscription {
|
|
47
|
-
console.log('JS: onDownloadProgressChanged');
|
|
48
45
|
return downloadEventEmitter.addListener(
|
|
49
46
|
'onDownloadProgressChanged',
|
|
50
47
|
listener
|
package/src/TPStreamsPlayer.tsx
CHANGED
|
@@ -40,7 +40,7 @@ export interface TPStreamsPlayerProps extends ViewProps {
|
|
|
40
40
|
enableDownload?: boolean;
|
|
41
41
|
offlineLicenseExpireTime?: number;
|
|
42
42
|
showDefaultCaptions?: boolean;
|
|
43
|
-
downloadMetadata?: { [key: string]:
|
|
43
|
+
downloadMetadata?: { [key: string]: any };
|
|
44
44
|
onPlayerStateChanged?: (state: number) => void;
|
|
45
45
|
onIsPlayingChanged?: (isPlaying: boolean) => void;
|
|
46
46
|
onPlaybackSpeedChanged?: (speed: number) => void;
|