diff options
Diffstat (limited to 'src/lib/media/video/compress.ts')
-rw-r--r-- | src/lib/media/video/compress.ts | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/lib/media/video/compress.ts b/src/lib/media/video/compress.ts index 60e5e94a0..957617596 100644 --- a/src/lib/media/video/compress.ts +++ b/src/lib/media/video/compress.ts @@ -8,19 +8,25 @@ export type CompressedVideo = { export async function compressVideo( file: string, opts?: { - getCancellationId?: (id: string) => void + signal?: AbortSignal onProgress?: (progress: number) => void }, ): Promise<CompressedVideo> { - const {onProgress, getCancellationId} = opts || {} + const {onProgress, signal} = opts || {} const compressed = await Video.compress( file, { - getCancellationId, compressionMethod: 'manual', bitrate: 3_000_000, // 3mbps maxSize: 1920, + getCancellationId: id => { + if (signal) { + signal.addEventListener('abort', () => { + Video.cancelCompression(id) + }) + } + }, }, onProgress, ) |