This commit is contained in:
minjaesong
2023-01-14 02:04:41 +09:00
parent 1c9e99bb66
commit f23dedc245
6 changed files with 159 additions and 120 deletions

View File

@@ -643,14 +643,8 @@ var Frame = {
},
readCRC: function (source) {
var result = source.readFull(2);
if (result.err) {
return {
err: result.err
}
}
var buf = result.buf;
if (buf.byteLength < 2) {
var buf = source.readFull(2)
if (buf.length < 2) {
return "mp3: error at readCRC";
}
},

View File

@@ -2,6 +2,7 @@ var consts = require('A:/tvdos/include/js-mp3/consts.js');
var Frameheader = {
createNew: function (value) {
// A mepg1FrameHeader is MPEG1 Layer 1-3 frame header
var fh = {
value: value
@@ -214,14 +215,8 @@ var Frameheader = {
read: function (source, position) {
var pos = position;
var result = source.readFull(4);
if (result.err) {
return {
err: result.err
}
}
var buf = result.buf;
if (buf.byteLength < 4) {
var buf = source.readFull(4)
if (buf.length < 4) {
return {
h: 0,
position: 0,
@@ -238,15 +233,9 @@ var Frameheader = {
while (!fh.isValid()) {
// stopPosition++;
result = source.readFull(1);
if (result.err) {
return {
err: result.err
}
}
buf = result.buf;
buf = source.readFull(1);
if (buf.byteLength < 1) {
if (buf.length < 1) {
return {
h: 0,
position: 0,

View File

@@ -186,23 +186,24 @@ var read = function (source, prev, size, offset) {
if (prev !== null) {
vec = prev.Tail(offset);
}
// serial.println(`maindata readFull(${size})`)
// Read the main_data from file
var result = source.readFull(size);
if (result.err) {
return {
err: result.err
}
}
var buf = result.buf;
var buf = source.readFull(size);
// var buf = new Uint8Array(source, 0, size);
if (buf.byteLength < size) {
if (buf.length < size) {
return {
b: null,
err: "maindata.Read (2)"
}
}
return {
b: bits.createNew(util.concatBuffers(vec, new Uint8Array(buf.slice()).buffer)),
// b: bits.createNew(util.concatBuffers(vec, new Uint8Array(buf.slice()).buffer)),
b: bits.createNew(util.concatBuffers(vec, new Uint8Array(buf).buffer)),
err: null
}
};

View File

@@ -73,23 +73,21 @@ var Sideinfo = {
if (fheader.protectionBit() === 0) {
main_data_size -= 2;
}
// serial.println(`sideinfo readFull(${sideinfo_size})`)
// Read sideinfo from bitstream into buffer used by Bits()
var result = source.readFull(sideinfo_size);
if (result.err) {
return {
err: result.err
}
}
var buf = result.buf;
var buf = source.readFull(sideinfo_size);
// var buf = new Uint8Array(source.buf, pos, sideinfo_size);
if (buf.byteLength < sideinfo_size) {
if (buf.length < sideinfo_size) {
return {
v: null,
pos: pos,
err: "mp3: couldn't read sideinfo " + sideinfo_size + " bytes"
}
}
var s = Bits.createNew(new Uint8Array(buf.slice()).buffer);
var s = Bits.createNew(new Uint8Array(buf).buffer);
// Parse audio data
// Pointer to where we should start reading main data