org.jaudiotagger.audio.ogg.util
Class VorbisIdentificationHeader

java.lang.Object
  extended by org.jaudiotagger.audio.ogg.util.VorbisIdentificationHeader
All Implemented Interfaces:
VorbisHeader

public class VorbisIdentificationHeader
extends java.lang.Object
implements VorbisHeader

Vorbis Identification header

From http://xiph.org/vorbis/doc/Vorbis_I_spec.html#id326710

The identification header is a short header of only a few fields used to declare the stream definitively as Vorbis, and provide a few externally relevant pieces of information about the audio stream. The identification header is coded as follows:

1) [vorbis_version] = read 32 bits as unsigned integer 2) [audio_channels] = read 8 bit integer as unsigned 3) [audio_sample_rate] = read 32 bits as unsigned integer 4) [bitrate_maximum] = read 32 bits as signed integer 5) [bitrate_nominal] = read 32 bits as signed integer 6) [bitrate_minimum] = read 32 bits as signed integer 7) [blocksize_0] = 2 exponent (read 4 bits as unsigned integer) 8) [blocksize_1] = 2 exponent (read 4 bits as unsigned integer) 9) [framing_flag] = read one bit

$Id: VorbisIdentificationHeader.java,v 1.8 2009/09/03 09:19:13 paultaylor Exp $

Version:
16 d�cembre 2003
Author:
Raphael Slinckx (KiKiDonK)

Field Summary
private  int audioChannels
           
private  int audioSampleRate
           
private  int bitrateMaximal
           
private  int bitrateMinimal
           
private  int bitrateNominal
           
static int FIELD_AUDIO_CHANNELS_LENGTH
           
static int FIELD_AUDIO_CHANNELS_POS
           
static int FIELD_AUDIO_SAMPLE_RATE_LENGTH
           
static int FIELD_AUDIO_SAMPLE_RATE_POS
           
static int FIELD_BITRATE_MAX_LENGTH
           
static int FIELD_BITRATE_MAX_POS
           
static int FIELD_BITRATE_MIN_LENGTH
           
static int FIELD_BITRATE_MIN_POS
           
static int FIELD_BITRATE_NOMAIML_LENGTH
           
static int FIELD_BITRATE_NOMAIML_POS
           
static int FIELD_BLOCKSIZE_LENGTH
           
static int FIELD_BLOCKSIZE_POS
           
static int FIELD_FRAMING_FLAG_LENGTH
           
static int FIELD_FRAMING_FLAG_POS
           
static int FIELD_VORBIS_VERSION_LENGTH
           
static int FIELD_VORBIS_VERSION_POS
           
private  boolean isValid
           
static java.util.logging.Logger logger
           
private  int vorbisVersion
           
 
Fields inherited from interface org.jaudiotagger.audio.ogg.util.VorbisHeader
CAPTURE_PATTERN, CAPTURE_PATTERN_AS_BYTES, CHARSET_UTF_8, FIELD_CAPTURE_PATTERN_LENGTH, FIELD_CAPTURE_PATTERN_POS, FIELD_PACKET_TYPE_LENGTH, FIELD_PACKET_TYPE_POS
 
Constructor Summary
VorbisIdentificationHeader(byte[] vorbisData)
           
 
Method Summary
 void decodeHeader(byte[] b)
           
 int getChannelNumber()
           
 java.lang.String getEncodingType()
           
 int getMaxBitrate()
           
 int getMinBitrate()
           
 int getNominalBitrate()
           
 int getSamplingRate()
           
 boolean isValid()
           
private  int u(int i)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

public static java.util.logging.Logger logger

audioChannels

private int audioChannels

isValid

private boolean isValid

vorbisVersion

private int vorbisVersion

audioSampleRate

private int audioSampleRate

bitrateMinimal

private int bitrateMinimal

bitrateNominal

private int bitrateNominal

bitrateMaximal

private int bitrateMaximal

FIELD_VORBIS_VERSION_POS

public static final int FIELD_VORBIS_VERSION_POS
See Also:
Constant Field Values

FIELD_AUDIO_CHANNELS_POS

public static final int FIELD_AUDIO_CHANNELS_POS
See Also:
Constant Field Values

FIELD_AUDIO_SAMPLE_RATE_POS

public static final int FIELD_AUDIO_SAMPLE_RATE_POS
See Also:
Constant Field Values

FIELD_BITRATE_MAX_POS

public static final int FIELD_BITRATE_MAX_POS
See Also:
Constant Field Values

FIELD_BITRATE_NOMAIML_POS

public static final int FIELD_BITRATE_NOMAIML_POS
See Also:
Constant Field Values

FIELD_BITRATE_MIN_POS

public static final int FIELD_BITRATE_MIN_POS
See Also:
Constant Field Values

FIELD_BLOCKSIZE_POS

public static final int FIELD_BLOCKSIZE_POS
See Also:
Constant Field Values

FIELD_FRAMING_FLAG_POS

public static final int FIELD_FRAMING_FLAG_POS
See Also:
Constant Field Values

FIELD_VORBIS_VERSION_LENGTH

public static final int FIELD_VORBIS_VERSION_LENGTH
See Also:
Constant Field Values

FIELD_AUDIO_CHANNELS_LENGTH

public static final int FIELD_AUDIO_CHANNELS_LENGTH
See Also:
Constant Field Values

FIELD_AUDIO_SAMPLE_RATE_LENGTH

public static final int FIELD_AUDIO_SAMPLE_RATE_LENGTH
See Also:
Constant Field Values

FIELD_BITRATE_MAX_LENGTH

public static final int FIELD_BITRATE_MAX_LENGTH
See Also:
Constant Field Values

FIELD_BITRATE_NOMAIML_LENGTH

public static final int FIELD_BITRATE_NOMAIML_LENGTH
See Also:
Constant Field Values

FIELD_BITRATE_MIN_LENGTH

public static final int FIELD_BITRATE_MIN_LENGTH
See Also:
Constant Field Values

FIELD_BLOCKSIZE_LENGTH

public static final int FIELD_BLOCKSIZE_LENGTH
See Also:
Constant Field Values

FIELD_FRAMING_FLAG_LENGTH

public static final int FIELD_FRAMING_FLAG_LENGTH
See Also:
Constant Field Values
Constructor Detail

VorbisIdentificationHeader

public VorbisIdentificationHeader(byte[] vorbisData)
Method Detail

getChannelNumber

public int getChannelNumber()

getEncodingType

public java.lang.String getEncodingType()

getSamplingRate

public int getSamplingRate()

getNominalBitrate

public int getNominalBitrate()

getMaxBitrate

public int getMaxBitrate()

getMinBitrate

public int getMinBitrate()

isValid

public boolean isValid()

decodeHeader

public void decodeHeader(byte[] b)

u

private int u(int i)