@pigeonmal/react-native-video 7.0.0-beta.4 → 7.0.0-beta.6

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.
Files changed (35) hide show
  1. package/README.md +2 -0
  2. package/android/src/main/java/com/twg/video/hybrids/videoplayer/HybridVideoPlayer.kt +27 -6
  3. package/android/src/main/java/com/twg/video/hybrids/videoplayersource/HybridVideoPlayerSourceFactory.kt +1 -0
  4. package/lib/commonjs/core/VideoPlayer.js +7 -0
  5. package/lib/commonjs/core/VideoPlayer.js.map +1 -1
  6. package/lib/module/core/VideoPlayer.js +7 -0
  7. package/lib/module/core/VideoPlayer.js.map +1 -1
  8. package/lib/typescript/commonjs/src/core/VideoPlayer.d.ts +1 -0
  9. package/lib/typescript/commonjs/src/core/VideoPlayer.d.ts.map +1 -1
  10. package/lib/typescript/commonjs/src/core/types/VideoConfig.d.ts +1 -0
  11. package/lib/typescript/commonjs/src/core/types/VideoConfig.d.ts.map +1 -1
  12. package/lib/typescript/commonjs/src/core/types/VideoPlayerBase.d.ts +20 -0
  13. package/lib/typescript/commonjs/src/core/types/VideoPlayerBase.d.ts.map +1 -1
  14. package/lib/typescript/module/src/core/VideoPlayer.d.ts +1 -0
  15. package/lib/typescript/module/src/core/VideoPlayer.d.ts.map +1 -1
  16. package/lib/typescript/module/src/core/types/VideoConfig.d.ts +1 -0
  17. package/lib/typescript/module/src/core/types/VideoConfig.d.ts.map +1 -1
  18. package/lib/typescript/module/src/core/types/VideoPlayerBase.d.ts +20 -0
  19. package/lib/typescript/module/src/core/types/VideoPlayerBase.d.ts.map +1 -1
  20. package/nitrogen/generated/android/c++/JHybridVideoPlayerSpec.cpp +4 -0
  21. package/nitrogen/generated/android/c++/JHybridVideoPlayerSpec.hpp +1 -0
  22. package/nitrogen/generated/android/c++/JNativeVideoConfig.hpp +5 -1
  23. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerSpec.kt +4 -0
  24. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/NativeVideoConfig.kt +5 -2
  25. package/nitrogen/generated/ios/c++/HybridVideoPlayerSpecSwift.hpp +6 -0
  26. package/nitrogen/generated/ios/swift/HybridVideoPlayerSpec.swift +1 -0
  27. package/nitrogen/generated/ios/swift/HybridVideoPlayerSpec_cxx.swift +11 -0
  28. package/nitrogen/generated/ios/swift/NativeVideoConfig.swift +24 -1
  29. package/nitrogen/generated/shared/c++/HybridVideoPlayerSpec.cpp +1 -0
  30. package/nitrogen/generated/shared/c++/HybridVideoPlayerSpec.hpp +1 -0
  31. package/nitrogen/generated/shared/c++/NativeVideoConfig.hpp +5 -1
  32. package/package.json +1 -1
  33. package/src/core/VideoPlayer.ts +8 -0
  34. package/src/core/types/VideoConfig.ts +1 -0
  35. package/src/core/types/VideoPlayerBase.ts +20 -0
package/README.md CHANGED
@@ -19,10 +19,12 @@ Features:
19
19
  - videoconfig: forceType 'm3u8' or 'mpd' if url not have explicit extension
20
20
  - videoconfig: forceOkhttp cronet by default but still okhttp work
21
21
  - videoconfig: initialSubtitleDelay (ms positive or negative)
22
+ - videoconfig: startPosition (in ms)
22
23
  - player.subtitleDelay for subtitle delay adjust (ms positive or negative)
23
24
  - player.getAllPlayerTracks() for get all current tracks (audios, videos, texts)
24
25
  - player.selectTrackById and selectTrackByIndex for select video or audio or text
25
26
  - player.selectTextTrack removed use selectTrackById(TrackType.TEXT, trackId)
27
+ - player.resetForReuse() stop playback and clear tracks
26
28
  - TextTrack type replaced to PlayerTrack
27
29
  - removed onTrackChange event
28
30
  - allPlayerTracks in onLoadData event directly
@@ -65,7 +65,7 @@ class HybridVideoPlayer() : HybridVideoPlayerSpec() {
65
65
  return@runOnMainThreadSync ExoPlayer.Builder(context).build()
66
66
  }
67
67
 
68
- private lateinit var renderersFactory: MyRenderersFactory
68
+ private var renderersFactory: MyRenderersFactory?
69
69
 
70
70
  var loadedWithSource = false
71
71
  private var currentPlayerView: WeakReference<PlayerView>? = null
@@ -129,8 +129,8 @@ class HybridVideoPlayer() : HybridVideoPlayerSpec() {
129
129
  )
130
130
 
131
131
  override var subtitleDelay: Long by mainThreadProperty(
132
- get = { renderersFactory.getTextOffset() },
133
- set = { value -> runOnMainThread { renderersFactory.setTextOffset(value * 1_000L) } }
132
+ get = { renderersFactory?.getTextOffset() ?: 0L },
133
+ set = { value -> runOnMainThread { renderersFactory?.setTextOffset(value * 1_000L) } }
134
134
  )
135
135
 
136
136
  // volume defined by user
@@ -258,14 +258,20 @@ class HybridVideoPlayer() : HybridVideoPlayerSpec() {
258
258
  player = ExoPlayer.Builder(context)
259
259
  .setLoadControl(loadControl)
260
260
  .setLooper(Looper.getMainLooper())
261
- .setRenderersFactory(renderersFactory)
261
+ .setRenderersFactory(renderersFactory!!)
262
262
  .build()
263
263
 
264
264
  loadedWithSource = true
265
265
 
266
266
  player.addListener(playerListener)
267
267
  player.addAnalyticsListener(analyticsListener)
268
- player.setMediaSource(hybridSource.mediaSource)
268
+
269
+ val startPosition = hybridSource.config.startPosition
270
+ if (startPosition != null && startPosition > 0L) {
271
+ player.setMediaSource(hybridSource.mediaSource, startPosition)
272
+ } else {
273
+ player.setMediaSource(hybridSource.mediaSource)
274
+ }
269
275
 
270
276
  // Emit onLoadStart
271
277
  val sourceType = if (hybridSource.uri.startsWith("http")) SourceType.NETWORK else SourceType.LOCAL
@@ -333,7 +339,13 @@ class HybridVideoPlayer() : HybridVideoPlayerSpec() {
333
339
  runOnMainThreadSync {
334
340
  // Update source
335
341
  this.source = source
336
- player.setMediaSource(hybridSource.mediaSource)
342
+ renderersFactory?.setTextOffset((hybridSource.config.initialSubtitleDelay ?: 0L) * 1_000L)
343
+ val startPosition = hybridSource.config.startPosition
344
+ if (startPosition != null && startPosition > 0L) {
345
+ player.setMediaSource(hybridSource.mediaSource, startPosition)
346
+ } else {
347
+ player.setMediaSource(hybridSource.mediaSource)
348
+ }
337
349
 
338
350
  // Prepare player
339
351
  player.prepare()
@@ -625,6 +637,15 @@ class HybridVideoPlayer() : HybridVideoPlayerSpec() {
625
637
  TrackUtils.selectTrackByIndex(player, type.value, index?.toInt())
626
638
  }
627
639
 
640
+ override fun resetForReuse() {
641
+ runOnMainThread {
642
+ if (player.playbackState != Player.STATE_IDLE) {
643
+ player.stop()
644
+ }
645
+ player.clearMediaItems()
646
+ }
647
+ }
648
+
628
649
  override val selectedTrack: PlayerTrack?
629
650
  get() = TrackUtils.getTextSelectedTrack(player, source)
630
651
  }
@@ -45,6 +45,7 @@ class HybridVideoPlayerSourceFactory: HybridVideoPlayerSourceFactorySpec() {
45
45
  initializeOnCreation = true,
46
46
  forceType = null,
47
47
  forceOkhttp = null,
48
+ startPosition = null,
48
49
  externalAudios = null,
49
50
  initialSubtitleDelay = null
50
51
  )
@@ -266,6 +266,13 @@ class VideoPlayer extends _VideoPlayerEvents.VideoPlayerEvents {
266
266
  this.throwError(error);
267
267
  }
268
268
  }
269
+ resetForReuse() {
270
+ try {
271
+ this.player.resetForReuse();
272
+ } catch (error) {
273
+ this.throwError(error);
274
+ }
275
+ }
269
276
 
270
277
  // Selected Text Track
271
278
  get selectedTrack() {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeNitroModules","_VideoError","_playerFactory","_sourceFactory","_VideoPlayerEvents","VideoPlayer","VideoPlayerEvents","constructor","source","hybridSource","createSource","player","createPlayer","eventEmitter","__destroy","clearAllEvents","dispose","__getNativePlayer","throwError","error","parsedError","tryParseNativeVideoError","VideoRuntimeError","triggerJSEvent","updateMemorySize","NitroModules","wrapPromise","promise","Promise","resolve","reject","then","catch","status","duration","volume","value","currentTime","subtitleDelay","muted","loop","rate","mixAudioMode","ignoreSilentSwitchMode","__DEV__","includes","Platform","OS","console","warn","playInBackground","playWhenInactive","isPlaying","showNotificationControls","initialize","preload","release","play","pause","seekBy","time","seekTo","replaceSourceAsync","getAvailableTextTracks","getAllPlayerTracks","audios","videos","texts","selectTrackById","type","id","selectTrackByIndex","index","selectedTrack","exports"],"sourceRoot":"../../../src","sources":["core/VideoPlayer.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeNitroModules","_VideoError","_playerFactory","_sourceFactory","_VideoPlayerEvents","VideoPlayer","VideoPlayerEvents","constructor","source","hybridSource","createSource","player","createPlayer","eventEmitter","__destroy","clearAllEvents","dispose","__getNativePlayer","throwError","error","parsedError","tryParseNativeVideoError","VideoRuntimeError","triggerJSEvent","updateMemorySize","NitroModules","wrapPromise","promise","Promise","resolve","reject","then","catch","status","duration","volume","value","currentTime","subtitleDelay","muted","loop","rate","mixAudioMode","ignoreSilentSwitchMode","__DEV__","includes","Platform","OS","console","warn","playInBackground","playWhenInactive","isPlaying","showNotificationControls","initialize","preload","release","play","pause","seekBy","time","seekTo","replaceSourceAsync","getAvailableTextTracks","getAllPlayerTracks","audios","videos","texts","selectTrackById","type","id","selectTrackByIndex","index","resetForReuse","selectedTrack","exports"],"sourceRoot":"../../../src","sources":["core/VideoPlayer.ts"],"mappings":"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","ignoreList":[]}
@@ -262,6 +262,13 @@ class VideoPlayer extends VideoPlayerEvents {
262
262
  this.throwError(error);
263
263
  }
264
264
  }
265
+ resetForReuse() {
266
+ try {
267
+ this.player.resetForReuse();
268
+ } catch (error) {
269
+ this.throwError(error);
270
+ }
271
+ }
265
272
 
266
273
  // Selected Text Track
267
274
  get selectedTrack() {
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","NitroModules","tryParseNativeVideoError","VideoRuntimeError","createPlayer","createSource","VideoPlayerEvents","VideoPlayer","constructor","source","hybridSource","player","eventEmitter","__destroy","clearAllEvents","dispose","__getNativePlayer","throwError","error","parsedError","triggerJSEvent","updateMemorySize","wrapPromise","promise","Promise","resolve","reject","then","catch","status","duration","volume","value","currentTime","subtitleDelay","muted","loop","rate","mixAudioMode","ignoreSilentSwitchMode","__DEV__","includes","OS","console","warn","playInBackground","playWhenInactive","isPlaying","showNotificationControls","initialize","preload","release","play","pause","seekBy","time","seekTo","replaceSourceAsync","getAvailableTextTracks","getAllPlayerTracks","audios","videos","texts","selectTrackById","type","id","selectTrackByIndex","index","selectedTrack"],"sourceRoot":"../../../src","sources":["core/VideoPlayer.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","NitroModules","tryParseNativeVideoError","VideoRuntimeError","createPlayer","createSource","VideoPlayerEvents","VideoPlayer","constructor","source","hybridSource","player","eventEmitter","__destroy","clearAllEvents","dispose","__getNativePlayer","throwError","error","parsedError","triggerJSEvent","updateMemorySize","wrapPromise","promise","Promise","resolve","reject","then","catch","status","duration","volume","value","currentTime","subtitleDelay","muted","loop","rate","mixAudioMode","ignoreSilentSwitchMode","__DEV__","includes","OS","console","warn","playInBackground","playWhenInactive","isPlaying","showNotificationControls","initialize","preload","release","play","pause","seekBy","time","seekTo","replaceSourceAsync","getAvailableTextTracks","getAllPlayerTracks","audios","videos","texts","selectTrackById","type","id","selectTrackByIndex","index","resetForReuse","selectedTrack"],"sourceRoot":"../../../src","sources":["core/VideoPlayer.ts"],"mappings":"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","ignoreList":[]}
@@ -55,6 +55,7 @@ declare class VideoPlayer extends VideoPlayerEvents implements VideoPlayerBase {
55
55
  getAllPlayerTracks(): AllPlayerTracks;
56
56
  selectTrackById(type: TrackType, id?: string): void;
57
57
  selectTrackByIndex(type: TrackType, index?: number): void;
58
+ resetForReuse(): void;
58
59
  get selectedTrack(): PlayerTrack | undefined;
59
60
  }
60
61
  export { VideoPlayer };
@@ -1 +1 @@
1
- {"version":3,"file":"VideoPlayer.d.ts","sourceRoot":"","sources":["../../../../../src/core/VideoPlayer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VideoPlayer.d.ts","sourceRoot":"","sources":["../../../../../src/core/VideoPlayer.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,7 @@ export type VideoConfig = {
57
57
  /** Positive or negative delay in millis */
58
58
  initialSubtitleDelay?: bigint;
59
59
  forceOkhttp?: boolean;
60
+ startPosition?: bigint;
60
61
  /**
61
62
  * when the player is created, this flag will determine if native player should be initialized immediately.
62
63
  * If set to true, the player will be initialized as soon as player is created
@@ -1 +1 @@
1
- {"version":3,"file":"VideoConfig.d.ts","sourceRoot":"","sources":["../../../../../../src/core/types/VideoConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1C,MAAM,MAAM,WAAW,GAAG;IACxB;;;;;;;;OAQG;IACH,GAAG,EAAE,WAAW,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;OAEG;IACH,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,yDAAyD;IACzD,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,2CAA2C;IAC3C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iFAAiF;IACjF,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAChC,CAAC;AAUF,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AAElE,UAAU,gCAAgC;IACxC;;;OAGG;IACH,GAAG,EAAE,GAAG,MAAM,IAAI,YAAY,EAAE,CAAC;IACjC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,8BAA8B;IACtC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,KAAK,CAAC;AAEhD,MAAM,MAAM,gBAAgB,GACxB,gCAAgC,GAChC,8BAA8B,CAAC;AAanC,UAAU,mBAAmB;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"VideoConfig.d.ts","sourceRoot":"","sources":["../../../../../../src/core/types/VideoConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1C,MAAM,MAAM,WAAW,GAAG;IACxB;;;;;;;;OAQG;IACH,GAAG,EAAE,WAAW,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;OAEG;IACH,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,yDAAyD;IACzD,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,2CAA2C;IAC3C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iFAAiF;IACjF,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAChC,CAAC;AAUF,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AAElE,UAAU,gCAAgC;IACxC;;;OAGG;IACH,GAAG,EAAE,GAAG,MAAM,IAAI,YAAY,EAAE,CAAC;IACjC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,8BAA8B;IACtC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,KAAK,CAAC;AAEhD,MAAM,MAAM,gBAAgB,GACxB,gCAAgC,GAChC,8BAA8B,CAAC;AAanC,UAAU,mBAAmB;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -156,6 +156,26 @@ export interface VideoPlayerBase {
156
156
  * @param index - The index of the track to select.
157
157
  */
158
158
  selectTrackByIndex(type: TrackType, index?: number): void;
159
+ /**
160
+ * Stops playback and clears all media items so the Player can be safely reused.
161
+ *
162
+ * This function:
163
+ * - Stops playback if currently playing or buffering
164
+ * - Cancels any ongoing loading
165
+ * - Clears the playlist/timeline
166
+ * - Keeps the Player instance and its resources alive
167
+ *
168
+ * After calling this function, the Player will be in [Player.STATE_IDLE]
169
+ * with an empty playlist.
170
+ *
171
+ * Use this when:
172
+ * - Reusing a single Player instance for multiple media items
173
+ * - Switching videos frequently (e.g. feeds, previews, RecyclerView)
174
+ *
175
+ * Do NOT use this when you are done with playback permanently.
176
+ * In that case, call [Player.release] instead.
177
+ */
178
+ resetForReuse(): void;
159
179
  /**
160
180
  * Get the currently selected text track.
161
181
  * @returns The currently selected text track, or undefined if none is selected
@@ -1 +1 @@
1
- {"version":3,"file":"VideoPlayerBase.d.ts","sourceRoot":"","sources":["../../../../../../src/core/types/VideoPlayerBase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAI7D,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE7E,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAEvC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAEnC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;;;OASG;IACH,YAAY,EAAE,YAAY,CAAC;IAE3B;;;;;;;OAOG;IACH,sBAAsB,EAAE,sBAAsB,CAAC;IAE/C;;;;;;;OAOG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;;;;;;;OAQG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;OAEG;IACH,IAAI,IAAI,IAAI,CAAC;IAEb;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;;;OAKG;IACH,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExE;;;OAGG;IACH,sBAAsB,IAAI,WAAW,EAAE,CAAC;IAExC;;;OAGG;IACH,kBAAkB,IAAI,eAAe,CAAC;IAEtC;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpD;;;;OAIG;IACH,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1D;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC;CACtC"}
1
+ {"version":3,"file":"VideoPlayerBase.d.ts","sourceRoot":"","sources":["../../../../../../src/core/types/VideoPlayerBase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAI7D,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE7E,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAEvC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAEnC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;;;OASG;IACH,YAAY,EAAE,YAAY,CAAC;IAE3B;;;;;;;OAOG;IACH,sBAAsB,EAAE,sBAAsB,CAAC;IAE/C;;;;;;;OAOG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;;;;;;;OAQG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;OAEG;IACH,IAAI,IAAI,IAAI,CAAC;IAEb;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;;;OAKG;IACH,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExE;;;OAGG;IACH,sBAAsB,IAAI,WAAW,EAAE,CAAC;IAExC;;;OAGG;IACH,kBAAkB,IAAI,eAAe,CAAC;IAEtC;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpD;;;;OAIG;IACH,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1D;;;;;;;;;;;;;;;;;;OAkBG;IACH,aAAa,IAAI,IAAI,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC;CACtC"}
@@ -55,6 +55,7 @@ declare class VideoPlayer extends VideoPlayerEvents implements VideoPlayerBase {
55
55
  getAllPlayerTracks(): AllPlayerTracks;
56
56
  selectTrackById(type: TrackType, id?: string): void;
57
57
  selectTrackByIndex(type: TrackType, index?: number): void;
58
+ resetForReuse(): void;
58
59
  get selectedTrack(): PlayerTrack | undefined;
59
60
  }
60
61
  export { VideoPlayer };
@@ -1 +1 @@
1
- {"version":3,"file":"VideoPlayer.d.ts","sourceRoot":"","sources":["../../../../../src/core/VideoPlayer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VideoPlayer.d.ts","sourceRoot":"","sources":["../../../../../src/core/VideoPlayer.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,7 @@ export type VideoConfig = {
57
57
  /** Positive or negative delay in millis */
58
58
  initialSubtitleDelay?: bigint;
59
59
  forceOkhttp?: boolean;
60
+ startPosition?: bigint;
60
61
  /**
61
62
  * when the player is created, this flag will determine if native player should be initialized immediately.
62
63
  * If set to true, the player will be initialized as soon as player is created
@@ -1 +1 @@
1
- {"version":3,"file":"VideoConfig.d.ts","sourceRoot":"","sources":["../../../../../../src/core/types/VideoConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1C,MAAM,MAAM,WAAW,GAAG;IACxB;;;;;;;;OAQG;IACH,GAAG,EAAE,WAAW,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;OAEG;IACH,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,yDAAyD;IACzD,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,2CAA2C;IAC3C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iFAAiF;IACjF,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAChC,CAAC;AAUF,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AAElE,UAAU,gCAAgC;IACxC;;;OAGG;IACH,GAAG,EAAE,GAAG,MAAM,IAAI,YAAY,EAAE,CAAC;IACjC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,8BAA8B;IACtC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,KAAK,CAAC;AAEhD,MAAM,MAAM,gBAAgB,GACxB,gCAAgC,GAChC,8BAA8B,CAAC;AAanC,UAAU,mBAAmB;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"VideoConfig.d.ts","sourceRoot":"","sources":["../../../../../../src/core/types/VideoConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1C,MAAM,MAAM,WAAW,GAAG;IACxB;;;;;;;;OAQG;IACH,GAAG,EAAE,WAAW,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;OAEG;IACH,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,yDAAyD;IACzD,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,2CAA2C;IAC3C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iFAAiF;IACjF,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAChC,CAAC;AAUF,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AAElE,UAAU,gCAAgC;IACxC;;;OAGG;IACH,GAAG,EAAE,GAAG,MAAM,IAAI,YAAY,EAAE,CAAC;IACjC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,8BAA8B;IACtC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,KAAK,CAAC;AAEhD,MAAM,MAAM,gBAAgB,GACxB,gCAAgC,GAChC,8BAA8B,CAAC;AAanC,UAAU,mBAAmB;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -156,6 +156,26 @@ export interface VideoPlayerBase {
156
156
  * @param index - The index of the track to select.
157
157
  */
158
158
  selectTrackByIndex(type: TrackType, index?: number): void;
159
+ /**
160
+ * Stops playback and clears all media items so the Player can be safely reused.
161
+ *
162
+ * This function:
163
+ * - Stops playback if currently playing or buffering
164
+ * - Cancels any ongoing loading
165
+ * - Clears the playlist/timeline
166
+ * - Keeps the Player instance and its resources alive
167
+ *
168
+ * After calling this function, the Player will be in [Player.STATE_IDLE]
169
+ * with an empty playlist.
170
+ *
171
+ * Use this when:
172
+ * - Reusing a single Player instance for multiple media items
173
+ * - Switching videos frequently (e.g. feeds, previews, RecyclerView)
174
+ *
175
+ * Do NOT use this when you are done with playback permanently.
176
+ * In that case, call [Player.release] instead.
177
+ */
178
+ resetForReuse(): void;
159
179
  /**
160
180
  * Get the currently selected text track.
161
181
  * @returns The currently selected text track, or undefined if none is selected
@@ -1 +1 @@
1
- {"version":3,"file":"VideoPlayerBase.d.ts","sourceRoot":"","sources":["../../../../../../src/core/types/VideoPlayerBase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAI7D,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE7E,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAEvC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAEnC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;;;OASG;IACH,YAAY,EAAE,YAAY,CAAC;IAE3B;;;;;;;OAOG;IACH,sBAAsB,EAAE,sBAAsB,CAAC;IAE/C;;;;;;;OAOG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;;;;;;;OAQG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;OAEG;IACH,IAAI,IAAI,IAAI,CAAC;IAEb;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;;;OAKG;IACH,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExE;;;OAGG;IACH,sBAAsB,IAAI,WAAW,EAAE,CAAC;IAExC;;;OAGG;IACH,kBAAkB,IAAI,eAAe,CAAC;IAEtC;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpD;;;;OAIG;IACH,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1D;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC;CACtC"}
1
+ {"version":3,"file":"VideoPlayerBase.d.ts","sourceRoot":"","sources":["../../../../../../src/core/types/VideoPlayerBase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAI7D,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE7E,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAEvC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAEnC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;;;OASG;IACH,YAAY,EAAE,YAAY,CAAC;IAE3B;;;;;;;OAOG;IACH,sBAAsB,EAAE,sBAAsB,CAAC;IAE/C;;;;;;;OAOG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;;;;;;;OAQG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;OAEG;IACH,IAAI,IAAI,IAAI,CAAC;IAEb;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;;;OAKG;IACH,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExE;;;OAGG;IACH,sBAAsB,IAAI,WAAW,EAAE,CAAC;IAExC;;;OAGG;IACH,kBAAkB,IAAI,eAAe,CAAC;IAEtC;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpD;;;;OAIG;IACH,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1D;;;;;;;;;;;;;;;;;;OAkBG;IACH,aAAa,IAAI,IAAI,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC;CACtC"}
@@ -303,5 +303,9 @@ namespace margelo::nitro::video {
303
303
  static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JTrackType> /* type */, jni::alias_ref<jni::JDouble> /* index */)>("selectTrackByIndex");
304
304
  method(_javaPart, JTrackType::fromCpp(type), index.has_value() ? jni::JDouble::valueOf(index.value()) : nullptr);
305
305
  }
306
+ void JHybridVideoPlayerSpec::resetForReuse() {
307
+ static const auto method = javaClassStatic()->getMethod<void()>("resetForReuse");
308
+ method(_javaPart);
309
+ }
306
310
 
307
311
  } // namespace margelo::nitro::video
@@ -92,6 +92,7 @@ namespace margelo::nitro::video {
92
92
  AllPlayerTracks getAllPlayerTracks() override;
93
93
  void selectTrackById(TrackType type, const std::optional<std::string>& id) override;
94
94
  void selectTrackByIndex(TrackType type, std::optional<double> index) override;
95
+ void resetForReuse() override;
95
96
 
96
97
  private:
97
98
  friend HybridBase;
@@ -77,6 +77,8 @@ namespace margelo::nitro::video {
77
77
  jni::local_ref<jni::JLong> initialSubtitleDelay = this->getFieldValue(fieldInitialSubtitleDelay);
78
78
  static const auto fieldForceOkhttp = clazz->getField<jni::JBoolean>("forceOkhttp");
79
79
  jni::local_ref<jni::JBoolean> forceOkhttp = this->getFieldValue(fieldForceOkhttp);
80
+ static const auto fieldStartPosition = clazz->getField<jni::JLong>("startPosition");
81
+ jni::local_ref<jni::JLong> startPosition = this->getFieldValue(fieldStartPosition);
80
82
  static const auto fieldInitializeOnCreation = clazz->getField<jni::JBoolean>("initializeOnCreation");
81
83
  jni::local_ref<jni::JBoolean> initializeOnCreation = this->getFieldValue(fieldInitializeOnCreation);
82
84
  static const auto fieldForceType = clazz->getField<JExternalForcedType>("forceType");
@@ -116,6 +118,7 @@ namespace margelo::nitro::video {
116
118
  }()) : std::nullopt,
117
119
  initialSubtitleDelay != nullptr ? std::make_optional(initialSubtitleDelay->value()) : std::nullopt,
118
120
  forceOkhttp != nullptr ? std::make_optional(static_cast<bool>(forceOkhttp->value())) : std::nullopt,
121
+ startPosition != nullptr ? std::make_optional(startPosition->value()) : std::nullopt,
119
122
  initializeOnCreation != nullptr ? std::make_optional(static_cast<bool>(initializeOnCreation->value())) : std::nullopt,
120
123
  forceType != nullptr ? std::make_optional(forceType->toCpp()) : std::nullopt
121
124
  );
@@ -127,7 +130,7 @@ namespace margelo::nitro::video {
127
130
  */
128
131
  [[maybe_unused]]
129
132
  static jni::local_ref<JNativeVideoConfig::javaobject> fromCpp(const NativeVideoConfig& value) {
130
- using JSignature = JNativeVideoConfig(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JArrayClass<JNativeExternalSubtitle>>, jni::alias_ref<JNativeDrmParams>, jni::alias_ref<jni::JMap<jni::JString, jni::JString>>, jni::alias_ref<JBufferConfig>, jni::alias_ref<JCustomVideoMetadata>, jni::alias_ref<jni::JArrayClass<JExternalAudio>>, jni::alias_ref<jni::JLong>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<JExternalForcedType>);
133
+ using JSignature = JNativeVideoConfig(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JArrayClass<JNativeExternalSubtitle>>, jni::alias_ref<JNativeDrmParams>, jni::alias_ref<jni::JMap<jni::JString, jni::JString>>, jni::alias_ref<JBufferConfig>, jni::alias_ref<JCustomVideoMetadata>, jni::alias_ref<jni::JArrayClass<JExternalAudio>>, jni::alias_ref<jni::JLong>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JLong>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<JExternalForcedType>);
131
134
  static const auto clazz = javaClassStatic();
132
135
  static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
133
136
  return create(
@@ -165,6 +168,7 @@ namespace margelo::nitro::video {
165
168
  }() : nullptr,
166
169
  value.initialSubtitleDelay.has_value() ? jni::JLong::valueOf(value.initialSubtitleDelay.value()) : nullptr,
167
170
  value.forceOkhttp.has_value() ? jni::JBoolean::valueOf(value.forceOkhttp.value()) : nullptr,
171
+ value.startPosition.has_value() ? jni::JLong::valueOf(value.startPosition.value()) : nullptr,
168
172
  value.initializeOnCreation.has_value() ? jni::JBoolean::valueOf(value.initializeOnCreation.value()) : nullptr,
169
173
  value.forceType.has_value() ? JExternalForcedType::fromCpp(value.forceType.value()) : nullptr
170
174
  );
@@ -178,6 +178,10 @@ abstract class HybridVideoPlayerSpec: HybridObject() {
178
178
  @DoNotStrip
179
179
  @Keep
180
180
  abstract fun selectTrackByIndex(type: TrackType, index: Double?): Unit
181
+
182
+ @DoNotStrip
183
+ @Keep
184
+ abstract fun resetForReuse(): Unit
181
185
 
182
186
  private external fun initHybrid(): HybridData
183
187
 
@@ -46,6 +46,9 @@ data class NativeVideoConfig(
46
46
  val forceOkhttp: Boolean?,
47
47
  @DoNotStrip
48
48
  @Keep
49
+ val startPosition: Long?,
50
+ @DoNotStrip
51
+ @Keep
49
52
  val initializeOnCreation: Boolean?,
50
53
  @DoNotStrip
51
54
  @Keep
@@ -61,8 +64,8 @@ data class NativeVideoConfig(
61
64
  @Keep
62
65
  @Suppress("unused")
63
66
  @JvmStatic
64
- private fun fromCpp(uri: String, externalSubtitles: Array<NativeExternalSubtitle>?, drm: NativeDrmParams?, headers: Map<String, String>?, bufferConfig: BufferConfig?, metadata: CustomVideoMetadata?, externalAudios: Array<ExternalAudio>?, initialSubtitleDelay: Long?, forceOkhttp: Boolean?, initializeOnCreation: Boolean?, forceType: ExternalForcedType?): NativeVideoConfig {
65
- return NativeVideoConfig(uri, externalSubtitles, drm, headers, bufferConfig, metadata, externalAudios, initialSubtitleDelay, forceOkhttp, initializeOnCreation, forceType)
67
+ private fun fromCpp(uri: String, externalSubtitles: Array<NativeExternalSubtitle>?, drm: NativeDrmParams?, headers: Map<String, String>?, bufferConfig: BufferConfig?, metadata: CustomVideoMetadata?, externalAudios: Array<ExternalAudio>?, initialSubtitleDelay: Long?, forceOkhttp: Boolean?, startPosition: Long?, initializeOnCreation: Boolean?, forceType: ExternalForcedType?): NativeVideoConfig {
68
+ return NativeVideoConfig(uri, externalSubtitles, drm, headers, bufferConfig, metadata, externalAudios, initialSubtitleDelay, forceOkhttp, startPosition, initializeOnCreation, forceType)
66
69
  }
67
70
  }
68
71
  }
@@ -257,6 +257,12 @@ namespace margelo::nitro::video {
257
257
  std::rethrow_exception(__result.error());
258
258
  }
259
259
  }
260
+ inline void resetForReuse() override {
261
+ auto __result = _swiftPart.resetForReuse();
262
+ if (__result.hasError()) [[unlikely]] {
263
+ std::rethrow_exception(__result.error());
264
+ }
265
+ }
260
266
 
261
267
  private:
262
268
  ReactNativeVideo::HybridVideoPlayerSpec_cxx _swiftPart;
@@ -41,6 +41,7 @@ public protocol HybridVideoPlayerSpec_protocol: HybridObject {
41
41
  func getAllPlayerTracks() throws -> AllPlayerTracks
42
42
  func selectTrackById(type: TrackType, id: String?) throws -> Void
43
43
  func selectTrackByIndex(type: TrackType, index: Double?) throws -> Void
44
+ func resetForReuse() throws -> Void
44
45
  }
45
46
 
46
47
  public extension HybridVideoPlayerSpec_protocol {
@@ -472,4 +472,15 @@ open class HybridVideoPlayerSpec_cxx {
472
472
  return bridge.create_Result_void_(__exceptionPtr)
473
473
  }
474
474
  }
475
+
476
+ @inline(__always)
477
+ public final func resetForReuse() -> bridge.Result_void_ {
478
+ do {
479
+ try self.__implementation.resetForReuse()
480
+ return bridge.create_Result_void_()
481
+ } catch (let __error) {
482
+ let __exceptionPtr = __error.toCpp()
483
+ return bridge.create_Result_void_(__exceptionPtr)
484
+ }
485
+ }
475
486
  }
@@ -19,7 +19,7 @@ public extension NativeVideoConfig {
19
19
  /**
20
20
  * Create a new instance of `NativeVideoConfig`.
21
21
  */
22
- init(uri: String, externalSubtitles: [NativeExternalSubtitle]?, drm: NativeDrmParams?, headers: Dictionary<String, String>?, bufferConfig: BufferConfig?, metadata: CustomVideoMetadata?, externalAudios: [ExternalAudio]?, initialSubtitleDelay: Int64?, forceOkhttp: Bool?, initializeOnCreation: Bool?, forceType: ExternalForcedType?) {
22
+ init(uri: String, externalSubtitles: [NativeExternalSubtitle]?, drm: NativeDrmParams?, headers: Dictionary<String, String>?, bufferConfig: BufferConfig?, metadata: CustomVideoMetadata?, externalAudios: [ExternalAudio]?, initialSubtitleDelay: Int64?, forceOkhttp: Bool?, startPosition: Int64?, initializeOnCreation: Bool?, forceType: ExternalForcedType?) {
23
23
  self.init(std.string(uri), { () -> bridge.std__optional_std__vector_NativeExternalSubtitle__ in
24
24
  if let __unwrappedValue = externalSubtitles {
25
25
  return bridge.create_std__optional_std__vector_NativeExternalSubtitle__({ () -> bridge.std__vector_NativeExternalSubtitle_ in
@@ -86,6 +86,12 @@ public extension NativeVideoConfig {
86
86
  } else {
87
87
  return .init()
88
88
  }
89
+ }(), { () -> bridge.std__optional_int64_t_ in
90
+ if let __unwrappedValue = startPosition {
91
+ return bridge.create_std__optional_int64_t_(__unwrappedValue)
92
+ } else {
93
+ return .init()
94
+ }
89
95
  }(), { () -> bridge.std__optional_bool_ in
90
96
  if let __unwrappedValue = initializeOnCreation {
91
97
  return bridge.create_std__optional_bool_(__unwrappedValue)
@@ -302,6 +308,23 @@ public extension NativeVideoConfig {
302
308
  }
303
309
  }
304
310
 
311
+ var startPosition: Int64? {
312
+ @inline(__always)
313
+ get {
314
+ return self.__startPosition.value
315
+ }
316
+ @inline(__always)
317
+ set {
318
+ self.__startPosition = { () -> bridge.std__optional_int64_t_ in
319
+ if let __unwrappedValue = newValue {
320
+ return bridge.create_std__optional_int64_t_(__unwrappedValue)
321
+ } else {
322
+ return .init()
323
+ }
324
+ }()
325
+ }
326
+ }
327
+
305
328
  var initializeOnCreation: Bool? {
306
329
  @inline(__always)
307
330
  get {
@@ -53,6 +53,7 @@ namespace margelo::nitro::video {
53
53
  prototype.registerHybridMethod("getAllPlayerTracks", &HybridVideoPlayerSpec::getAllPlayerTracks);
54
54
  prototype.registerHybridMethod("selectTrackById", &HybridVideoPlayerSpec::selectTrackById);
55
55
  prototype.registerHybridMethod("selectTrackByIndex", &HybridVideoPlayerSpec::selectTrackByIndex);
56
+ prototype.registerHybridMethod("resetForReuse", &HybridVideoPlayerSpec::resetForReuse);
56
57
  });
57
58
  }
58
59
 
@@ -115,6 +115,7 @@ namespace margelo::nitro::video {
115
115
  virtual AllPlayerTracks getAllPlayerTracks() = 0;
116
116
  virtual void selectTrackById(TrackType type, const std::optional<std::string>& id) = 0;
117
117
  virtual void selectTrackByIndex(TrackType type, std::optional<double> index) = 0;
118
+ virtual void resetForReuse() = 0;
118
119
 
119
120
  protected:
120
121
  // Hybrid Setup
@@ -63,12 +63,13 @@ namespace margelo::nitro::video {
63
63
  std::optional<std::vector<ExternalAudio>> externalAudios SWIFT_PRIVATE;
64
64
  std::optional<int64_t> initialSubtitleDelay SWIFT_PRIVATE;
65
65
  std::optional<bool> forceOkhttp SWIFT_PRIVATE;
66
+ std::optional<int64_t> startPosition SWIFT_PRIVATE;
66
67
  std::optional<bool> initializeOnCreation SWIFT_PRIVATE;
67
68
  std::optional<ExternalForcedType> forceType SWIFT_PRIVATE;
68
69
 
69
70
  public:
70
71
  NativeVideoConfig() = default;
71
- explicit NativeVideoConfig(std::string uri, std::optional<std::vector<NativeExternalSubtitle>> externalSubtitles, std::optional<NativeDrmParams> drm, std::optional<std::unordered_map<std::string, std::string>> headers, std::optional<BufferConfig> bufferConfig, std::optional<CustomVideoMetadata> metadata, std::optional<std::vector<ExternalAudio>> externalAudios, std::optional<int64_t> initialSubtitleDelay, std::optional<bool> forceOkhttp, std::optional<bool> initializeOnCreation, std::optional<ExternalForcedType> forceType): uri(uri), externalSubtitles(externalSubtitles), drm(drm), headers(headers), bufferConfig(bufferConfig), metadata(metadata), externalAudios(externalAudios), initialSubtitleDelay(initialSubtitleDelay), forceOkhttp(forceOkhttp), initializeOnCreation(initializeOnCreation), forceType(forceType) {}
72
+ explicit NativeVideoConfig(std::string uri, std::optional<std::vector<NativeExternalSubtitle>> externalSubtitles, std::optional<NativeDrmParams> drm, std::optional<std::unordered_map<std::string, std::string>> headers, std::optional<BufferConfig> bufferConfig, std::optional<CustomVideoMetadata> metadata, std::optional<std::vector<ExternalAudio>> externalAudios, std::optional<int64_t> initialSubtitleDelay, std::optional<bool> forceOkhttp, std::optional<int64_t> startPosition, std::optional<bool> initializeOnCreation, std::optional<ExternalForcedType> forceType): uri(uri), externalSubtitles(externalSubtitles), drm(drm), headers(headers), bufferConfig(bufferConfig), metadata(metadata), externalAudios(externalAudios), initialSubtitleDelay(initialSubtitleDelay), forceOkhttp(forceOkhttp), startPosition(startPosition), initializeOnCreation(initializeOnCreation), forceType(forceType) {}
72
73
  };
73
74
 
74
75
  } // namespace margelo::nitro::video
@@ -90,6 +91,7 @@ namespace margelo::nitro {
90
91
  JSIConverter<std::optional<std::vector<margelo::nitro::video::ExternalAudio>>>::fromJSI(runtime, obj.getProperty(runtime, "externalAudios")),
91
92
  JSIConverter<std::optional<int64_t>>::fromJSI(runtime, obj.getProperty(runtime, "initialSubtitleDelay")),
92
93
  JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, "forceOkhttp")),
94
+ JSIConverter<std::optional<int64_t>>::fromJSI(runtime, obj.getProperty(runtime, "startPosition")),
93
95
  JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, "initializeOnCreation")),
94
96
  JSIConverter<std::optional<margelo::nitro::video::ExternalForcedType>>::fromJSI(runtime, obj.getProperty(runtime, "forceType"))
95
97
  );
@@ -105,6 +107,7 @@ namespace margelo::nitro {
105
107
  obj.setProperty(runtime, "externalAudios", JSIConverter<std::optional<std::vector<margelo::nitro::video::ExternalAudio>>>::toJSI(runtime, arg.externalAudios));
106
108
  obj.setProperty(runtime, "initialSubtitleDelay", JSIConverter<std::optional<int64_t>>::toJSI(runtime, arg.initialSubtitleDelay));
107
109
  obj.setProperty(runtime, "forceOkhttp", JSIConverter<std::optional<bool>>::toJSI(runtime, arg.forceOkhttp));
110
+ obj.setProperty(runtime, "startPosition", JSIConverter<std::optional<int64_t>>::toJSI(runtime, arg.startPosition));
108
111
  obj.setProperty(runtime, "initializeOnCreation", JSIConverter<std::optional<bool>>::toJSI(runtime, arg.initializeOnCreation));
109
112
  obj.setProperty(runtime, "forceType", JSIConverter<std::optional<margelo::nitro::video::ExternalForcedType>>::toJSI(runtime, arg.forceType));
110
113
  return obj;
@@ -126,6 +129,7 @@ namespace margelo::nitro {
126
129
  if (!JSIConverter<std::optional<std::vector<margelo::nitro::video::ExternalAudio>>>::canConvert(runtime, obj.getProperty(runtime, "externalAudios"))) return false;
127
130
  if (!JSIConverter<std::optional<int64_t>>::canConvert(runtime, obj.getProperty(runtime, "initialSubtitleDelay"))) return false;
128
131
  if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, "forceOkhttp"))) return false;
132
+ if (!JSIConverter<std::optional<int64_t>>::canConvert(runtime, obj.getProperty(runtime, "startPosition"))) return false;
129
133
  if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, "initializeOnCreation"))) return false;
130
134
  if (!JSIConverter<std::optional<margelo::nitro::video::ExternalForcedType>>::canConvert(runtime, obj.getProperty(runtime, "forceType"))) return false;
131
135
  return true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pigeonmal/react-native-video",
3
- "version": "7.0.0-beta.4",
3
+ "version": "7.0.0-beta.6",
4
4
  "description": "<Video /> Component for React Native",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/commonjs/index.js",
@@ -317,6 +317,14 @@ class VideoPlayer extends VideoPlayerEvents implements VideoPlayerBase {
317
317
  }
318
318
  }
319
319
 
320
+ resetForReuse(): void {
321
+ try {
322
+ this.player.resetForReuse();
323
+ } catch (error) {
324
+ this.throwError(error);
325
+ }
326
+ }
327
+
320
328
  // Selected Text Track
321
329
  get selectedTrack(): PlayerTrack | undefined {
322
330
  return this.player.selectedTrack;
@@ -59,6 +59,7 @@ export type VideoConfig = {
59
59
  /** Positive or negative delay in millis */
60
60
  initialSubtitleDelay?: bigint;
61
61
  forceOkhttp?: boolean;
62
+ startPosition?: bigint;
62
63
  /**
63
64
  * when the player is created, this flag will determine if native player should be initialized immediately.
64
65
  * If set to true, the player will be initialized as soon as player is created
@@ -185,6 +185,26 @@ export interface VideoPlayerBase {
185
185
  */
186
186
  selectTrackByIndex(type: TrackType, index?: number): void;
187
187
 
188
+ /**
189
+ * Stops playback and clears all media items so the Player can be safely reused.
190
+ *
191
+ * This function:
192
+ * - Stops playback if currently playing or buffering
193
+ * - Cancels any ongoing loading
194
+ * - Clears the playlist/timeline
195
+ * - Keeps the Player instance and its resources alive
196
+ *
197
+ * After calling this function, the Player will be in [Player.STATE_IDLE]
198
+ * with an empty playlist.
199
+ *
200
+ * Use this when:
201
+ * - Reusing a single Player instance for multiple media items
202
+ * - Switching videos frequently (e.g. feeds, previews, RecyclerView)
203
+ *
204
+ * Do NOT use this when you are done with playback permanently.
205
+ * In that case, call [Player.release] instead.
206
+ */
207
+ resetForReuse(): void;
188
208
  /**
189
209
  * Get the currently selected text track.
190
210
  * @returns The currently selected text track, or undefined if none is selected