react-native-tpstreams 1.1.0-debug.3 → 1.1.0-debug.5

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.
@@ -21,7 +21,7 @@ Pod::Spec.new do |s|
21
21
  'DEFINES_MODULE' => 'YES',
22
22
  'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES'
23
23
  }
24
- s.dependency "TPStreamsSDK" , "1.2.13"
24
+ s.dependency "TPStreamsSDK" , "1.2.14"
25
25
  s.source = {
26
26
  :git => "https://github.com/testpress/iOSPlayerSDK.git",
27
27
  :branch => "fix_download_cleanup"
@@ -28,14 +28,6 @@ class TPStreamsRNPlayerView: UIView {
28
28
  private var pendingOfflineCredentialsCompletion: ((String?, Double) -> Void)?
29
29
  private var _offlineLicenseExpireTime: Double = TPStreamsRNPlayerView.maxOfflineLicenseDuration
30
30
 
31
- // Add a property to track when play() was called
32
- private var playCallTime: CFAbsoluteTime?
33
- private var playerReadyTime: CFAbsoluteTime?
34
- private var playbackStartTime: CFAbsoluteTime?
35
-
36
- // Add a property to track when setup started (for relative timing)
37
- private var setupStartTime: CFAbsoluteTime?
38
-
39
31
  @objc var videoId: NSString = ""
40
32
  @objc var accessToken: NSString = ""
41
33
  @objc var shouldAutoPlay: Bool = true
@@ -65,17 +57,11 @@ class TPStreamsRNPlayerView: UIView {
65
57
  override init(frame: CGRect) {
66
58
  super.init(frame: frame)
67
59
  backgroundColor = .black
68
- let deviceModel = UIDevice.current.model
69
- let systemVersion = UIDevice.current.systemVersion
70
- print("⏱️ [TPStreams] TPStreamsRNPlayerView init() - Device: \(deviceModel), iOS: \(systemVersion)")
71
60
  }
72
61
 
73
62
  required init?(coder: NSCoder) {
74
63
  super.init(coder: coder)
75
64
  backgroundColor = .black
76
- let deviceModel = UIDevice.current.model
77
- let systemVersion = UIDevice.current.systemVersion
78
- print("⏱️ [TPStreams] TPStreamsRNPlayerView init(coder:) - Device: \(deviceModel), iOS: \(systemVersion)")
79
65
  }
80
66
 
81
67
  override func layoutSubviews() {
@@ -85,93 +71,38 @@ class TPStreamsRNPlayerView: UIView {
85
71
 
86
72
  override func didSetProps(_ changedProps: [String]!) {
87
73
  super.didSetProps(changedProps)
88
- let propsTime = CFAbsoluteTimeGetCurrent()
89
- print("⏱️ [TPStreams] didSetProps() called with props: \(changedProps ?? [])")
90
74
  schedulePlayerSetup()
91
- let propsDuration = CFAbsoluteTimeGetCurrent() - propsTime
92
- print("⏱️ [TPStreams] didSetProps() took: \(String(format: "%.3f", propsDuration * 1000))ms")
93
75
  }
94
76
 
95
77
  private func schedulePlayerSetup() {
96
- guard !setupScheduled else {
97
- print("⏱️ [TPStreams] setupPlayer() already scheduled, skipping")
98
- return
99
- }
78
+ guard !setupScheduled else { return }
100
79
 
101
- let scheduleTime = CFAbsoluteTimeGetCurrent()
102
80
  setupScheduled = true
103
- print("⏱️ [TPStreams] schedulePlayerSetup() - scheduling async setup")
104
81
  DispatchQueue.main.async { [weak self] in
105
- let asyncDelay = CFAbsoluteTimeGetCurrent() - scheduleTime
106
- print("⏱️ [TPStreams] schedulePlayerSetup() - async dispatch delay: \(String(format: "%.3f", asyncDelay * 1000))ms")
107
82
  self?.setupPlayer()
108
83
  }
109
84
  }
110
85
 
111
86
  private func setupPlayer() {
112
- let setupStartTime = CFAbsoluteTimeGetCurrent()
113
- self.setupStartTime = setupStartTime // Store for relative timing
114
- print("⏱️ [TPStreams] ========== setupPlayer() STARTED ==========")
115
- print("⏱️ [TPStreams] videoId: \(videoId), accessToken length: \(accessToken.length)")
116
-
117
- // Cleanup
118
- let cleanupStartTime = CFAbsoluteTimeGetCurrent()
119
87
  cleanupPlayer()
120
- let cleanupDuration = CFAbsoluteTimeGetCurrent() - cleanupStartTime
121
- print("⏱️ [TPStreams] cleanupPlayer() took: \(String(format: "%.3f", cleanupDuration * 1000))ms")
122
-
123
- // Download check
124
- let downloadCheckStartTime = CFAbsoluteTimeGetCurrent()
125
- let isDownloaded = TPStreamsDownloadManager.shared.isAssetDownloaded(assetID: videoId as String)
126
- let downloadCheckDuration = CFAbsoluteTimeGetCurrent() - downloadCheckStartTime
127
- print("⏱️ [TPStreams] Download check took: \(String(format: "%.3f", downloadCheckDuration * 1000))ms (isDownloaded: \(isDownloaded))")
128
88
 
129
- // Player creation
130
- let playerCreateStartTime = CFAbsoluteTimeGetCurrent()
131
- player = isDownloaded
89
+ player = TPStreamsDownloadManager.shared.isAssetDownloaded(assetID: videoId as String)
132
90
  ? createOfflinePlayer()
133
91
  : createOnlinePlayer()
134
- let playerCreateDuration = CFAbsoluteTimeGetCurrent() - playerCreateStartTime
135
- print("⏱️ [TPStreams] Player creation took: \(String(format: "%.3f", playerCreateDuration * 1000))ms")
136
92
 
137
93
  guard player != nil else {
138
- print("❌ [TPStreams] Failed to create player - invalid videoId or accessToken")
94
+ print("Failed to create player - invalid videoId or accessToken")
139
95
  setupScheduled = false
140
96
  return
141
97
  }
142
-
143
- // Token delegate setup
144
- let tokenDelegateStartTime = CFAbsoluteTimeGetCurrent()
145
98
  setupTokenDelegate()
146
- let tokenDelegateDuration = CFAbsoluteTimeGetCurrent() - tokenDelegateStartTime
147
- print("⏱️ [TPStreams] setupTokenDelegate() took: \(String(format: "%.3f", tokenDelegateDuration * 1000))ms")
148
-
149
- // View configuration
150
- let configStartTime = CFAbsoluteTimeGetCurrent()
151
99
  configurePlayerView()
152
- let configDuration = CFAbsoluteTimeGetCurrent() - configStartTime
153
- print("⏱️ [TPStreams] configurePlayerView() took: \(String(format: "%.3f", configDuration * 1000))ms")
154
-
155
- // Observer setup
156
- let observerStartTime = CFAbsoluteTimeGetCurrent()
157
100
  observePlayerChanges()
158
- let observerDuration = CFAbsoluteTimeGetCurrent() - observerStartTime
159
- print("⏱️ [TPStreams] observePlayerChanges() took: \(String(format: "%.3f", observerDuration * 1000))ms")
160
-
161
101
  setupScheduled = false
162
-
163
- let totalDuration = CFAbsoluteTimeGetCurrent() - setupStartTime
164
- print("⏱️ [TPStreams] ========== setupPlayer() COMPLETED in \(String(format: "%.3f", totalDuration * 1000))ms ==========")
165
102
  }
166
103
 
167
104
  private func cleanupPlayer() {
168
- let cleanupStartTime = CFAbsoluteTimeGetCurrent()
169
-
170
- let removeObserversStartTime = CFAbsoluteTimeGetCurrent()
171
105
  removeObservers()
172
- let removeObserversDuration = CFAbsoluteTimeGetCurrent() - removeObserversStartTime
173
- print("⏱️ [TPStreams] removeObservers() took: \(String(format: "%.3f", removeObserversDuration * 1000))ms")
174
-
175
106
  player?.pause()
176
107
 
177
108
  playerViewController?.view.removeFromSuperview()
@@ -180,11 +111,6 @@ class TPStreamsRNPlayerView: UIView {
180
111
 
181
112
  player?.replaceCurrentItem(with: nil)
182
113
  player = nil
183
-
184
- let totalCleanupDuration = CFAbsoluteTimeGetCurrent() - cleanupStartTime
185
- if totalCleanupDuration > 0.001 { // Only log if cleanup took meaningful time
186
- print("⏱️ [TPStreams] cleanupPlayer() total: \(String(format: "%.3f", totalCleanupDuration * 1000))ms")
187
- }
188
114
  }
189
115
 
190
116
  private func removeObservers() {
@@ -199,37 +125,17 @@ class TPStreamsRNPlayerView: UIView {
199
125
  }
200
126
 
201
127
  private func createOfflinePlayer() -> TPAVPlayer? {
202
- let startTime = CFAbsoluteTimeGetCurrent()
203
- guard videoId.length > 0 else {
204
- print("❌ [TPStreams] createOfflinePlayer() - invalid videoId")
205
- return nil
206
- }
207
- print("⏱️ [TPStreams] Creating offline player for videoId: \(videoId)")
208
- let player = TPAVPlayer(offlineAssetId: videoId as String) { [weak self] error in
209
- let errorTime = CFAbsoluteTimeGetCurrent()
210
- print("⏱️ [TPStreams] Offline player error callback triggered at: \(String(format: "%.3f", errorTime * 1000))ms")
128
+ guard videoId.length > 0 else { return nil }
129
+ return TPAVPlayer(offlineAssetId: videoId as String) { [weak self] error in
211
130
  self?.handlePlayerError(error, context: "Offline setup")
212
131
  }
213
- let duration = CFAbsoluteTimeGetCurrent() - startTime
214
- print("⏱️ [TPStreams] TPAVPlayer(offline) init took: \(String(format: "%.3f", duration * 1000))ms")
215
- return player
216
132
  }
217
133
 
218
134
  private func createOnlinePlayer() -> TPAVPlayer? {
219
- let startTime = CFAbsoluteTimeGetCurrent()
220
- guard videoId.length > 0, accessToken.length > 0 else {
221
- print("❌ [TPStreams] createOnlinePlayer() - invalid videoId or accessToken")
222
- return nil
223
- }
224
- print("⏱️ [TPStreams] Creating online player for videoId: \(videoId)")
225
- let player = TPAVPlayer(assetID: videoId as String, accessToken: accessToken as String) { [weak self] error in
226
- let errorTime = CFAbsoluteTimeGetCurrent()
227
- // print("⏱️ [TPStreams] Online player error callback triggered at: \(String(format: "%.3f", errorTime * 1000))ms")
135
+ guard videoId.length > 0, accessToken.length > 0 else { return nil }
136
+ return TPAVPlayer(assetID: videoId as String, accessToken: accessToken as String) { [weak self] error in
228
137
  self?.handlePlayerError(error, context: "Online setup")
229
138
  }
230
- let duration = CFAbsoluteTimeGetCurrent() - startTime
231
- print("⏱️ [TPStreams] TPAVPlayer(online) init took: \(String(format: "%.3f", duration * 1000))ms")
232
- return player
233
139
  }
234
140
 
235
141
  private func handlePlayerError(_ error: Error?, context: String) {
@@ -244,14 +150,7 @@ class TPStreamsRNPlayerView: UIView {
244
150
  }
245
151
 
246
152
  private func configurePlayerView() {
247
- let configStartTime = CFAbsoluteTimeGetCurrent()
248
- guard let player = player else {
249
- print("❌ [TPStreams] configurePlayerView() - player is nil")
250
- return
251
- }
252
-
253
- // License renewal setup
254
- let licenseSetupStartTime = CFAbsoluteTimeGetCurrent()
153
+ guard let player = player else { return }
255
154
  player.onRequestOfflineLicenseRenewal = { [weak self] assetId, completion in
256
155
  guard let self = self else {
257
156
  completion(nil, 0)
@@ -261,132 +160,53 @@ class TPStreamsRNPlayerView: UIView {
261
160
  self.pendingOfflineCredentialsCompletion = completion
262
161
  self.onAccessTokenExpired?(["videoId": assetId])
263
162
  }
264
- let licenseSetupDuration = CFAbsoluteTimeGetCurrent() - licenseSetupStartTime
265
- print("⏱️ [TPStreams] License renewal setup took: \(String(format: "%.3f", licenseSetupDuration * 1000))ms")
266
163
 
267
- // Config builder
268
- let configBuilderStartTime = CFAbsoluteTimeGetCurrent()
269
164
  let configBuilder = createPlayerConfigBuilder()
270
- let configBuilderDuration = CFAbsoluteTimeGetCurrent() - configBuilderStartTime
271
- print("⏱️ [TPStreams] createPlayerConfigBuilder() took: \(String(format: "%.3f", configBuilderDuration * 1000))ms")
272
-
273
- // View controller creation
274
- let vcCreateStartTime = CFAbsoluteTimeGetCurrent()
275
165
  let playerVC = TPStreamPlayerViewController()
276
166
  playerVC.player = player
277
167
  playerVC.config = configBuilder.build()
278
- let vcCreateDuration = CFAbsoluteTimeGetCurrent() - vcCreateStartTime
279
- print("⏱️ [TPStreams] TPStreamPlayerViewController creation took: \(String(format: "%.3f", vcCreateDuration * 1000))ms")
280
168
 
281
- // Attach view controller
282
- let attachStartTime = CFAbsoluteTimeGetCurrent()
283
169
  attachPlayerViewController(playerVC)
284
- let attachDuration = CFAbsoluteTimeGetCurrent() - attachStartTime
285
- print("⏱️ [TPStreams] attachPlayerViewController() took: \(String(format: "%.3f", attachDuration * 1000))ms")
286
-
287
- if shouldAutoPlay {
288
- let playStartTime = CFAbsoluteTimeGetCurrent()
289
- playCallTime = playStartTime
290
- print("⏱️ [TPStreams] 🎬 player.play() CALLED at: \(String(format: "%.3f", playStartTime * 1000))ms")
291
- player.play()
292
- let playDuration = CFAbsoluteTimeGetCurrent() - playStartTime
293
- print("⏱️ [TPStreams] player.play() took: \(String(format: "%.3f", playDuration * 1000))ms")
294
- }
295
170
 
171
+ if shouldAutoPlay { player.play() }
296
172
  playerViewController = playerVC
297
-
298
- let totalConfigDuration = CFAbsoluteTimeGetCurrent() - configStartTime
299
- print("⏱️ [TPStreams] configurePlayerView() total: \(String(format: "%.3f", totalConfigDuration * 1000))ms")
300
173
  }
301
174
 
302
175
  private func createPlayerConfigBuilder() -> TPStreamPlayerConfigurationBuilder {
303
- let builderStartTime = CFAbsoluteTimeGetCurrent()
304
-
305
- let parseStartTime = CFAbsoluteTimeGetCurrent()
306
176
  let metadataDict = parseMetadataJSON(from: downloadMetadata)
307
- let parseDuration = CFAbsoluteTimeGetCurrent() - parseStartTime
308
- print("⏱️ [TPStreams] parseMetadataJSON() took: \(String(format: "%.3f", parseDuration * 1000))ms")
309
-
310
- let builderCreateStartTime = CFAbsoluteTimeGetCurrent()
311
177
  let configBuilder = TPStreamPlayerConfigurationBuilder()
312
178
  .setPreferredForwardDuration(15)
313
179
  .setPreferredRewindDuration(5)
314
180
  .setprogressBarThumbColor(.systemBlue)
315
181
  .setwatchedProgressTrackColor(.systemBlue)
316
182
  .setDownloadMetadata(metadataDict)
317
- let builderCreateDuration = CFAbsoluteTimeGetCurrent() - builderCreateStartTime
318
- print("⏱️ [TPStreams] ConfigBuilder creation took: \(String(format: "%.3f", builderCreateDuration * 1000))ms")
319
183
 
320
- let licenseStartTime = CFAbsoluteTimeGetCurrent()
321
184
  configBuilder.setLicenseDurationSeconds(offlineLicenseExpireTime)
322
- let licenseDuration = CFAbsoluteTimeGetCurrent() - licenseStartTime
323
- print("⏱️ [TPStreams] setLicenseDurationSeconds() took: \(String(format: "%.3f", licenseDuration * 1000))ms")
324
185
 
325
186
  if enableDownload {
326
- let downloadOptionStartTime = CFAbsoluteTimeGetCurrent()
327
187
  configBuilder.showDownloadOption()
328
- let downloadOptionDuration = CFAbsoluteTimeGetCurrent() - downloadOptionStartTime
329
- print("⏱️ [TPStreams] showDownloadOption() took: \(String(format: "%.3f", downloadOptionDuration * 1000))ms")
330
188
  }
331
189
 
332
- let totalBuilderDuration = CFAbsoluteTimeGetCurrent() - builderStartTime
333
- print("⏱️ [TPStreams] createPlayerConfigBuilder() total: \(String(format: "%.3f", totalBuilderDuration * 1000))ms")
334
-
335
190
  return configBuilder
336
191
  }
337
192
 
338
193
  private func attachPlayerViewController(_ playerVC: TPStreamPlayerViewController) {
339
- let attachStartTime = CFAbsoluteTimeGetCurrent()
340
- guard let parentVC = reactViewController() else {
341
- print("❌ [TPStreams] attachPlayerViewController() - reactViewController() is nil")
342
- return
343
- }
194
+ guard let parentVC = reactViewController() else { return }
344
195
 
345
- let addChildStartTime = CFAbsoluteTimeGetCurrent()
346
196
  parentVC.addChild(playerVC)
347
- let addChildDuration = CFAbsoluteTimeGetCurrent() - addChildStartTime
348
- print("⏱️ [TPStreams] addChild() took: \(String(format: "%.3f", addChildDuration * 1000))ms")
349
-
350
197
  addSubview(playerVC.view)
351
198
  playerVC.view.frame = bounds
352
199
  playerVC.view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
353
200
  playerVC.view.isHidden = false
354
201
  bringSubviewToFront(playerVC.view)
355
-
356
- let didMoveStartTime = CFAbsoluteTimeGetCurrent()
357
202
  playerVC.didMove(toParent: parentVC)
358
- let didMoveDuration = CFAbsoluteTimeGetCurrent() - didMoveStartTime
359
- print("⏱️ [TPStreams] didMove(toParent:) took: \(String(format: "%.3f", didMoveDuration * 1000))ms")
360
-
361
- let totalAttachDuration = CFAbsoluteTimeGetCurrent() - attachStartTime
362
- print("⏱️ [TPStreams] attachPlayerViewController() total: \(String(format: "%.3f", totalAttachDuration * 1000))ms")
363
203
  }
364
204
 
365
205
  private func observePlayerChanges() {
366
- let observerStartTime = CFAbsoluteTimeGetCurrent()
367
-
368
- let seekObserverStartTime = CFAbsoluteTimeGetCurrent()
369
206
  setupSeekObserver()
370
- let seekObserverDuration = CFAbsoluteTimeGetCurrent() - seekObserverStartTime
371
- print("⏱️ [TPStreams] setupSeekObserver() took: \(String(format: "%.3f", seekObserverDuration * 1000))ms")
372
-
373
- let playerStateObserverStartTime = CFAbsoluteTimeGetCurrent()
374
207
  setupPlayerStateObserver()
375
- let playerStateObserverDuration = CFAbsoluteTimeGetCurrent() - playerStateObserverStartTime
376
- print("⏱️ [TPStreams] setupPlayerStateObserver() took: \(String(format: "%.3f", playerStateObserverDuration * 1000))ms")
377
-
378
- let playbackSpeedObserverStartTime = CFAbsoluteTimeGetCurrent()
379
208
  setupPlaybackSpeedObserver()
380
- let playbackSpeedObserverDuration = CFAbsoluteTimeGetCurrent() - playbackSpeedObserverStartTime
381
- print("⏱️ [TPStreams] setupPlaybackSpeedObserver() took: \(String(format: "%.3f", playbackSpeedObserverDuration * 1000))ms")
382
-
383
- let playingStateObserverStartTime = CFAbsoluteTimeGetCurrent()
384
209
  setupPlayingStateObserver()
385
- let playingStateObserverDuration = CFAbsoluteTimeGetCurrent() - playingStateObserverStartTime
386
- print("⏱️ [TPStreams] setupPlayingStateObserver() took: \(String(format: "%.3f", playingStateObserverDuration * 1000))ms")
387
-
388
- let totalObserverDuration = CFAbsoluteTimeGetCurrent() - observerStartTime
389
- print("⏱️ [TPStreams] observePlayerChanges() total: \(String(format: "%.3f", totalObserverDuration * 1000))ms")
390
210
  }
391
211
 
392
212
  private func setupSeekObserver() {
@@ -425,37 +245,6 @@ class TPStreamsRNPlayerView: UIView {
425
245
  guard let player = player else { return }
426
246
 
427
247
  playerStateObserver = player.observe(\.status, options: [.new, .initial]) { [weak self] player, _ in
428
- let statusTime = CFAbsoluteTimeGetCurrent()
429
- let statusString: String
430
- switch player.status {
431
- case .unknown:
432
- statusString = "unknown"
433
- case .readyToPlay:
434
- statusString = "readyToPlay"
435
- if self?.playerReadyTime == nil {
436
- self?.playerReadyTime = statusTime
437
- if let playCallTime = self?.playCallTime {
438
- let timeToReady = statusTime - playCallTime
439
- print("⏱️ [TPStreams] ✅ Player READY TO PLAY - Time from play() call: \(String(format: "%.3f", timeToReady * 1000))ms")
440
- } else {
441
- print("⏱️ [TPStreams] ✅ Player READY TO PLAY")
442
- }
443
- }
444
- case .failed:
445
- statusString = "failed"
446
- print("❌ [TPStreams] Player status: FAILED")
447
- @unknown default:
448
- statusString = "unknown"
449
- }
450
-
451
- // Show relative time from setup start instead of absolute timestamp
452
- if let setupStart = self?.setupStartTime {
453
- let relativeTime = statusTime - setupStart
454
- print("⏱️ [TPStreams] Player status changed to: \(statusString) at +\(String(format: "%.3f", relativeTime * 1000))ms from setup start")
455
- } else {
456
- print("⏱️ [TPStreams] Player status changed to: \(statusString)")
457
- }
458
-
459
248
  DispatchQueue.main.async {
460
249
  let state = self?.mapPlayerStateToAndroid(player.status) ?? PlaybackState.idle.rawValue
461
250
  self?.onPlayerStateChanged?(["playbackState": state])
@@ -463,46 +252,6 @@ class TPStreamsRNPlayerView: UIView {
463
252
  }
464
253
 
465
254
  timeControlStatusObserver = player.observe(\.timeControlStatus, options: [.new, .initial]) { [weak self] player, _ in
466
- let controlStatusTime = CFAbsoluteTimeGetCurrent()
467
- let statusString: String
468
- switch player.timeControlStatus {
469
- case .paused:
470
- statusString = "paused"
471
- case .waitingToPlayAtSpecifiedRate:
472
- statusString = "waitingToPlayAtSpecifiedRate"
473
- if let setupStart = self?.setupStartTime {
474
- let relativeTime = controlStatusTime - setupStart
475
- print("⏱️ [TPStreams] ⏳ Player WAITING TO PLAY (buffering) at +\(String(format: "%.3f", relativeTime * 1000))ms from setup start")
476
- } else {
477
- print("⏱️ [TPStreams] ⏳ Player WAITING TO PLAY (buffering)")
478
- }
479
- case .playing:
480
- statusString = "playing"
481
- if self?.playbackStartTime == nil {
482
- self?.playbackStartTime = controlStatusTime
483
- if let playCallTime = self?.playCallTime {
484
- let timeToPlay = controlStatusTime - playCallTime
485
- print("⏱️ [TPStreams] 🎥 PLAYBACK STARTED! Time from play() call: \(String(format: "%.3f", timeToPlay * 1000))ms")
486
- if let readyTime = self?.playerReadyTime {
487
- let bufferingTime = controlStatusTime - readyTime
488
- print("⏱️ [TPStreams] 📊 Buffering time (readyToPlay → playing): \(String(format: "%.3f", bufferingTime * 1000))ms")
489
- }
490
- } else {
491
- print("⏱️ [TPStreams] 🎥 PLAYBACK STARTED!")
492
- }
493
- }
494
- @unknown default:
495
- statusString = "unknown"
496
- }
497
-
498
- // Show relative time from setup start
499
- if let setupStart = self?.setupStartTime {
500
- let relativeTime = controlStatusTime - setupStart
501
- print("⏱️ [TPStreams] TimeControlStatus changed to: \(statusString) at +\(String(format: "%.3f", relativeTime * 1000))ms from setup start")
502
- } else {
503
- print("⏱️ [TPStreams] TimeControlStatus changed to: \(statusString)")
504
- }
505
-
506
255
  DispatchQueue.main.async {
507
256
  let state = self?.mapPlayerStateToAndroid(player.status, timeControlStatus: player.timeControlStatus) ?? PlaybackState.idle.rawValue
508
257
  self?.onPlayerStateChanged?(["playbackState": state])
@@ -535,10 +284,7 @@ class TPStreamsRNPlayerView: UIView {
535
284
  }
536
285
 
537
286
  private func setupTokenDelegate() {
538
- let delegateStartTime = CFAbsoluteTimeGetCurrent()
539
287
  TPStreamsDownloadModule.shared?.setAccessTokenDelegate(self)
540
- let delegateDuration = CFAbsoluteTimeGetCurrent() - delegateStartTime
541
- print("⏱️ [TPStreams] setupTokenDelegate() took: \(String(format: "%.3f", delegateDuration * 1000))ms")
542
288
  }
543
289
 
544
290
  private static func sanitizeLicenseDuration(_ value: Double) -> Double {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-tpstreams",
3
- "version": "1.1.0-debug.3",
3
+ "version": "1.1.0-debug.5",
4
4
  "description": "Video component for TPStreams",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",