@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.
- package/dist/esm/index.mjs +16 -10
- package/dist/media-player.d.ts +3 -2
- package/package.json +4 -4
package/dist/esm/index.mjs
CHANGED
|
@@ -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
|
-
|
|
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) {
|
package/dist/media-player.d.ts
CHANGED
|
@@ -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.
|
|
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.
|
|
26
|
-
"remotion": "4.0.
|
|
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.
|
|
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",
|