@pigeonmal/react-native-video 7.0.0-beta.5 → 7.0.0-beta.7

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 (44) hide show
  1. package/README.md +3 -0
  2. package/android/src/main/java/com/twg/video/hybrids/videoplayer/HybridVideoPlayer.kt +27 -13
  3. package/android/src/main/java/com/twg/video/hybrids/videoplayer/HybridVideoPlayerFactory.kt +2 -2
  4. package/lib/commonjs/core/VideoPlayer.js +8 -2
  5. package/lib/commonjs/core/VideoPlayer.js.map +1 -1
  6. package/lib/commonjs/core/utils/playerFactory.js +1 -4
  7. package/lib/commonjs/core/utils/playerFactory.js.map +1 -1
  8. package/lib/module/core/VideoPlayer.js +8 -2
  9. package/lib/module/core/VideoPlayer.js.map +1 -1
  10. package/lib/module/core/utils/playerFactory.js +1 -4
  11. package/lib/module/core/utils/playerFactory.js.map +1 -1
  12. package/lib/typescript/commonjs/src/core/VideoPlayer.d.ts +2 -1
  13. package/lib/typescript/commonjs/src/core/VideoPlayer.d.ts.map +1 -1
  14. package/lib/typescript/commonjs/src/core/types/VideoPlayerBase.d.ts +20 -0
  15. package/lib/typescript/commonjs/src/core/types/VideoPlayerBase.d.ts.map +1 -1
  16. package/lib/typescript/commonjs/src/spec/nitro/VideoPlayer.nitro.d.ts +1 -1
  17. package/lib/typescript/commonjs/src/spec/nitro/VideoPlayer.nitro.d.ts.map +1 -1
  18. package/lib/typescript/module/src/core/VideoPlayer.d.ts +2 -1
  19. package/lib/typescript/module/src/core/VideoPlayer.d.ts.map +1 -1
  20. package/lib/typescript/module/src/core/types/VideoPlayerBase.d.ts +20 -0
  21. package/lib/typescript/module/src/core/types/VideoPlayerBase.d.ts.map +1 -1
  22. package/lib/typescript/module/src/spec/nitro/VideoPlayer.nitro.d.ts +1 -1
  23. package/lib/typescript/module/src/spec/nitro/VideoPlayer.nitro.d.ts.map +1 -1
  24. package/nitrogen/generated/android/c++/JHybridVideoPlayerFactorySpec.cpp +3 -2
  25. package/nitrogen/generated/android/c++/JHybridVideoPlayerFactorySpec.hpp +1 -1
  26. package/nitrogen/generated/android/c++/JHybridVideoPlayerSpec.cpp +4 -0
  27. package/nitrogen/generated/android/c++/JHybridVideoPlayerSpec.hpp +1 -0
  28. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerFactorySpec.kt +1 -1
  29. package/nitrogen/generated/android/kotlin/com/margelo/nitro/video/HybridVideoPlayerSpec.kt +4 -0
  30. package/nitrogen/generated/ios/ReactNativeVideo-Swift-Cxx-Bridge.hpp +15 -0
  31. package/nitrogen/generated/ios/c++/HybridVideoPlayerFactorySpecSwift.hpp +2 -1
  32. package/nitrogen/generated/ios/c++/HybridVideoPlayerSpecSwift.hpp +6 -0
  33. package/nitrogen/generated/ios/swift/HybridVideoPlayerFactorySpec.swift +1 -1
  34. package/nitrogen/generated/ios/swift/HybridVideoPlayerFactorySpec_cxx.swift +12 -5
  35. package/nitrogen/generated/ios/swift/HybridVideoPlayerSpec.swift +1 -0
  36. package/nitrogen/generated/ios/swift/HybridVideoPlayerSpec_cxx.swift +11 -0
  37. package/nitrogen/generated/shared/c++/HybridVideoPlayerFactorySpec.hpp +2 -1
  38. package/nitrogen/generated/shared/c++/HybridVideoPlayerSpec.cpp +1 -0
  39. package/nitrogen/generated/shared/c++/HybridVideoPlayerSpec.hpp +1 -0
  40. package/package.json +1 -1
  41. package/src/core/VideoPlayer.ts +12 -3
  42. package/src/core/types/VideoPlayerBase.ts +20 -0
  43. package/src/core/utils/playerFactory.ts +8 -6
  44. package/src/spec/nitro/VideoPlayer.nitro.ts +1 -1
package/README.md CHANGED
@@ -24,6 +24,9 @@ Features:
24
24
  - player.getAllPlayerTracks() for get all current tracks (audios, videos, texts)
25
25
  - player.selectTrackById and selectTrackByIndex for select video or audio or text
26
26
  - player.selectTextTrack removed use selectTrackById(TrackType.TEXT, trackId)
27
+ - player.resetForReuse() stop playback and clear tracks
28
+ - bugfix: external subtitles in hls/dash
29
+ - nullable video player source : new VideoPlayer(undefined);
27
30
  - TextTrack type replaced to PlayerTrack
28
31
  - removed onTrackChange event
29
32
  - allPlayerTracks in onLoadData event directly
@@ -289,16 +289,17 @@ class HybridVideoPlayer() : HybridVideoPlayerSpec() {
289
289
  }
290
290
  }
291
291
 
292
- constructor(source: HybridVideoPlayerSource) : this() {
293
- this.source = source
292
+ constructor(source: HybridVideoPlayerSource?) : this() {
293
+ if (source != null) {
294
+ this.source = source
294
295
 
295
- runOnMainThread {
296
- if (source.config.initializeOnCreation == true) {
297
- initializePlayer()
298
- player.prepare()
296
+ runOnMainThread {
297
+ if (source.config.initializeOnCreation == true) {
298
+ initializePlayer()
299
+ player.prepare()
300
+ }
299
301
  }
300
302
  }
301
-
302
303
  VideoManager.registerPlayer(this)
303
304
  }
304
305
 
@@ -339,14 +340,18 @@ class HybridVideoPlayer() : HybridVideoPlayerSpec() {
339
340
  runOnMainThreadSync {
340
341
  // Update source
341
342
  this.source = source
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)
343
+ if (!loadedWithSource) {
344
+ initializePlayer()
346
345
  } else {
347
- player.setMediaSource(hybridSource.mediaSource)
346
+ renderersFactory?.setTextOffset((hybridSource.config.initialSubtitleDelay ?: 0L) * 1_000L)
347
+ val startPosition = hybridSource.config.startPosition
348
+ if (startPosition != null && startPosition > 0L) {
349
+ player.setMediaSource(hybridSource.mediaSource, startPosition)
350
+ } else {
351
+ player.setMediaSource(hybridSource.mediaSource)
352
+ }
348
353
  }
349
-
354
+
350
355
  // Prepare player
351
356
  player.prepare()
352
357
  }
@@ -637,6 +642,15 @@ class HybridVideoPlayer() : HybridVideoPlayerSpec() {
637
642
  TrackUtils.selectTrackByIndex(player, type.value, index?.toInt())
638
643
  }
639
644
 
645
+ override fun resetForReuse() {
646
+ runOnMainThread {
647
+ if (player.playbackState != Player.STATE_IDLE) {
648
+ player.stop()
649
+ }
650
+ player.clearMediaItems()
651
+ }
652
+ }
653
+
640
654
  override val selectedTrack: PlayerTrack?
641
655
  get() = TrackUtils.getTextSelectedTrack(player, source)
642
656
  }
@@ -7,8 +7,8 @@ import com.facebook.proguard.annotations.DoNotStrip
7
7
  @DoNotStrip
8
8
  class HybridVideoPlayerFactory(): HybridVideoPlayerFactorySpec() {
9
9
  @OptIn(UnstableApi::class)
10
- override fun createPlayer(source: HybridVideoPlayerSourceSpec): HybridVideoPlayerSpec {
11
- return HybridVideoPlayer(source as HybridVideoPlayerSource)
10
+ override fun createPlayer(source: HybridVideoPlayerSourceSpec?): HybridVideoPlayerSpec {
11
+ return HybridVideoPlayer(source as HybridVideoPlayerSource?)
12
12
  }
13
13
 
14
14
  override val memorySize: Long
@@ -12,8 +12,7 @@ var _sourceFactory = require("./utils/sourceFactory.js");
12
12
  var _VideoPlayerEvents = require("./VideoPlayerEvents.js");
13
13
  class VideoPlayer extends _VideoPlayerEvents.VideoPlayerEvents {
14
14
  constructor(source) {
15
- const hybridSource = (0, _sourceFactory.createSource)(source);
16
- const player = (0, _playerFactory.createPlayer)(hybridSource);
15
+ const player = (0, _playerFactory.createPlayer)(source != null ? (0, _sourceFactory.createSource)(source) : undefined);
17
16
 
18
17
  // Initialize events
19
18
  super(player.eventEmitter);
@@ -266,6 +265,13 @@ class VideoPlayer extends _VideoPlayerEvents.VideoPlayerEvents {
266
265
  this.throwError(error);
267
266
  }
268
267
  }
268
+ resetForReuse() {
269
+ try {
270
+ this.player.resetForReuse();
271
+ } catch (error) {
272
+ this.throwError(error);
273
+ }
274
+ }
269
275
 
270
276
  // Selected Text Track
271
277
  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","player","createPlayer","createSource","undefined","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":[]}
@@ -18,10 +18,7 @@ const VideoPlayerFactory = _reactNativeNitroModules.NitroModules.createHybridObj
18
18
  */
19
19
  const createPlayer = source => {
20
20
  try {
21
- if ((0, _sourceFactory.isVideoPlayerSource)(source)) {
22
- return VideoPlayerFactory.createPlayer(source);
23
- }
24
- return VideoPlayerFactory.createPlayer((0, _sourceFactory.createSource)(source));
21
+ return VideoPlayerFactory.createPlayer(source == null ? undefined : (0, _sourceFactory.isVideoPlayerSource)(source) ? source : (0, _sourceFactory.createSource)(source));
25
22
  } catch (error) {
26
23
  throw (0, _VideoError.tryParseNativeVideoError)(error);
27
24
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeNitroModules","require","_sourceFactory","_VideoError","VideoPlayerFactory","NitroModules","createHybridObject","createPlayer","source","isVideoPlayerSource","createSource","error","tryParseNativeVideoError","exports"],"sourceRoot":"../../../../src","sources":["core/utils/playerFactory.ts"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AAOA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEA,MAAMG,kBAAkB,GACtBC,qCAAY,CAACC,kBAAkB,CAAqB,oBAAoB,CAAC;;AAE3E;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,YAAY,GACvBC,MAAqD,IACrC;EAChB,IAAI;IACF,IAAI,IAAAC,kCAAmB,EAACD,MAAM,CAAC,EAAE;MAC/B,OAAOJ,kBAAkB,CAACG,YAAY,CAACC,MAAM,CAAC;IAChD;IAEA,OAAOJ,kBAAkB,CAACG,YAAY,CAAC,IAAAG,2BAAY,EAACF,MAAM,CAAC,CAAC;EAC9D,CAAC,CAAC,OAAOG,KAAK,EAAE;IACd,MAAM,IAAAC,oCAAwB,EAACD,KAAK,CAAC;EACvC;AACF,CAAC;AAACE,OAAA,CAAAN,YAAA,GAAAA,YAAA","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeNitroModules","require","_sourceFactory","_VideoError","VideoPlayerFactory","NitroModules","createHybridObject","createPlayer","source","undefined","isVideoPlayerSource","createSource","error","tryParseNativeVideoError","exports"],"sourceRoot":"../../../../src","sources":["core/utils/playerFactory.ts"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AAOA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEA,MAAMG,kBAAkB,GACtBC,qCAAY,CAACC,kBAAkB,CAAqB,oBAAoB,CAAC;;AAE3E;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,YAAY,GACvBC,MAAsD,IACtC;EAChB,IAAI;IACF,OAAOJ,kBAAkB,CAACG,YAAY,CACpCC,MAAM,IAAI,IAAI,GACVC,SAAS,GACT,IAAAC,kCAAmB,EAACF,MAAM,CAAC,GACzBA,MAAM,GACN,IAAAG,2BAAY,EAACH,MAAM,CAC3B,CAAC;EACH,CAAC,CAAC,OAAOI,KAAK,EAAE;IACd,MAAM,IAAAC,oCAAwB,EAACD,KAAK,CAAC;EACvC;AACF,CAAC;AAACE,OAAA,CAAAP,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -8,8 +8,7 @@ import { createSource } from "./utils/sourceFactory.js";
8
8
  import { VideoPlayerEvents } from "./VideoPlayerEvents.js";
9
9
  class VideoPlayer extends VideoPlayerEvents {
10
10
  constructor(source) {
11
- const hybridSource = createSource(source);
12
- const player = createPlayer(hybridSource);
11
+ const player = createPlayer(source != null ? createSource(source) : undefined);
13
12
 
14
13
  // Initialize events
15
14
  super(player.eventEmitter);
@@ -262,6 +261,13 @@ class VideoPlayer extends VideoPlayerEvents {
262
261
  this.throwError(error);
263
262
  }
264
263
  }
264
+ resetForReuse() {
265
+ try {
266
+ this.player.resetForReuse();
267
+ } catch (error) {
268
+ this.throwError(error);
269
+ }
270
+ }
265
271
 
266
272
  // Selected Text Track
267
273
  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","player","undefined","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":[]}
@@ -14,10 +14,7 @@ const VideoPlayerFactory = NitroModules.createHybridObject('VideoPlayerFactory')
14
14
  */
15
15
  export const createPlayer = source => {
16
16
  try {
17
- if (isVideoPlayerSource(source)) {
18
- return VideoPlayerFactory.createPlayer(source);
19
- }
20
- return VideoPlayerFactory.createPlayer(createSource(source));
17
+ return VideoPlayerFactory.createPlayer(source == null ? undefined : isVideoPlayerSource(source) ? source : createSource(source));
21
18
  } catch (error) {
22
19
  throw tryParseNativeVideoError(error);
23
20
  }
@@ -1 +1 @@
1
- {"version":3,"names":["NitroModules","createSource","isVideoPlayerSource","tryParseNativeVideoError","VideoPlayerFactory","createHybridObject","createPlayer","source","error"],"sourceRoot":"../../../../src","sources":["core/utils/playerFactory.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AAOzD,SAASC,YAAY,EAAEC,mBAAmB,QAAQ,oBAAiB;AACnE,SAASC,wBAAwB,QAAQ,wBAAqB;AAE9D,MAAMC,kBAAkB,GACtBJ,YAAY,CAACK,kBAAkB,CAAqB,oBAAoB,CAAC;;AAE3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,GACvBC,MAAqD,IACrC;EAChB,IAAI;IACF,IAAIL,mBAAmB,CAACK,MAAM,CAAC,EAAE;MAC/B,OAAOH,kBAAkB,CAACE,YAAY,CAACC,MAAM,CAAC;IAChD;IAEA,OAAOH,kBAAkB,CAACE,YAAY,CAACL,YAAY,CAACM,MAAM,CAAC,CAAC;EAC9D,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd,MAAML,wBAAwB,CAACK,KAAK,CAAC;EACvC;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["NitroModules","createSource","isVideoPlayerSource","tryParseNativeVideoError","VideoPlayerFactory","createHybridObject","createPlayer","source","undefined","error"],"sourceRoot":"../../../../src","sources":["core/utils/playerFactory.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AAOzD,SAASC,YAAY,EAAEC,mBAAmB,QAAQ,oBAAiB;AACnE,SAASC,wBAAwB,QAAQ,wBAAqB;AAE9D,MAAMC,kBAAkB,GACtBJ,YAAY,CAACK,kBAAkB,CAAqB,oBAAoB,CAAC;;AAE3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,GACvBC,MAAsD,IACtC;EAChB,IAAI;IACF,OAAOH,kBAAkB,CAACE,YAAY,CACpCC,MAAM,IAAI,IAAI,GACVC,SAAS,GACTN,mBAAmB,CAACK,MAAM,CAAC,GACzBA,MAAM,GACNN,YAAY,CAACM,MAAM,CAC3B,CAAC;EACH,CAAC,CAAC,OAAOE,KAAK,EAAE;IACd,MAAMN,wBAAwB,CAACM,KAAK,CAAC;EACvC;AACF,CAAC","ignoreList":[]}
@@ -10,7 +10,7 @@ import { VideoPlayerEvents } from './VideoPlayerEvents';
10
10
  import type { AllPlayerTracks, PlayerTrack, TrackType } from './types/PlayerTrack';
11
11
  declare class VideoPlayer extends VideoPlayerEvents implements VideoPlayerBase {
12
12
  protected player: VideoPlayerImpl;
13
- constructor(source: VideoSource | VideoConfig | VideoPlayerSource);
13
+ constructor(source?: VideoSource | VideoConfig | VideoPlayerSource);
14
14
  get source(): VideoPlayerSource;
15
15
  get status(): VideoPlayerStatus;
16
16
  get duration(): number;
@@ -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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"}
@@ -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"}
@@ -29,6 +29,6 @@ export interface VideoPlayerFactory extends HybridObject<{
29
29
  ios: 'swift';
30
30
  android: 'kotlin';
31
31
  }> {
32
- createPlayer(source: VideoPlayerSource): VideoPlayer;
32
+ createPlayer(source?: VideoPlayerSource): VideoPlayer;
33
33
  }
34
34
  //# sourceMappingURL=VideoPlayer.nitro.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VideoPlayer.nitro.d.ts","sourceRoot":"","sources":["../../../../../../src/spec/nitro/VideoPlayer.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE,MAAM,WAAW,WACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC,EACvD,eAAe;IAEjB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAGnC,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAC;IAE/C;;;;;;;OAOG;IACH,wBAAwB,EAAE,OAAO,CAAC;IAElC,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE;;;OAGG;IACH,sBAAsB,IAAI,WAAW,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,kBACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;IACzD,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAAC;CACtD"}
1
+ {"version":3,"file":"VideoPlayer.nitro.d.ts","sourceRoot":"","sources":["../../../../../../src/spec/nitro/VideoPlayer.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE,MAAM,WAAW,WACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC,EACvD,eAAe;IAEjB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAGnC,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAC;IAE/C;;;;;;;OAOG;IACH,wBAAwB,EAAE,OAAO,CAAC;IAElC,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE;;;OAGG;IACH,sBAAsB,IAAI,WAAW,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,kBACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;IACzD,YAAY,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,WAAW,CAAC;CACvD"}
@@ -10,7 +10,7 @@ import { VideoPlayerEvents } from './VideoPlayerEvents';
10
10
  import type { AllPlayerTracks, PlayerTrack, TrackType } from './types/PlayerTrack';
11
11
  declare class VideoPlayer extends VideoPlayerEvents implements VideoPlayerBase {
12
12
  protected player: VideoPlayerImpl;
13
- constructor(source: VideoSource | VideoConfig | VideoPlayerSource);
13
+ constructor(source?: VideoSource | VideoConfig | VideoPlayerSource);
14
14
  get source(): VideoPlayerSource;
15
15
  get status(): VideoPlayerStatus;
16
16
  get duration(): number;
@@ -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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"}
@@ -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"}
@@ -29,6 +29,6 @@ export interface VideoPlayerFactory extends HybridObject<{
29
29
  ios: 'swift';
30
30
  android: 'kotlin';
31
31
  }> {
32
- createPlayer(source: VideoPlayerSource): VideoPlayer;
32
+ createPlayer(source?: VideoPlayerSource): VideoPlayer;
33
33
  }
34
34
  //# sourceMappingURL=VideoPlayer.nitro.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VideoPlayer.nitro.d.ts","sourceRoot":"","sources":["../../../../../../src/spec/nitro/VideoPlayer.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE,MAAM,WAAW,WACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC,EACvD,eAAe;IAEjB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAGnC,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAC;IAE/C;;;;;;;OAOG;IACH,wBAAwB,EAAE,OAAO,CAAC;IAElC,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE;;;OAGG;IACH,sBAAsB,IAAI,WAAW,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,kBACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;IACzD,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAAC;CACtD"}
1
+ {"version":3,"file":"VideoPlayer.nitro.d.ts","sourceRoot":"","sources":["../../../../../../src/spec/nitro/VideoPlayer.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE,MAAM,WAAW,WACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC,EACvD,eAAe;IAEjB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAGnC,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAC;IAE/C;;;;;;;OAOG;IACH,wBAAwB,EAAE,OAAO,CAAC;IAElC,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE;;;OAGG;IACH,sBAAsB,IAAI,WAAW,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,kBACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;IACzD,YAAY,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,WAAW,CAAC;CACvD"}
@@ -16,6 +16,7 @@ namespace margelo::nitro::video { class HybridVideoPlayerSourceSpec; }
16
16
  #include "HybridVideoPlayerSpec.hpp"
17
17
  #include "JHybridVideoPlayerSpec.hpp"
18
18
  #include "HybridVideoPlayerSourceSpec.hpp"
19
+ #include <optional>
19
20
  #include "JHybridVideoPlayerSourceSpec.hpp"
20
21
 
21
22
  namespace margelo::nitro::video {
@@ -50,9 +51,9 @@ namespace margelo::nitro::video {
50
51
 
51
52
 
52
53
  // Methods
53
- std::shared_ptr<HybridVideoPlayerSpec> JHybridVideoPlayerFactorySpec::createPlayer(const std::shared_ptr<HybridVideoPlayerSourceSpec>& source) {
54
+ std::shared_ptr<HybridVideoPlayerSpec> JHybridVideoPlayerFactorySpec::createPlayer(const std::optional<std::shared_ptr<HybridVideoPlayerSourceSpec>>& source) {
54
55
  static const auto method = javaClassStatic()->getMethod<jni::local_ref<JHybridVideoPlayerSpec::javaobject>(jni::alias_ref<JHybridVideoPlayerSourceSpec::javaobject> /* source */)>("createPlayer");
55
- auto __result = method(_javaPart, std::dynamic_pointer_cast<JHybridVideoPlayerSourceSpec>(source)->getJavaPart());
56
+ auto __result = method(_javaPart, source.has_value() ? std::dynamic_pointer_cast<JHybridVideoPlayerSourceSpec>(source.value())->getJavaPart() : nullptr);
56
57
  return __result->cthis()->shared_cast<JHybridVideoPlayerSpec>();
57
58
  }
58
59
 
@@ -54,7 +54,7 @@ namespace margelo::nitro::video {
54
54
 
55
55
  public:
56
56
  // Methods
57
- std::shared_ptr<HybridVideoPlayerSpec> createPlayer(const std::shared_ptr<HybridVideoPlayerSourceSpec>& source) override;
57
+ std::shared_ptr<HybridVideoPlayerSpec> createPlayer(const std::optional<std::shared_ptr<HybridVideoPlayerSourceSpec>>& source) override;
58
58
 
59
59
  private:
60
60
  friend HybridBase;
@@ -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;
@@ -47,7 +47,7 @@ abstract class HybridVideoPlayerFactorySpec: HybridObject() {
47
47
  // Methods
48
48
  @DoNotStrip
49
49
  @Keep
50
- abstract fun createPlayer(source: HybridVideoPlayerSourceSpec): HybridVideoPlayerSpec
50
+ abstract fun createPlayer(source: HybridVideoPlayerSourceSpec?): HybridVideoPlayerSpec
51
51
 
52
52
  private external fun initHybrid(): HybridData
53
53
 
@@ -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
 
@@ -383,6 +383,21 @@ namespace margelo::nitro::video::bridge::swift {
383
383
  return Result<AllPlayerTracks>::withError(error);
384
384
  }
385
385
 
386
+ // pragma MARK: std::optional<std::shared_ptr<HybridVideoPlayerSourceSpec>>
387
+ /**
388
+ * Specialized version of `std::optional<std::shared_ptr<HybridVideoPlayerSourceSpec>>`.
389
+ */
390
+ using std__optional_std__shared_ptr_HybridVideoPlayerSourceSpec__ = std::optional<std::shared_ptr<HybridVideoPlayerSourceSpec>>;
391
+ inline std::optional<std::shared_ptr<HybridVideoPlayerSourceSpec>> create_std__optional_std__shared_ptr_HybridVideoPlayerSourceSpec__(const std::shared_ptr<HybridVideoPlayerSourceSpec>& value) noexcept {
392
+ return std::optional<std::shared_ptr<HybridVideoPlayerSourceSpec>>(value);
393
+ }
394
+ inline bool has_value_std__optional_std__shared_ptr_HybridVideoPlayerSourceSpec__(const std::optional<std::shared_ptr<HybridVideoPlayerSourceSpec>>& optional) noexcept {
395
+ return optional.has_value();
396
+ }
397
+ inline std::shared_ptr<HybridVideoPlayerSourceSpec> get_std__optional_std__shared_ptr_HybridVideoPlayerSourceSpec__(const std::optional<std::shared_ptr<HybridVideoPlayerSourceSpec>>& optional) noexcept {
398
+ return *optional;
399
+ }
400
+
386
401
  // pragma MARK: std::shared_ptr<HybridVideoPlayerFactorySpec>
387
402
  /**
388
403
  * Specialized version of `std::shared_ptr<HybridVideoPlayerFactorySpec>`.
@@ -20,6 +20,7 @@ namespace margelo::nitro::video { class HybridVideoPlayerSourceSpec; }
20
20
  #include <memory>
21
21
  #include "HybridVideoPlayerSpec.hpp"
22
22
  #include "HybridVideoPlayerSourceSpec.hpp"
23
+ #include <optional>
23
24
 
24
25
  #include "ReactNativeVideo-Swift-Cxx-Umbrella.hpp"
25
26
 
@@ -65,7 +66,7 @@ namespace margelo::nitro::video {
65
66
 
66
67
  public:
67
68
  // Methods
68
- inline std::shared_ptr<HybridVideoPlayerSpec> createPlayer(const std::shared_ptr<HybridVideoPlayerSourceSpec>& source) override {
69
+ inline std::shared_ptr<HybridVideoPlayerSpec> createPlayer(const std::optional<std::shared_ptr<HybridVideoPlayerSourceSpec>>& source) override {
69
70
  auto __result = _swiftPart.createPlayer(source);
70
71
  if (__result.hasError()) [[unlikely]] {
71
72
  std::rethrow_exception(__result.error());
@@ -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;
@@ -14,7 +14,7 @@ public protocol HybridVideoPlayerFactorySpec_protocol: HybridObject {
14
14
 
15
15
 
16
16
  // Methods
17
- func createPlayer(source: (any HybridVideoPlayerSourceSpec)) throws -> (any HybridVideoPlayerSpec)
17
+ func createPlayer(source: (any HybridVideoPlayerSourceSpec)?) throws -> (any HybridVideoPlayerSpec)
18
18
  }
19
19
 
20
20
  public extension HybridVideoPlayerFactorySpec_protocol {
@@ -118,12 +118,19 @@ open class HybridVideoPlayerFactorySpec_cxx {
118
118
 
119
119
  // Methods
120
120
  @inline(__always)
121
- public final func createPlayer(source: bridge.std__shared_ptr_HybridVideoPlayerSourceSpec_) -> bridge.Result_std__shared_ptr_HybridVideoPlayerSpec__ {
121
+ public final func createPlayer(source: bridge.std__optional_std__shared_ptr_HybridVideoPlayerSourceSpec__) -> bridge.Result_std__shared_ptr_HybridVideoPlayerSpec__ {
122
122
  do {
123
- let __result = try self.__implementation.createPlayer(source: { () -> HybridVideoPlayerSourceSpec in
124
- let __unsafePointer = bridge.get_std__shared_ptr_HybridVideoPlayerSourceSpec_(source)
125
- let __instance = HybridVideoPlayerSourceSpec_cxx.fromUnsafe(__unsafePointer)
126
- return __instance.getHybridVideoPlayerSourceSpec()
123
+ let __result = try self.__implementation.createPlayer(source: { () -> (any HybridVideoPlayerSourceSpec)? in
124
+ if bridge.has_value_std__optional_std__shared_ptr_HybridVideoPlayerSourceSpec__(source) {
125
+ let __unwrapped = bridge.get_std__optional_std__shared_ptr_HybridVideoPlayerSourceSpec__(source)
126
+ return { () -> HybridVideoPlayerSourceSpec in
127
+ let __unsafePointer = bridge.get_std__shared_ptr_HybridVideoPlayerSourceSpec_(__unwrapped)
128
+ let __instance = HybridVideoPlayerSourceSpec_cxx.fromUnsafe(__unsafePointer)
129
+ return __instance.getHybridVideoPlayerSourceSpec()
130
+ }()
131
+ } else {
132
+ return nil
133
+ }
127
134
  }())
128
135
  let __resultCpp = { () -> bridge.std__shared_ptr_HybridVideoPlayerSpec_ in
129
136
  let __cxxWrapped = __result.getCxxWrapper()
@@ -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
  }
@@ -21,6 +21,7 @@ namespace margelo::nitro::video { class HybridVideoPlayerSourceSpec; }
21
21
  #include <memory>
22
22
  #include "HybridVideoPlayerSpec.hpp"
23
23
  #include "HybridVideoPlayerSourceSpec.hpp"
24
+ #include <optional>
24
25
 
25
26
  namespace margelo::nitro::video {
26
27
 
@@ -53,7 +54,7 @@ namespace margelo::nitro::video {
53
54
 
54
55
  public:
55
56
  // Methods
56
- virtual std::shared_ptr<HybridVideoPlayerSpec> createPlayer(const std::shared_ptr<HybridVideoPlayerSourceSpec>& source) = 0;
57
+ virtual std::shared_ptr<HybridVideoPlayerSpec> createPlayer(const std::optional<std::shared_ptr<HybridVideoPlayerSourceSpec>>& source) = 0;
57
58
 
58
59
  protected:
59
60
  // Hybrid Setup
@@ -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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pigeonmal/react-native-video",
3
- "version": "7.0.0-beta.5",
3
+ "version": "7.0.0-beta.7",
4
4
  "description": "<Video /> Component for React Native",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/commonjs/index.js",
@@ -24,9 +24,10 @@ import type {
24
24
  class VideoPlayer extends VideoPlayerEvents implements VideoPlayerBase {
25
25
  protected player: VideoPlayerImpl;
26
26
 
27
- constructor(source: VideoSource | VideoConfig | VideoPlayerSource) {
28
- const hybridSource = createSource(source);
29
- const player = createPlayer(hybridSource);
27
+ constructor(source?: VideoSource | VideoConfig | VideoPlayerSource) {
28
+ const player = createPlayer(
29
+ source != null ? createSource(source) : undefined
30
+ );
30
31
 
31
32
  // Initialize events
32
33
  super(player.eventEmitter);
@@ -317,6 +318,14 @@ class VideoPlayer extends VideoPlayerEvents implements VideoPlayerBase {
317
318
  }
318
319
  }
319
320
 
321
+ resetForReuse(): void {
322
+ try {
323
+ this.player.resetForReuse();
324
+ } catch (error) {
325
+ this.throwError(error);
326
+ }
327
+ }
328
+
320
329
  // Selected Text Track
321
330
  get selectedTrack(): PlayerTrack | undefined {
322
331
  return this.player.selectedTrack;
@@ -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
@@ -19,14 +19,16 @@ const VideoPlayerFactory =
19
19
  * @returns The Native VideoPlayer instance
20
20
  */
21
21
  export const createPlayer = (
22
- source: VideoSource | VideoConfig | VideoPlayerSource
22
+ source?: VideoSource | VideoConfig | VideoPlayerSource
23
23
  ): VideoPlayer => {
24
24
  try {
25
- if (isVideoPlayerSource(source)) {
26
- return VideoPlayerFactory.createPlayer(source);
27
- }
28
-
29
- return VideoPlayerFactory.createPlayer(createSource(source));
25
+ return VideoPlayerFactory.createPlayer(
26
+ source == null
27
+ ? undefined
28
+ : isVideoPlayerSource(source)
29
+ ? source
30
+ : createSource(source)
31
+ );
30
32
  } catch (error) {
31
33
  throw tryParseNativeVideoError(error);
32
34
  }
@@ -34,5 +34,5 @@ export interface VideoPlayer
34
34
 
35
35
  export interface VideoPlayerFactory
36
36
  extends HybridObject<{ ios: 'swift'; android: 'kotlin' }> {
37
- createPlayer(source: VideoPlayerSource): VideoPlayer;
37
+ createPlayer(source?: VideoPlayerSource): VideoPlayer;
38
38
  }