The buffering of the imput stream was removed and replaced by using mark() on the input stream. This CAN NOT WORK because of the following reasons:
1. mark() may be called by the TextureStreamLoaders
2. the stream is not reset() after a TextureStreamLoaders was called.
This will lead to an invalid stream position when a TextureStreamLoaders was not able to decode the stream.
I checked this thing. And now I remember exactly, why I decided to change this. And it should not be a problem. I modified the ZIP loader to solve the above problem.
The buffering of the imput stream was removed and replaced by using mark() on the input stream. This CAN NOT WORK because of the following reasons:
It can

.
1. mark() may be called by the TextureStreamLoaders
We can handle to not do this. So far it isn't.
2. the stream is not reset() after a TextureStreamLoaders was called.
This will lead to an invalid stream position when a TextureStreamLoaders was not able to decode the stream.
It is called by the TextureStreamLoader implementation in case it wasn't able to decode the stream. So the stream position is valid for any subsequent call of a TextureStramLoader and is irrelevant, if the the stream could be decoded.
So it should not be a problem and is faster, because the stream is not copied into a byte array. And if the byte array stream reader calls mark(), it could lead to problems, if it couldn't decode the stream and other loaders depend on the mark / reset system.
So the current solution should be faster
and safer in any case.
Do you agree?
Marvin