init commit
This commit is contained in:
50
remotion/node_modules/@remotion/webcodecs/dist/create/progress-tracker.js
generated
vendored
Normal file
50
remotion/node_modules/@remotion/webcodecs/dist/create/progress-tracker.js
generated
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.makeProgressTracker = void 0;
|
||||
const event_emitter_1 = require("./event-emitter");
|
||||
// Make sure to distinguish null and undefined here
|
||||
const makeProgressTracker = () => {
|
||||
const trackNumberProgresses = {};
|
||||
const eventEmitter = new event_emitter_1.IoEventEmitter();
|
||||
let startingTimestamp = null;
|
||||
const setPossibleLowestTimestamp = (timestamp) => {
|
||||
if (startingTimestamp === null) {
|
||||
startingTimestamp = timestamp;
|
||||
}
|
||||
else {
|
||||
startingTimestamp = Math.min(startingTimestamp, timestamp);
|
||||
}
|
||||
};
|
||||
const getSmallestProgress = () => {
|
||||
const progressValues = Object.values(trackNumberProgresses).map((p) => {
|
||||
if (p !== null) {
|
||||
return p;
|
||||
}
|
||||
// The starting timestamp might not be 0, it might be very huge
|
||||
// If no sample has arrived yet, we should assume the smallest value
|
||||
// we know as the progress
|
||||
if (startingTimestamp === null) {
|
||||
throw new Error('No progress values to calculate smallest progress from');
|
||||
}
|
||||
return startingTimestamp;
|
||||
});
|
||||
return Math.min(...progressValues);
|
||||
};
|
||||
return {
|
||||
registerTrack: (trackNumber) => {
|
||||
trackNumberProgresses[trackNumber] = null;
|
||||
},
|
||||
getSmallestProgress,
|
||||
updateTrackProgress: (trackNumber, progress) => {
|
||||
if (trackNumberProgresses[trackNumber] === undefined) {
|
||||
throw new Error(`Tried to update progress for a track that was not registered: ${trackNumber}`);
|
||||
}
|
||||
trackNumberProgresses[trackNumber] = progress;
|
||||
eventEmitter.dispatchEvent('progress', {
|
||||
smallestProgress: getSmallestProgress(),
|
||||
});
|
||||
},
|
||||
setPossibleLowestTimestamp,
|
||||
};
|
||||
};
|
||||
exports.makeProgressTracker = makeProgressTracker;
|
||||
Reference in New Issue
Block a user