From 7ddcb1ba54e2670f0f75cd113f9ae6280e0c1c00 Mon Sep 17 00:00:00 2001 From: kugimiya Date: Wed, 25 May 2022 01:25:28 +0400 Subject: [PATCH 1/2] Add try-catch block for any unknown thrown error's --- src/demuxer.js | 52 +++++++++++++++++++++++++++----------------------- 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/src/demuxer.js b/src/demuxer.js index 6562d2a..6c6a6a8 100644 --- a/src/demuxer.js +++ b/src/demuxer.js @@ -167,32 +167,36 @@ var MP3Demuxer = AV.Demuxer.extend(function() { var off = stream.offset; var s = new MP3Stream(new AV.Bitstream(stream)); - var header = MP3FrameHeader.decode(s); - if (!header) - return this.emit('error', 'Could not find first frame.'); - - this.emit('format', { - formatID: 'mp3', - sampleRate: header.samplerate, - channelsPerFrame: header.nchannels(), - bitrate: header.bitrate, - floatingPoint: true, - layer: header.layer, - flags: header.flags - }); - - var sentDuration = this.parseDuration(header, off); - stream.advance(off - stream.offset); - - // if there were no Xing/VBRI tags, guesstimate the duration based on data size and bitrate - this.dataSize = 0; - if (!sentDuration) { - this.on('end', function() { - this.emit('duration', this.dataSize * 8 / header.bitrate * 1000 | 0); + try { + var header = MP3FrameHeader.decode(s); + if (!header) + return this.emit('error', 'Could not find first frame.'); + + this.emit('format', { + formatID: 'mp3', + sampleRate: header.samplerate, + channelsPerFrame: header.nchannels(), + bitrate: header.bitrate, + floatingPoint: true, + layer: header.layer, + flags: header.flags }); - } - this.sentInfo = true; + var sentDuration = this.parseDuration(header, off); + stream.advance(off - stream.offset); + + // if there were no Xing/VBRI tags, guesstimate the duration based on data size and bitrate + this.dataSize = 0; + if (!sentDuration) { + this.on('end', function() { + this.emit('duration', this.dataSize * 8 / header.bitrate * 1000 | 0); + }); + } + + this.sentInfo = true; + } catch (e) { + return this.emit('error', e.message); + } } while (stream.available(1)) { From c1c45d6596c72d8ea5d35df326ddb4befe85e14a Mon Sep 17 00:00:00 2001 From: kugimiya Date: Wed, 25 May 2022 01:25:47 +0400 Subject: [PATCH 2/2] Bump package version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 256d0d1..2610d01 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mp3", - "version": "0.1.0", + "version": "0.1.1", "description": "An MP3 decoder for Aurora.js", "peerDependencies": { "av": "~0.4.0"