@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.
@@ -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
  }
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Workspace
3
+ version = "1.0">
4
+ <FileRef
5
+ location = "self:">
6
+ </FileRef>
7
+ </Workspace>
@@ -0,0 +1,8 @@
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>IDEDidComputeMac32BitWarning</key>
6
+ <true/>
7
+ </dict>
8
+ </plist>
@@ -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.49",
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
+ }