node-fpcalc icon indicating copy to clipboard operation
node-fpcalc copied to clipboard

Error: write EPIPE

Open Miyou opened this issue 5 years ago • 1 comments

Hi. I just tried using the package, and it works great when I supply a string of a filename, but as soon as I pass in a stream it crashes the process with the above error. Here's a minimum reproducible example:

fpcalc(fs.createReadStream('rickroll.webm'), function (err, result) {
  if (err) {
    console.log('error!', err);
  }
  console.log(result.file, result.duration, result.fingerprint);
});

The full error is:

Error: write EPIPE
    at WriteWrap.onWriteComplete [as oncomplete] (internal/stream_base_commons.js:92:16)
error Command failed with exit code 1.

Any ideas on how to fix this?

Miyou avatar Sep 22 '20 16:09 Miyou

So I changed line 81 in index.js from options.stdin.pipe(cp.stdin); to:

options.stdin.pipe(cp.stdin).on('error', (err) => {
	if (err.code === 'EPIPE') return;
	else throw err;
});

and it works now. Not sure if that's a good solution though or if there is something causing the error that we should fix? Would be great if someone who knows more about this type of error could weigh in.

Miyou avatar Sep 22 '20 16:09 Miyou