cache: fix trackloader sometmies producing corrupt midis
OutputStream is free to internally resize its bytebuffer. Remove byte[] constructor to prevent misuse again.
This commit is contained in:
@@ -246,8 +246,7 @@ public class TrackLoader
|
|||||||
var1.skip(var25);
|
var1.skip(var25);
|
||||||
int var50 = var1.getOffset();
|
int var50 = var1.getOffset();
|
||||||
var1.skip(tempoOpcodes * 3);
|
var1.skip(tempoOpcodes * 3);
|
||||||
def.midi = new byte[offset];
|
OutputStream var51 = new OutputStream(offset);
|
||||||
OutputStream var51 = new OutputStream(def.midi);
|
|
||||||
var51.writeInt(1297377380); // MThd header
|
var51.writeInt(1297377380); // MThd header
|
||||||
var51.writeInt(6); // length of header
|
var51.writeInt(6); // length of header
|
||||||
var51.writeShort(tracks > 1 ? 1 : 0); // format
|
var51.writeShort(tracks > 1 ? 1 : 0); // format
|
||||||
@@ -457,5 +456,6 @@ public class TrackLoader
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def.midi = var51.flip();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,11 +41,6 @@ public final class OutputStream extends java.io.OutputStream
|
|||||||
this(16);
|
this(16);
|
||||||
}
|
}
|
||||||
|
|
||||||
public OutputStream(byte[] b)
|
|
||||||
{
|
|
||||||
buffer = ByteBuffer.wrap(b);
|
|
||||||
}
|
|
||||||
|
|
||||||
public byte[] getArray()
|
public byte[] getArray()
|
||||||
{
|
{
|
||||||
assert buffer.hasArray();
|
assert buffer.hasArray();
|
||||||
|
|||||||
Reference in New Issue
Block a user