diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/promisify-process.js | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/promisify-process.js b/src/promisify-process.js index ef8d0c6..4d06f8c 100644 --- a/src/promisify-process.js +++ b/src/promisify-process.js @@ -1,5 +1,7 @@ 'use strict' +const { Writable } = require('stream') + module.exports = function promisifyProcess(proc, showLogging = true) { // Takes a process (from child_process) and returns a promise that resolves // when the process exits (or rejects with a warning, if the exit code is @@ -9,6 +11,16 @@ module.exports = function promisifyProcess(proc, showLogging = true) { if (showLogging) { proc.stdout.pipe(process.stdout) proc.stderr.pipe(process.stderr) + } else { + // For some mysterious reason, youtube-dl doesn't seem to work unless + // we pipe the output of it SOMEWHERE.. + + const emptyStream = () => Object.assign(new Writable(), { + write: () => {} + }) + + proc.stdout.pipe(emptyStream()) + proc.stderr.pipe(emptyStream()) } proc.on('exit', code => { |