Top Inners Fields Constructors Methods
com.jcraft.jorbis

public Class VorbisFile

extends Object
Class Inheritance
Imports
com.jcraft.jogg.*, java.io.InputStream, .IOException

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv class

Field Summary

Modifier and TypeField and Description
pack-priv float
pack-priv static final int
pack-priv int
pack-priv int
pack-priv long[]
pack-priv InputStream
pack-priv boolean
pack-priv long
pack-priv int
pack-priv long
pack-priv long[]
pack-priv StreamState
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv SyncState
pack-priv long
pack-priv long[]
pack-priv float
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv boolean
pack-priv int[]
pack-priv Block
pack-priv Comment[]
pack-priv DspState
pack-priv Info[]

Constructor Summary

AccessConstructor and Description
public
public
VorbisFile(InputStream is, byte[] initial, int ibytes)

Method Summary

Modifier and TypeMethod and Description
pack-priv int
bisect_forward_serialno(long begin, long searched, long end, int currentno, int m)

public int
bitrate(int i)

public int
pack-priv int
public void
pack-priv void
pack-priv int
fetch_headers(Info vi, Comment vc, int[] serialno, Page og_ptr)

pack-priv static int
fseek(InputStream fis, long off, int whence)

pack-priv static long
private int
private int
get_next_page(Page page, long boundary)

private int
public Comment
getComment(int link)

public Comment[]
public Info
getInfo(int link)

public Info[]
pack-priv int
private int
pack-priv int
open(InputStream is, byte[] initial, int ibytes)

pack-priv int
open_callbacks(InputStream is, byte[] initial, int ibytes)

pack-priv int
pack-priv int
public int
pcm_seek(long pos)

public long
public long
pcm_total(int i)

pack-priv void
prefetch_all_headers(Info first_i, Comment first_c, int dataoffset)

pack-priv int
process_packet(int readp)

public int
raw_seek(int pos)

public long
public long
raw_total(int i)

pack-priv int
read(byte[] buffer, int length, int bigendianp, int word, int sgned, int[] bitstream)

private void
seek_helper(long offst)

public boolean
public int
serialnumber(int i)

public int
pack-priv int
time_seek(float seconds)

public float
public float
time_total(int i)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

bittrackback to summary
pack-priv float bittrack
CHUNKSIZEback to summary
pack-priv static final int CHUNKSIZE
current_serialnoback to summary
pack-priv int current_serialno
dataoffsetsback to summary
pack-priv long[] dataoffsets
datasourceback to summary
pack-priv InputStream datasource
decode_readyback to summary
pack-priv boolean decode_ready
endback to summary
pack-priv long end
offsetback to summary
pack-priv long offset
offsetsback to summary
pack-priv long[] offsets
osback to summary
pack-priv StreamState os
OV_EBADHEADERback to summary
pack-priv static final int OV_EBADHEADER
OV_EBADPACKETback to summary
pack-priv static final int OV_EBADPACKET
OV_EFAULTback to summary
pack-priv static final int OV_EFAULT
OV_EIMPLback to summary
pack-priv static final int OV_EIMPL
OV_EINVALback to summary
pack-priv static final int OV_EINVAL
OV_ENOSEEKback to summary
pack-priv static final int OV_ENOSEEK
OV_ENOTAUDIOback to summary
pack-priv static final int OV_ENOTAUDIO
OV_ENOTVORBISback to summary
pack-priv static final int OV_ENOTVORBIS
OV_EOFback to summary
pack-priv static final int OV_EOF
OV_EREADback to summary
pack-priv static final int OV_EREAD
OV_EVERSIONback to summary
pack-priv static final int OV_EVERSION
OV_FALSEback to summary
pack-priv static final int OV_FALSE
OV_HOLEback to summary
pack-priv static final int OV_HOLE
oyback to summary
pack-priv SyncState oy
pcm_offsetback to summary
pack-priv long pcm_offset
pcmlengthsback to summary
pack-priv long[] pcmlengths
samptrackback to summary
pack-priv float samptrack
SEEK_CURback to summary
pack-priv static final int SEEK_CUR
SEEK_ENDback to summary
pack-priv static final int SEEK_END
SEEK_SETback to summary
pack-priv static final int SEEK_SET
seekableback to summary
pack-priv boolean seekable
serialnosback to summary
pack-priv int[] serialnos
vbback to summary
pack-priv Block vb
vcback to summary
pack-priv Comment[] vc
vdback to summary
pack-priv DspState vd
viback to summary
pack-priv Info[] vi

Constructor Detail

VorbisFileback to summary
public VorbisFile(String file) throws JOrbisException
VorbisFileback to summary
public VorbisFile(InputStream is, byte[] initial, int ibytes) throws JOrbisException

Method Detail

bisect_forward_serialnoback to summary
pack-priv int bisect_forward_serialno(long begin, long searched, long end, int currentno, int m)
bitrateback to summary
public int bitrate(int i)
bitrate_instantback to summary
public int bitrate_instant()
clearback to summary
pack-priv int clear()
closeback to summary
public void close() throws IOException
decode_clearback to summary
pack-priv void decode_clear()
fetch_headersback to summary
pack-priv int fetch_headers(Info vi, Comment vc, int[] serialno, Page og_ptr)
fseekback to summary
pack-priv static int fseek(InputStream fis, long off, int whence)
ftellback to summary
pack-priv static long ftell(InputStream fis)
get_databack to summary
private int get_data()
get_next_pageback to summary
private int get_next_page(Page page, long boundary)
get_prev_pageback to summary
private int get_prev_page(Page page) throws JOrbisException
getCommentback to summary
public Comment getComment(int link)
getCommentback to summary
public Comment[] getComment()
getInfoback to summary
public Info getInfo(int link)
getInfoback to summary
public Info[] getInfo()
host_is_big_endianback to summary
pack-priv int host_is_big_endian()
make_decode_readyback to summary
private int make_decode_ready()
openback to summary
pack-priv int open(InputStream is, byte[] initial, int ibytes) throws JOrbisException
open_callbacksback to summary
pack-priv int open_callbacks(InputStream is, byte[] initial, int ibytes) throws JOrbisException
open_nonseekableback to summary
pack-priv int open_nonseekable()
open_seekableback to summary
pack-priv int open_seekable() throws JOrbisException
pcm_seekback to summary
public int pcm_seek(long pos)
pcm_tellback to summary
public long pcm_tell()
pcm_totalback to summary
public long pcm_total(int i)
prefetch_all_headersback to summary
pack-priv void prefetch_all_headers(Info first_i, Comment first_c, int dataoffset) throws JOrbisException
process_packetback to summary
pack-priv int process_packet(int readp)
raw_seekback to summary
public int raw_seek(int pos)
raw_tellback to summary
public long raw_tell()
raw_totalback to summary
public long raw_total(int i)
readback to summary
pack-priv int read(byte[] buffer, int length, int bigendianp, int word, int sgned, int[] bitstream)
seek_helperback to summary
private void seek_helper(long offst)
seekableback to summary
public boolean seekable()
serialnumberback to summary
public int serialnumber(int i)
streamsback to summary
public int streams()
time_seekback to summary
pack-priv int time_seek(float seconds)
time_tellback to summary
public float time_tell()
time_totalback to summary
public float time_total(int i)
com.jcraft.jorbis back to summary

pack-priv Class VorbisFile.SeekableInputStream

extends InputStream
Class Inheritance

Field Summary

Modifier and TypeField and Description
pack-priv final String
pack-priv RandomAccessFile

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public int
available()

Overrides java.io.InputStream.available.

Returns an estimate of the number of bytes that can be read (or skipped over) from this input stream without blocking, which may be 0, or 0 when end of stream is detected.
public void
close()

Overrides java.io.InputStream.close.

Implements java.io.Closeable.close.

Closes this input stream and releases any system resources associated with the stream.
public long
public synchronized void
mark(int
the maximum limit of bytes that can be read before the mark position becomes invalid.
m
)

Overrides java.io.InputStream.mark.

Marks the current position in this input stream.
public boolean
markSupported()

Overrides java.io.InputStream.markSupported.

Tests if this input stream supports the mark and reset methods.
public int
read()

Implements abstract java.io.InputStream.read.

Reads the next byte of data from the input stream.
public int
read(byte[]
the buffer into which the data is read.
buf
)

Overrides java.io.InputStream.read.

Reads some number of bytes from the input stream and stores them into the buffer array b.
public int
read(byte[]
the buffer into which the data is read.
buf
,
int
the start offset in array b at which the data is written.
s
,
int
the maximum number of bytes to read.
len
)

Overrides java.io.InputStream.read.

Reads up to len bytes of data from the input stream into an array of bytes.
public synchronized void
reset()

Overrides java.io.InputStream.reset.

Repositions this stream to the position at the time the mark method was last called on this input stream.
public void
seek(long pos)

public long
skip(long
the number of bytes to be skipped.
n
)

Overrides java.io.InputStream.skip.

Skips over and discards n bytes of data from this input stream.
public long
tell()

Inherited from java.io.InputStream:
nullInputStreamreadAllBytesreadNBytesreadNBytesskipNBytestransferTo

Field Detail

modeback to summary
pack-priv final String mode
rafback to summary
pack-priv RandomAccessFile raf

Constructor Detail

SeekableInputStreamback to summary
pack-priv SeekableInputStream(String file) throws IOException

Method Detail

availableback to summary
public int available() throws IOException

Overrides java.io.InputStream.available.

Doc from java.io.InputStream.available.

Returns an estimate of the number of bytes that can be read (or skipped over) from this input stream without blocking, which may be 0, or 0 when end of stream is detected. The read might be on the same thread or another thread. A single read or skip of this many bytes will not block, but may read or skip fewer bytes.

Note that while some implementations of InputStream will return the total number of bytes in the stream, many will not. It is never correct to use the return value of this method to allocate a buffer intended to hold all data in this stream.

A subclass's implementation of this method may choose to throw an IOException if this input stream has been closed by invoking the close() method.

Returns:int

an estimate of the number of bytes that can be read (or skipped over) from this input stream without blocking or 0 when it reaches the end of the input stream.

Exceptions
IOException:
if an I/O error occurs.
closeback to summary
public void close() throws IOException

Overrides java.io.InputStream.close.

Implements java.io.Closeable.close.

Doc from java.io.InputStream.close.

Closes this input stream and releases any system resources associated with the stream.

Exceptions
IOException:
if an I/O error occurs.
getLengthback to summary
public long getLength() throws IOException
markback to summary
public synchronized void mark(int m)

Overrides java.io.InputStream.mark.

Doc from java.io.InputStream.mark.

Marks the current position in this input stream. A subsequent call to the reset method repositions this stream at the last marked position so that subsequent reads re-read the same bytes.

The readlimit arguments tells this input stream to allow that many bytes to be read before the mark position gets invalidated.

The general contract of mark is that, if the method markSupported returns true, the stream somehow remembers all the bytes read after the call to mark and stands ready to supply those same bytes again if and whenever the method reset is called. However, the stream is not required to remember any data at all if more than readlimit bytes are read from the stream before reset is called.

Marking a closed stream should not have any effect on the stream.

Parameters
m:int

the maximum limit of bytes that can be read before the mark position becomes invalid.

markSupportedback to summary
public boolean markSupported()

Overrides java.io.InputStream.markSupported.

Doc from java.io.InputStream.markSupported.

Tests if this input stream supports the mark and reset methods. Whether or not mark and reset are supported is an invariant property of a particular input stream instance.

Returns:boolean

true if this stream instance supports the mark and reset methods; false otherwise.

readback to summary
public int read() throws IOException

Implements abstract java.io.InputStream.read.

Doc from java.io.InputStream.read.

Reads the next byte of data from the input stream. The value byte is returned as an int in the range 0 to 255. If no byte is available because the end of the stream has been reached, the value -1 is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.

Returns:int

the next byte of data, or -1 if the end of the stream is reached.

Exceptions
IOException:
if an I/O error occurs.
readback to summary
public int read(byte[] buf) throws IOException

Overrides java.io.InputStream.read.

Doc from java.io.InputStream.read.

Reads some number of bytes from the input stream and stores them into the buffer array b. The number of bytes actually read is returned as an integer. This method blocks until input data is available, end of file is detected, or an exception is thrown.

If the length of b is zero, then no bytes are read and 0 is returned; otherwise, there is an attempt to read at least one byte. If no byte is available because the stream is at the end of the file, the value -1 is returned; otherwise, at least one byte is read and stored into b.

The first byte read is stored into element b[0], the next one into b[1], and so on. The number of bytes read is, at most, equal to the length of b. Let k be the number of bytes actually read; these bytes will be stored in elements b[0] through b[k-1], leaving elements b[k] through b[b.length-1] unaffected.

Parameters
buf:byte[]

the buffer into which the data is read.

Returns:int

the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached.

Exceptions
IOException:
If the first byte cannot be read for any reason other than the end of the file, if the input stream has been closed, or if some other I/O error occurs.
readback to summary
public int read(byte[] buf, int s, int len) throws IOException

Overrides java.io.InputStream.read.

Doc from java.io.InputStream.read.

Reads up to len bytes of data from the input stream into an array of bytes. An attempt is made to read as many as len bytes, but a smaller number may be read. The number of bytes actually read is returned as an integer.

This method blocks until input data is available, end of file is detected, or an exception is thrown.

If len is zero, then no bytes are read and 0 is returned; otherwise, there is an attempt to read at least one byte. If no byte is available because the stream is at end of file, the value -1 is returned; otherwise, at least one byte is read and stored into b.

The first byte read is stored into element b[off], the next one into b[off+1], and so on. The number of bytes read is, at most, equal to len. Let k be the number of bytes actually read; these bytes will be stored in elements b[off] through b[off+k-1], leaving elements b[off+k] through b[off+len-1] unaffected.

In every case, elements b[0] through b[off-1] and elements b[off+len] through b[b.length-1] are unaffected.

Parameters
buf:byte[]

the buffer into which the data is read.

s:int

the start offset in array b at which the data is written.

len:int

the maximum number of bytes to read.

Returns:int

the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached.

Exceptions
IOException:
If the first byte cannot be read for any reason other than end of file, or if the input stream has been closed, or if some other I/O error occurs.
resetback to summary
public synchronized void reset() throws IOException

Overrides java.io.InputStream.reset.

Doc from java.io.InputStream.reset.

Repositions this stream to the position at the time the mark method was last called on this input stream.

The general contract of reset is:

  • If the method markSupported returns true, then:
    • If the method mark has not been called since the stream was created, or the number of bytes read from the stream since mark was last called is larger than the argument to mark at that last call, then an IOException might be thrown.
    • If such an IOException is not thrown, then the stream is reset to a state such that all the bytes read since the most recent call to mark (or since the start of the file, if mark has not been called) will be resupplied to subsequent callers of the read method, followed by any bytes that otherwise would have been the next input data as of the time of the call to reset.
  • If the method markSupported returns false, then:
    • The call to reset may throw an IOException.
    • If an IOException is not thrown, then the stream is reset to a fixed state that depends on the particular type of the input stream and how it was created. The bytes that will be supplied to subsequent callers of the read method depend on the particular type of the input stream.
Exceptions
IOException:
if this stream has not been marked or if the mark has been invalidated.
seekback to summary
public void seek(long pos) throws IOException
skipback to summary
public long skip(long n) throws IOException

Overrides java.io.InputStream.skip.

Doc from java.io.InputStream.skip.

Skips over and discards n bytes of data from this input stream. The skip method may, for a variety of reasons, end up skipping over some smaller number of bytes, possibly 0. This may result from any of a number of conditions; reaching end of file before n bytes have been skipped is only one possibility. The actual number of bytes skipped is returned. If n is negative, the skip method for class InputStream always returns 0, and no bytes are skipped. Subclasses may handle the negative value differently.

Parameters
n:long

the number of bytes to be skipped.

Returns:long

the actual number of bytes skipped which might be zero.

Exceptions
IOException:
if an I/O error occurs.
tellback to summary
public long tell() throws IOException