diff --git a/src/services/electron/ffmpeg.ts b/src/services/electron/ffmpeg.ts index d7a914bf2..17ad812e9 100644 --- a/src/services/electron/ffmpeg.ts +++ b/src/services/electron/ffmpeg.ts @@ -1,8 +1,9 @@ +import { IFFmpeg } from 'services/ffmpeg/ffmpegFactory'; import { ElectronAPIs } from 'types/electron'; import { ElectronFile } from 'types/upload'; import { runningInBrowser } from 'utils/common'; -export class ElectronFFmpeg { +export class ElectronFFmpeg implements IFFmpeg { private electronAPIs: ElectronAPIs; constructor() { diff --git a/src/services/ffmpeg/ffmpegFactory.ts b/src/services/ffmpeg/ffmpegFactory.ts index 9b7be633e..276dfd3c9 100644 --- a/src/services/ffmpeg/ffmpegFactory.ts +++ b/src/services/ffmpeg/ffmpegFactory.ts @@ -1,10 +1,18 @@ import isElectron from 'is-electron'; import { ElectronFFmpeg } from 'services/electron/ffmpeg'; -import { WasmFFmpeg } from 'services/wasm/ffmpeg'; +import { ElectronFile } from 'types/upload'; import { FFmpegWorker } from 'utils/comlink'; +export interface IFFmpeg { + run: ( + cmd: string[], + inputFile: File | ElectronFile, + outputFilename: string + ) => Promise; +} + class FFmpegFactory { - private client: ElectronFFmpeg | WasmFFmpeg; + private client: IFFmpeg; async getFFmpegClient() { if (this.client) {