From 9fb775446f151b492f17bd42b757b958f5ea3fa0 Mon Sep 17 00:00:00 2001 From: liam4 Date: Sun, 4 Jun 2017 17:09:04 -0300 Subject: Fix the spooky youtube-dl problem --- src/promisify-process.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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 => { -- cgit 1.3.0-6-gf8a5