Add ffmpegCommand.init to ensure "Begin" command has been used

make-only-subtitle-default
HaveAGitGat 1 year ago
parent a8b0fd3c60
commit 0ba6ceb182

@ -180,6 +180,9 @@ const plugin = async (args: IpluginInputArgs): Promise<IpluginOutputArgs> => {
args.logOutcome('tSuc');
// eslint-disable-next-line no-param-reassign
args.variables.ffmpegCommand.init = false;
return {
outputFileObj: {
_id: outputFilePath,

@ -40,6 +40,7 @@ const plugin = (args:IpluginInputArgs):IpluginOutputArgs => {
const container = getContainer(args.inputFileObj._id);
const ffmpegCommand = {
init: true,
inputFiles: [],
streams: JSON.parse(JSON.stringify(args.inputFileObj.ffProbeData.streams)).map((stream:Istreams) => ({
...stream,

@ -0,0 +1,14 @@
import { IpluginInputArgs } from './interfaces';
// eslint-disable-next-line import/prefer-default-export
export const checkFfmpegCommandInit = (args: IpluginInputArgs): void => {
if (!args?.variables?.ffmpegCommand?.init) {
throw new Error(
'FFmpeg command plugins not used correctly.'
+ ' Please use the "Begin Command" plugin before using this plugin.'
+ ' Afterwards, use the "Execute" plugin to execute the built FFmpeg command.'
+ ' Once the "Execute" plugin has been used, you need to use a new "Begin Command"'
+ ' plugin to start a new FFmpeg command.',
);
}
};

@ -87,6 +87,7 @@ export interface IffmpegCommandStream extends Istreams {
}
export interface IffmpegCommand {
init: boolean,
inputFiles: string[],
streams: IffmpegCommandStream[]
container: string,

Loading…
Cancel
Save