Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
async (req, res, next) => {
try {
const promisify = (fn) =>
new Promise((resolve, reject) =>
fn((err, data) => err ? reject(err) : resolve(data)));
const [
formats, codecs, encoders, filters, postcount, boardcount, spaceused
] = await Promise.all([
promisify(ffmpeg.getAvailableFormats),
promisify(ffmpeg.getAvailableCodecs),
promisify(ffmpeg.getAvailableEncoders),
promisify(ffmpeg.getAvailableFilters),
Post.estimatedDocumentCount(),
Board.estimatedDocumentCount(),
new Promise((resolve, reject) => {
du(config.html_path, (err, size) => {
if (err) {
reject(err);
return;
}
resolve(size);
});
}),
]);
const ffmpegPath = process.env.FFMPEG_PATH;
const ffprobePath = process.env.FFPROBE_PATH;
const ffmpegData = {formats, codecs, encoders, filters, ffmpegPath, ffprobePath};
return new Promise(function(resolve, reject) {
if (!_self.options.normalizeLevel || _self.options.normalizeLevel < 3) {
return resolve();
}
let availableFilters;
ffmpeg.getAvailableFilters(function(err, filters) {
availableFilters = filters;
normalize();
});
function normalize() {
_self.stages[_self.currentStageNum].command = new ffmpeg(_self.path, {
logger: _self.encoder.logger
}).inputOptions('-hide_banner').format('null').output('-')
.on('start', function(commandLine) {
if (_self.paused)
_self.pause();
_self.encoder.logger.debug('Running Query:', commandLine);
})
.on('error', function(err, stdout, stderr) {
_self.encoder.logger.debug(err.stack);