org.jaudiotagger.audio.ogg.util
Class OggPageHeader
java.lang.Object
org.jaudiotagger.audio.ogg.util.OggPageHeader
public class OggPageHeader
- extends java.lang.Object
$Id: OggPageHeader.java,v 1.20 2009/10/27 08:52:21 paultaylor Exp $
reference:http://xiph.org/ogg/doc/framing.html
- Version:
- 16 d�cembre 2003
- Author:
- Raphael Slinckx (KiKiDonK)
Nested Class Summary |
static class |
OggPageHeader.HeaderTypeFlag
This represents all the flags that can be set in the headerType field. |
static class |
OggPageHeader.PacketStartAndLength
Within the page specifies the start and length of each packet
in the page offset from the end of the pageheader (after the segment table) |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
logger
public static java.util.logging.Logger logger
CAPTURE_PATTERN
public static final byte[] CAPTURE_PATTERN
OGG_PAGE_HEADER_FIXED_LENGTH
public static final int OGG_PAGE_HEADER_FIXED_LENGTH
- See Also:
- Constant Field Values
MAXIMUM_NO_OF_SEGMENT_SIZE
public static final int MAXIMUM_NO_OF_SEGMENT_SIZE
- See Also:
- Constant Field Values
MAXIMUM_SEGMENT_SIZE
public static final int MAXIMUM_SEGMENT_SIZE
- See Also:
- Constant Field Values
MAXIMUM_PAGE_HEADER_SIZE
public static final int MAXIMUM_PAGE_HEADER_SIZE
- See Also:
- Constant Field Values
MAXIMUM_PAGE_DATA_SIZE
public static final int MAXIMUM_PAGE_DATA_SIZE
- See Also:
- Constant Field Values
MAXIMUM_PAGE_SIZE
public static final int MAXIMUM_PAGE_SIZE
- See Also:
- Constant Field Values
FIELD_CAPTURE_PATTERN_POS
public static final int FIELD_CAPTURE_PATTERN_POS
- See Also:
- Constant Field Values
FIELD_STREAM_STRUCTURE_VERSION_POS
public static final int FIELD_STREAM_STRUCTURE_VERSION_POS
- See Also:
- Constant Field Values
FIELD_HEADER_TYPE_FLAG_POS
public static final int FIELD_HEADER_TYPE_FLAG_POS
- See Also:
- Constant Field Values
FIELD_ABSOLUTE_GRANULE_POS
public static final int FIELD_ABSOLUTE_GRANULE_POS
- See Also:
- Constant Field Values
FIELD_STREAM_SERIAL_NO_POS
public static final int FIELD_STREAM_SERIAL_NO_POS
- See Also:
- Constant Field Values
FIELD_PAGE_SEQUENCE_NO_POS
public static final int FIELD_PAGE_SEQUENCE_NO_POS
- See Also:
- Constant Field Values
FIELD_PAGE_CHECKSUM_POS
public static final int FIELD_PAGE_CHECKSUM_POS
- See Also:
- Constant Field Values
FIELD_PAGE_SEGMENTS_POS
public static final int FIELD_PAGE_SEGMENTS_POS
- See Also:
- Constant Field Values
FIELD_SEGMENT_TABLE_POS
public static final int FIELD_SEGMENT_TABLE_POS
- See Also:
- Constant Field Values
FIELD_CAPTURE_PATTERN_LENGTH
public static final int FIELD_CAPTURE_PATTERN_LENGTH
- See Also:
- Constant Field Values
FIELD_STREAM_STRUCTURE_VERSION_LENGTH
public static final int FIELD_STREAM_STRUCTURE_VERSION_LENGTH
- See Also:
- Constant Field Values
FIELD_HEADER_TYPE_FLAG_LENGTH
public static final int FIELD_HEADER_TYPE_FLAG_LENGTH
- See Also:
- Constant Field Values
FIELD_ABSOLUTE_GRANULE_LENGTH
public static final int FIELD_ABSOLUTE_GRANULE_LENGTH
- See Also:
- Constant Field Values
FIELD_STREAM_SERIAL_NO_LENGTH
public static final int FIELD_STREAM_SERIAL_NO_LENGTH
- See Also:
- Constant Field Values
FIELD_PAGE_SEQUENCE_NO_LENGTH
public static final int FIELD_PAGE_SEQUENCE_NO_LENGTH
- See Also:
- Constant Field Values
FIELD_PAGE_CHECKSUM_LENGTH
public static final int FIELD_PAGE_CHECKSUM_LENGTH
- See Also:
- Constant Field Values
FIELD_PAGE_SEGMENTS_LENGTH
public static final int FIELD_PAGE_SEGMENTS_LENGTH
- See Also:
- Constant Field Values
rawHeaderData
private byte[] rawHeaderData
absoluteGranulePosition
private double absoluteGranulePosition
checksum
private int checksum
headerTypeFlag
private byte headerTypeFlag
isValid
private boolean isValid
pageLength
private int pageLength
pageSequenceNumber
private int pageSequenceNumber
streamSerialNumber
private int streamSerialNumber
segmentTable
private byte[] segmentTable
packetList
private java.util.List<OggPageHeader.PacketStartAndLength> packetList
lastPacketIncomplete
private boolean lastPacketIncomplete
OggPageHeader
public OggPageHeader(byte[] b)
read
public static OggPageHeader read(java.nio.ByteBuffer byteBuffer)
throws java.io.IOException,
CannotReadException
- Read next PageHeader from Buffer
- Parameters:
byteBuffer
-
- Returns:
-
- Throws:
java.io.IOException
CannotReadException
read
public static OggPageHeader read(java.io.RandomAccessFile raf)
throws java.io.IOException,
CannotReadException
- Read next PageHeader from file
- Parameters:
raf
-
- Returns:
-
- Throws:
java.io.IOException
CannotReadException
u
private int u(int i)
isLastPacketIncomplete
public boolean isLastPacketIncomplete()
- Returns:
- true if the last packet on this page extends to the next page
getAbsoluteGranulePosition
public double getAbsoluteGranulePosition()
getCheckSum
public int getCheckSum()
getHeaderType
public byte getHeaderType()
getPageLength
public int getPageLength()
getPageSequence
public int getPageSequence()
getSerialNumber
public int getSerialNumber()
getSegmentTable
public byte[] getSegmentTable()
isValid
public boolean isValid()
getPacketList
public java.util.List<OggPageHeader.PacketStartAndLength> getPacketList()
- Returns:
- a list of packet start position and size within this page.
getRawHeaderData
public byte[] getRawHeaderData()
- Returns:
- the raw header data that this pageheader is derived from
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object