@remotion/media 4.0.407 → 4.0.409

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.
@@ -1184,6 +1184,12 @@ class MediaPlayer {
1184
1184
  __callDispose(__stack, _err, _hasErr);
1185
1185
  }
1186
1186
  }
1187
+ seekToWithQueue = async (newTime) => {
1188
+ const nonce = this.nonceManager.createAsyncOperation();
1189
+ await this.seekPromiseChain;
1190
+ this.seekPromiseChain = this.seekToDoNotCallDirectly(newTime, nonce);
1191
+ await this.seekPromiseChain;
1192
+ };
1187
1193
  async seekTo(time) {
1188
1194
  const newTime = getTimeInSeconds({
1189
1195
  unloopedTimeInSeconds: time,
@@ -1199,10 +1205,7 @@ class MediaPlayer {
1199
1205
  if (newTime === null) {
1200
1206
  throw new Error(`should have asserted that the time is not null`);
1201
1207
  }
1202
- const nonce = this.nonceManager.createAsyncOperation();
1203
- await this.seekPromiseChain;
1204
- this.seekPromiseChain = this.seekToDoNotCallDirectly(newTime, nonce);
1205
- await this.seekPromiseChain;
1208
+ await this.seekToWithQueue(newTime);
1206
1209
  }
1207
1210
  async seekToDoNotCallDirectly(newTime, nonce) {
1208
1211
  if (nonce.isStale()) {
@@ -1288,7 +1291,7 @@ class MediaPlayer {
1288
1291
  }
1289
1292
  this.audioIteratorManager.setVolume(volume);
1290
1293
  }
1291
- updateAfterTrimChange(unloopedTimeInSeconds) {
1294
+ async updateAfterTrimChange(unloopedTimeInSeconds) {
1292
1295
  if (!this.audioIteratorManager && !this.videoIteratorManager) {
1293
1296
  return;
1294
1297
  }
@@ -1303,21 +1306,24 @@ class MediaPlayer {
1303
1306
  ifNoMediaDuration: "infinity",
1304
1307
  src: this.src
1305
1308
  });
1309
+ this.audioIteratorManager?.destroyIterator();
1306
1310
  if (newMediaTime !== null) {
1307
1311
  this.setPlaybackTime(newMediaTime, this.playbackRate * this.globalPlaybackRate);
1312
+ if (!this.playing && this.videoIteratorManager) {
1313
+ await this.seekToWithQueue(newMediaTime);
1314
+ }
1308
1315
  }
1309
- this.audioIteratorManager?.destroyIterator();
1310
1316
  }
1311
- setTrimBefore(trimBefore, unloopedTimeInSeconds) {
1317
+ async setTrimBefore(trimBefore, unloopedTimeInSeconds) {
1312
1318
  if (this.trimBefore !== trimBefore) {
1313
1319
  this.trimBefore = trimBefore;
1314
- this.updateAfterTrimChange(unloopedTimeInSeconds);
1320
+ await this.updateAfterTrimChange(unloopedTimeInSeconds);
1315
1321
  }
1316
1322
  }
1317
- setTrimAfter(trimAfter, unloopedTimeInSeconds) {
1323
+ async setTrimAfter(trimAfter, unloopedTimeInSeconds) {
1318
1324
  if (this.trimAfter !== trimAfter) {
1319
1325
  this.trimAfter = trimAfter;
1320
- this.updateAfterTrimChange(unloopedTimeInSeconds);
1326
+ await this.updateAfterTrimChange(unloopedTimeInSeconds);
1321
1327
  }
1322
1328
  }
1323
1329
  setDebugOverlay(debugOverlay) {
@@ -67,6 +67,7 @@ export declare class MediaPlayer {
67
67
  private getStartTime;
68
68
  private getEndTime;
69
69
  private _initialize;
70
+ private seekToWithQueue;
70
71
  seekTo(time: number): Promise<void>;
71
72
  seekToDoNotCallDirectly(newTime: number, nonce: Nonce): Promise<void>;
72
73
  play(time: number): Promise<void>;
@@ -75,8 +76,8 @@ export declare class MediaPlayer {
75
76
  setMuted(muted: boolean): void;
76
77
  setVolume(volume: number): void;
77
78
  private updateAfterTrimChange;
78
- setTrimBefore(trimBefore: number | undefined, unloopedTimeInSeconds: number): void;
79
- setTrimAfter(trimAfter: number | undefined, unloopedTimeInSeconds: number): void;
79
+ setTrimBefore(trimBefore: number | undefined, unloopedTimeInSeconds: number): Promise<void>;
80
+ setTrimAfter(trimAfter: number | undefined, unloopedTimeInSeconds: number): Promise<void>;
80
81
  setDebugOverlay(debugOverlay: boolean): void;
81
82
  private updateAudioTimeAfterPlaybackRateChange;
82
83
  setPlaybackRate(rate: number): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/media",
3
- "version": "4.0.407",
3
+ "version": "4.0.409",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "module": "dist/esm/index.mjs",
@@ -22,15 +22,15 @@
22
22
  "make": "tsgo && bun --env-file=../.env.bundle bundle.ts"
23
23
  },
24
24
  "dependencies": {
25
- "mediabunny": "1.27.3",
26
- "remotion": "4.0.407"
25
+ "mediabunny": "1.29.0",
26
+ "remotion": "4.0.409"
27
27
  },
28
28
  "peerDependencies": {
29
29
  "react": ">=16.8.0",
30
30
  "react-dom": ">=16.8.0"
31
31
  },
32
32
  "devDependencies": {
33
- "@remotion/eslint-config-internal": "4.0.407",
33
+ "@remotion/eslint-config-internal": "4.0.409",
34
34
  "@vitest/browser-webdriverio": "4.0.9",
35
35
  "eslint": "9.19.0",
36
36
  "react": "19.2.3",