use of de.jarnbjo.ogg.OggPage in project jmonkeyengine by jMonkeyEngine.
the class CachedOggStream method readOggNextPage.
private int readOggNextPage() throws IOException {
if (eos)
return -1;
OggPage op = OggPage.create(sourceStream);
if (!op.isBos()) {
bos = true;
}
if (op.isEos()) {
eos = true;
lastPage = op;
}
LogicalOggStreamImpl los = (LogicalOggStreamImpl) logicalStreams.get(op.getStreamSerialNumber());
if (los == null) {
serialno = op.getStreamSerialNumber();
los = new LogicalOggStreamImpl(this, op.getStreamSerialNumber());
logicalStreams.put(op.getStreamSerialNumber(), los);
los.checkFormat(op);
}
los.addPageNumberMapping(pageNumber);
los.addGranulePosition(op.getAbsoluteGranulePosition());
oggPages.put(pageNumber, op);
pageNumber++;
return pageNumber - 1;
}
use of de.jarnbjo.ogg.OggPage in project jmonkeyengine by jMonkeyEngine.
the class CachedOggStream method reloadLogicalOggStream.
public LogicalOggStream reloadLogicalOggStream() {
logicalStreams.clear();
LogicalOggStreamImpl los = new LogicalOggStreamImpl(this, serialno);
logicalStreams.put(serialno, los);
for (IntMap.Entry<OggPage> entry : oggPages) {
los.addPageNumberMapping(entry.getKey());
los.addGranulePosition(entry.getValue().getAbsoluteGranulePosition());
}
return los;
}
Aggregations