export function createMuteOgg(
  outputFile: string,
  options: { seconds: number; sampleRate: number; numOfChannels: number }
) {
  return new Promise<true>((resolve, reject) => {
    if (!outputFile || !options || !options.seconds || !options.sampleRate || !options.numOfChannels)
      return reject(new Error('malformed props to createMuteOgg'))

    if (
      !Number.isInteger(options.seconds) ||
      !Number.isInteger(options.sampleRate) ||
      !Number.isInteger(options.numOfChannels)
    )
      return reject(new Error('malformed numerico options prop for createMuteOgg'))

    const ch = options.numOfChannels === 1 ? 'mono' : 'stereo'

    exec(
      'ffmpeg -f lavfi -i anullsrc=r=' +
        options.sampleRate +
        ':cl=' +
        ch +
        ' -t ' +
        options.seconds +
        ' -c:a libvorbis ' +
        outputFile,
      (error, stdout, stderr) => {
        if (error) return reject(error)
        // if (!stdout) return reject(new Error('can\'t probe file ' + outputFile))

        resolve(true)
      }
    )
  })
}
The software constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component.