From 3e98007608ed0ab31192f82404ba81ebe4fe40ed Mon Sep 17 00:00:00 2001 From: Frank Huang Date: Sat, 19 Mar 2016 20:28:33 +0000 Subject: [PATCH] Support 'JUNK' data block in RIFF specification. --- lib/reader.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/reader.js b/lib/reader.js index f644e16..84c2e4e 100644 --- a/lib/reader.js +++ b/lib/reader.js @@ -102,11 +102,20 @@ Reader.prototype._onSubchunk1ID = function (chunk) { this.chunkId = subchunk1ID; if ('fmt ' === subchunk1ID) { this._bytes(4, this._onSubchunk1Size); + } else if ('JUNK' === subchunk1ID) { + this._bytes(4, this._onJUNK); } else { this.emit('error', new Error(f('bad "fmt id": expected "fmt ", got %j', subchunk1ID))); } }; +Reader.prototype._onJUNK = function (chunk) { + var junkSize = chunk['readUInt32' + this.endianness](0); + this._bytes(junkSize, function() { + this._bytes(4, this._onSubchunk1ID); + }); +} + Reader.prototype._onSubchunk1Size = function (chunk) { debug('onSubchunk1Size: %o', chunk); this.subchunk1Size = chunk['readUInt32' + this.endianness](0);