* @param {RawVideoFrame[]|RawImage[]} frames * @param {number} duration
(frames, duration)
| 18 | * @param {number} duration |
| 19 | */ |
| 20 | constructor(frames, duration) { |
| 21 | if (frames.length > 0 && frames[0] instanceof RawImage) { |
| 22 | // Assume uniform timestamps |
| 23 | frames = frames.map((image, i) => new RawVideoFrame(image, ((i + 1) / (frames.length + 1)) * duration)); |
| 24 | } |
| 25 | this.frames = /** @type {RawVideoFrame[]} */ (frames); |
| 26 | this.duration = duration; |
| 27 | } |
| 28 | |
| 29 | get width() { |
| 30 | return this.frames[0].image.width; |