@takeoffmedia/react-native-penthera 0.2.49 → 0.2.50
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/android/src/main/java/com/takeoffmediareactnativepenthera/virtuoso/OfflineVideoEngine.kt +39 -2
- package/ios/Penthera.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/ios/Penthera.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/ios/Penthera.xcodeproj/project.xcworkspace/xcuserdata/joseguerreroot.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/Penthera.xcodeproj/xcuserdata/joseguerreroot.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +104 -0
- package/ios/Penthera.xcodeproj/xcuserdata/joseguerreroot.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
- package/package.json +2 -2
package/android/src/main/java/com/takeoffmediareactnativepenthera/virtuoso/OfflineVideoEngine.kt
CHANGED
|
@@ -4,8 +4,8 @@ import android.annotation.SuppressLint
|
|
|
4
4
|
import android.app.Activity
|
|
5
5
|
import android.content.Context
|
|
6
6
|
import android.util.Log
|
|
7
|
-
import android.widget.Toast
|
|
8
7
|
import com.bitmovin.player.reactnative.PlayerModule
|
|
8
|
+
import com.bitmovin.player.reactnative.converter.JsonConverter
|
|
9
9
|
|
|
10
10
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
11
11
|
import com.google.gson.Gson
|
|
@@ -27,11 +27,13 @@ import com.facebook.react.bridge.Arguments
|
|
|
27
27
|
import com.facebook.react.uimanager.UIManagerModule
|
|
28
28
|
import com.facebook.react.bridge.Promise
|
|
29
29
|
import com.facebook.react.bridge.ReadableArray
|
|
30
|
+
import com.facebook.react.bridge.ReadableMap
|
|
31
|
+
|
|
30
32
|
import com.penthera.virtuososdk.client.AncillaryFile
|
|
33
|
+
import org.json.JSONArray
|
|
31
34
|
import org.json.JSONObject
|
|
32
35
|
import java.text.SimpleDateFormat
|
|
33
36
|
import java.util.Calendar
|
|
34
|
-
import java.util.TimeZone
|
|
35
37
|
|
|
36
38
|
class OfflineVideoEngine(private val context: ReactApplicationContext) {
|
|
37
39
|
|
|
@@ -127,6 +129,22 @@ class OfflineVideoEngine(private val context: ReactApplicationContext) {
|
|
|
127
129
|
)
|
|
128
130
|
)
|
|
129
131
|
|
|
132
|
+
val subtitles = JSONArray(item["subtitles"] as String)
|
|
133
|
+
for (i in 0 until subtitles.length()) {
|
|
134
|
+
val subtitle = subtitles.getJSONObject(i)
|
|
135
|
+
val language = subtitle["language"] as String
|
|
136
|
+
val href = subtitle["href"]
|
|
137
|
+
fileList.add(
|
|
138
|
+
AncillaryFile(
|
|
139
|
+
URL(href.toString()),
|
|
140
|
+
language,
|
|
141
|
+
arrayOf(language),
|
|
142
|
+
language,
|
|
143
|
+
URL(href.toString())
|
|
144
|
+
)
|
|
145
|
+
)
|
|
146
|
+
}
|
|
147
|
+
|
|
130
148
|
val params = MPDAssetBuilder().apply {
|
|
131
149
|
assetId(assetId)
|
|
132
150
|
manifestUrl(URL(url))
|
|
@@ -278,12 +296,31 @@ class OfflineVideoEngine(private val context: ReactApplicationContext) {
|
|
|
278
296
|
|
|
279
297
|
fun loadBitmovinSourceManager(assetId: String, nativeId: String): Boolean {
|
|
280
298
|
virtuoso.assetManager?.getByAssetId(assetId)?.firstOrNull()?.let { asset ->
|
|
299
|
+
|
|
281
300
|
val sourceManager = BitmovinSourceManager(context, asset as ISegmentedAsset)
|
|
282
301
|
val sourceItem = sourceManager.bitmovinSourceItem
|
|
283
302
|
val playerModule = context.getNativeModule(PlayerModule::class.java)
|
|
284
303
|
if (playerModule != null && sourceItem != null) {
|
|
285
304
|
val player = playerModule.getPlayer(nativeId)
|
|
286
305
|
if (player != null) {
|
|
306
|
+
|
|
307
|
+
val subtitles = JSONArray(JSONObject(asset.metadata)["subtitles"] as String)
|
|
308
|
+
val ancillaryFiles = (asset as ISegmentedAsset).getAncillaryFiles(context)
|
|
309
|
+
for (i in 0 until subtitles.length()) {
|
|
310
|
+
val subtitle = subtitles.getJSONObject(i)
|
|
311
|
+
val subtitleMap = Arguments.createMap()
|
|
312
|
+
ancillaryFiles.find { it.description == subtitle.getString("language") }?.let {
|
|
313
|
+
subtitleMap.putString("url", it.playbackUrl.toString())
|
|
314
|
+
}
|
|
315
|
+
subtitleMap.putString("language", subtitle.getString("language"))
|
|
316
|
+
subtitleMap.putString("label", subtitle.getString("label"))
|
|
317
|
+
subtitleMap.putString("format", "vtt")
|
|
318
|
+
|
|
319
|
+
JsonConverter.toSubtitleTrack(subtitleMap)?.let {
|
|
320
|
+
sourceItem.addSubtitleTrack(it)
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
|
|
287
324
|
player.load(sourceItem)
|
|
288
325
|
return true
|
|
289
326
|
}
|
|
Binary file
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<Bucket
|
|
3
|
+
uuid = "3AE98629-7421-4561-B12C-C06B8B6A3023"
|
|
4
|
+
type = "1"
|
|
5
|
+
version = "2.0">
|
|
6
|
+
<Breakpoints>
|
|
7
|
+
<BreakpointProxy
|
|
8
|
+
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
|
9
|
+
<BreakpointContent
|
|
10
|
+
uuid = "A5D166B0-3C57-4F4D-A845-BDB81498DA0F"
|
|
11
|
+
shouldBeEnabled = "No"
|
|
12
|
+
ignoreCount = "0"
|
|
13
|
+
continueAfterRunningActions = "No"
|
|
14
|
+
filePath = "Penthera.swift"
|
|
15
|
+
startingColumnNumber = "9223372036854775807"
|
|
16
|
+
endingColumnNumber = "9223372036854775807"
|
|
17
|
+
startingLineNumber = "18"
|
|
18
|
+
endingLineNumber = "18"
|
|
19
|
+
landmarkName = "Penthera"
|
|
20
|
+
landmarkType = "3">
|
|
21
|
+
</BreakpointContent>
|
|
22
|
+
</BreakpointProxy>
|
|
23
|
+
<BreakpointProxy
|
|
24
|
+
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
|
25
|
+
<BreakpointContent
|
|
26
|
+
uuid = "5D7AE47B-D5FC-4468-A75B-C414F3F8A58C"
|
|
27
|
+
shouldBeEnabled = "No"
|
|
28
|
+
ignoreCount = "0"
|
|
29
|
+
continueAfterRunningActions = "No"
|
|
30
|
+
filePath = "Penthera.swift"
|
|
31
|
+
startingColumnNumber = "9223372036854775807"
|
|
32
|
+
endingColumnNumber = "9223372036854775807"
|
|
33
|
+
startingLineNumber = "25"
|
|
34
|
+
endingLineNumber = "25"
|
|
35
|
+
landmarkName = "updateStatusInfo()"
|
|
36
|
+
landmarkType = "7">
|
|
37
|
+
</BreakpointContent>
|
|
38
|
+
</BreakpointProxy>
|
|
39
|
+
<BreakpointProxy
|
|
40
|
+
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
|
41
|
+
<BreakpointContent
|
|
42
|
+
uuid = "E3C50B30-46CF-4D56-8C49-C257C70E0ACC"
|
|
43
|
+
shouldBeEnabled = "No"
|
|
44
|
+
ignoreCount = "0"
|
|
45
|
+
continueAfterRunningActions = "No"
|
|
46
|
+
filePath = "Penthera.swift"
|
|
47
|
+
startingColumnNumber = "9223372036854775807"
|
|
48
|
+
endingColumnNumber = "9223372036854775807"
|
|
49
|
+
startingLineNumber = "26"
|
|
50
|
+
endingLineNumber = "26"
|
|
51
|
+
landmarkName = "updateStatusInfo()"
|
|
52
|
+
landmarkType = "7">
|
|
53
|
+
</BreakpointContent>
|
|
54
|
+
</BreakpointProxy>
|
|
55
|
+
<BreakpointProxy
|
|
56
|
+
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
|
57
|
+
<BreakpointContent
|
|
58
|
+
uuid = "75EF43BF-56FF-4727-B372-E1A0EBC02C61"
|
|
59
|
+
shouldBeEnabled = "Yes"
|
|
60
|
+
ignoreCount = "0"
|
|
61
|
+
continueAfterRunningActions = "No"
|
|
62
|
+
filePath = "Penthera.swift"
|
|
63
|
+
startingColumnNumber = "9223372036854775807"
|
|
64
|
+
endingColumnNumber = "9223372036854775807"
|
|
65
|
+
startingLineNumber = "101"
|
|
66
|
+
endingLineNumber = "101"
|
|
67
|
+
landmarkName = "initializeSdk(user:backplaneUrl:publicKey:privateKey:resolve:reject:)"
|
|
68
|
+
landmarkType = "7">
|
|
69
|
+
</BreakpointContent>
|
|
70
|
+
</BreakpointProxy>
|
|
71
|
+
<BreakpointProxy
|
|
72
|
+
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
|
73
|
+
<BreakpointContent
|
|
74
|
+
uuid = "EF36B51B-4FC2-4989-A791-180E3212EFE3"
|
|
75
|
+
shouldBeEnabled = "Yes"
|
|
76
|
+
ignoreCount = "0"
|
|
77
|
+
continueAfterRunningActions = "No"
|
|
78
|
+
filePath = "Penthera.swift"
|
|
79
|
+
startingColumnNumber = "9223372036854775807"
|
|
80
|
+
endingColumnNumber = "9223372036854775807"
|
|
81
|
+
startingLineNumber = "149"
|
|
82
|
+
endingLineNumber = "149"
|
|
83
|
+
landmarkName = "getDownloadedAsset(assetID:)"
|
|
84
|
+
landmarkType = "7">
|
|
85
|
+
</BreakpointContent>
|
|
86
|
+
</BreakpointProxy>
|
|
87
|
+
<BreakpointProxy
|
|
88
|
+
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
|
89
|
+
<BreakpointContent
|
|
90
|
+
uuid = "C467C00E-2428-4D24-843A-E7CDF28CB553"
|
|
91
|
+
shouldBeEnabled = "Yes"
|
|
92
|
+
ignoreCount = "0"
|
|
93
|
+
continueAfterRunningActions = "No"
|
|
94
|
+
filePath = "Penthera.swift"
|
|
95
|
+
startingColumnNumber = "9223372036854775807"
|
|
96
|
+
endingColumnNumber = "9223372036854775807"
|
|
97
|
+
startingLineNumber = "148"
|
|
98
|
+
endingLineNumber = "148"
|
|
99
|
+
landmarkName = "getDownloadedAsset(assetID:)"
|
|
100
|
+
landmarkType = "7">
|
|
101
|
+
</BreakpointContent>
|
|
102
|
+
</BreakpointProxy>
|
|
103
|
+
</Breakpoints>
|
|
104
|
+
</Bucket>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>SchemeUserState</key>
|
|
6
|
+
<dict>
|
|
7
|
+
<key>Penthera.xcscheme_^#shared#^_</key>
|
|
8
|
+
<dict>
|
|
9
|
+
<key>orderHint</key>
|
|
10
|
+
<integer>0</integer>
|
|
11
|
+
</dict>
|
|
12
|
+
</dict>
|
|
13
|
+
</dict>
|
|
14
|
+
</plist>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@takeoffmedia/react-native-penthera",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.50",
|
|
4
4
|
"description": "test",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -166,4 +166,4 @@
|
|
|
166
166
|
"dependencies": {
|
|
167
167
|
"zustand": "^4.4.0"
|
|
168
168
|
}
|
|
169
|
-
}
|
|
169
|
+
}
|