Search in sources :

Example 1 with OggPage

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;
}
Also used : OggPage(de.jarnbjo.ogg.OggPage) LogicalOggStreamImpl(de.jarnbjo.ogg.LogicalOggStreamImpl)

Example 2 with OggPage

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;
}
Also used : IntMap(com.jme3.util.IntMap) OggPage(de.jarnbjo.ogg.OggPage) LogicalOggStreamImpl(de.jarnbjo.ogg.LogicalOggStreamImpl)

Aggregations

LogicalOggStreamImpl (de.jarnbjo.ogg.LogicalOggStreamImpl)2 OggPage (de.jarnbjo.ogg.OggPage)2 IntMap (com.jme3.util.IntMap)1