From 6dfbfc3bf835e258f36a5bed83fe2f483d877585 Mon Sep 17 00:00:00 2001 From: aleen42 Date: Mon, 5 Sep 2016 15:53:24 +0800 Subject: [PATCH 1/2] Fix bugs of issue #27 --- src/ogg.js | 74 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 39 insertions(+), 35 deletions(-) diff --git a/src/ogg.js b/src/ogg.js index ea757ce..0eae164 100644 --- a/src/ogg.js +++ b/src/ogg.js @@ -4,38 +4,42 @@ var AV = require('av'); try { var OggDemuxer = require('ogg.js'); } catch (e) {}; -if (!OggDemuxer) return; - -OggDemuxer.plugins.push({ - magic: "\177FLAC", - - init: function() { - this.list = new AV.BufferList(); - this.stream = new AV.Stream(this.list); - }, - - readHeaders: function(packet) { - var stream = this.stream; - this.list.append(new AV.Buffer(packet)); - - stream.advance(5); // magic - if (stream.readUInt8() != 1) - throw new Error('Unsupported FLAC version'); - - stream.advance(3); - if (stream.peekString(0, 4) != 'fLaC') - throw new Error('Not flac'); - - this.flac = AV.Demuxer.find(stream.peekSingleBuffer(0, stream.remainingBytes())); - if (!this.flac) - throw new Error('Flac demuxer not found'); - - this.flac.prototype.readChunk.call(this); - return true; - }, - - readPacket: function(packet) { - this.list.append(new AV.Buffer(packet)); - this.flac.prototype.readChunk.call(this); - } -}); + +// return calling outside a function will be not proper. +// if (!OggDemuxer) return; + +if (OggDemuxer) { + OggDemuxer.plugins.push({ + magic: "\177FLAC", + + init: function() { + this.list = new AV.BufferList(); + this.stream = new AV.Stream(this.list); + }, + + readHeaders: function(packet) { + var stream = this.stream; + this.list.append(new AV.Buffer(packet)); + + stream.advance(5); // magic + if (stream.readUInt8() != 1) + throw new Error('Unsupported FLAC version'); + + stream.advance(3); + if (stream.peekString(0, 4) != 'fLaC') + throw new Error('Not flac'); + + this.flac = AV.Demuxer.find(stream.peekSingleBuffer(0, stream.remainingBytes())); + if (!this.flac) + throw new Error('Flac demuxer not found'); + + this.flac.prototype.readChunk.call(this); + return true; + }, + + readPacket: function(packet) { + this.list.append(new AV.Buffer(packet)); + this.flac.prototype.readChunk.call(this); + } + }); +} From 6f7bfa86f96c42782e44e293cea3f330e455cbd7 Mon Sep 17 00:00:00 2001 From: aleen42 Date: Mon, 5 Sep 2016 16:16:38 +0800 Subject: [PATCH 2/2] Fix bugs of using octal literal in strict mode --- src/ogg.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ogg.js b/src/ogg.js index 0eae164..e6437a3 100644 --- a/src/ogg.js +++ b/src/ogg.js @@ -10,7 +10,7 @@ try { if (OggDemuxer) { OggDemuxer.plugins.push({ - magic: "\177FLAC", + magic: '177FLAC', init: function() { this.list = new AV.BufferList();