update ffmpeg with interface

This commit is contained in:
Abhinav 2022-11-14 14:48:12 +05:30
parent cdff654fdc
commit 3b0bc76e55
2 changed files with 12 additions and 3 deletions

View file

@ -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() {

View file

@ -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<File | ElectronFile>;
}
class FFmpegFactory {
private client: ElectronFFmpeg | WasmFFmpeg;
private client: IFFmpeg;
async getFFmpegClient() {
if (this.client) {