Add setLogging, setLogger and setProgress API

This commit is contained in:
Jerome Wu 2020-11-03 21:44:14 +08:00
parent 1fa9a300d4
commit f8c1350139

View File

@ -7,20 +7,21 @@ const { defaultOptions, getCreateFFmpegCore } = require('./node');
const NO_LOAD = Error('ffmpeg.wasm is not ready, make sure you have completed load().'); const NO_LOAD = Error('ffmpeg.wasm is not ready, make sure you have completed load().');
module.exports = (_options = {}) => { module.exports = (_options = {}) => {
let Core = null;
let ffmpeg = null;
let runResolve = null;
let running = false;
const { const {
log: logging, log: logging,
logger, logger,
progress, progress: optProgress,
...options ...options
} = { } = {
...baseOptions, ...baseOptions,
...defaultOptions, ...defaultOptions,
..._options, ..._options,
}; };
let Core = null;
let ffmpeg = null;
let runResolve = null;
let running = false;
let progress = optProgress;
const detectCompletion = (message) => { const detectCompletion = (message) => {
if (message === 'FFMPEG_END' && runResolve !== null) { if (message === 'FFMPEG_END' && runResolve !== null) {
runResolve(); runResolve();
@ -145,10 +146,21 @@ module.exports = (_options = {}) => {
} }
}; };
const setProgress = (_progress) => {
progress = _progress;
};
const setLogger = (_logger) => {
setCustomLogger(_logger);
};
setLogging(logging); setLogging(logging);
setCustomLogger(logger); setCustomLogger(logger);
return { return {
setProgress,
setLogger,
setLogging,
load, load,
isLoaded, isLoaded,
run, run,