Class Bitstream

java.lang.Object
javazoom.jl.decoder.Bitstream
All Implemented Interfaces:
BitstreamErrors, JavaLayerErrors

public final class Bitstream extends Object implements BitstreamErrors
The Bistream class is responsible for parsing an MPEG audio bitstream. REVIEW: much of the parsing currently occurs in the various decoders. This should be moved into this class and associated inner classes.
  • Constructor Details

    • Bitstream

      public Bitstream(InputStream in)
      Construct a IBitstream that reads data from a given InputStream.
      Parameters:
      in - The InputStream to read from.
  • Method Details

    • header_pos

      public int header_pos()
      Return position of the first audio header.
      Returns:
      size of ID3v2 tag frames.
    • getRawID3v2

      public InputStream getRawID3v2()
      Return raw ID3v2 frames + header.
      Returns:
      ID3v2 InputStream or null if ID3v2 frames are not available.
    • close

      public void close() throws BitstreamException
      Close the Bitstream.
      Throws:
      BitstreamException
    • readFrame

      public Header readFrame() throws BitstreamException
      Reads and parses the next frame from the input source.
      Returns:
      the Header describing details of the frame read, or null if the end of the stream has been reached.
      Throws:
      BitstreamException
    • unreadFrame

      public void unreadFrame() throws BitstreamException
      Unreads the bytes read from the frame.
      Throws:
      BitstreamException
    • closeFrame

      public void closeFrame()
      Close MP3 frame.
    • isSyncCurrentPosition

      public boolean isSyncCurrentPosition(int syncmode) throws BitstreamException
      Determines if the next 4 bytes of the stream represent a frame header.
      Throws:
      BitstreamException
    • readBits

      public int readBits(int n)
    • readCheckedBits

      public int readCheckedBits(int n)
    • newBitstreamException

      protected BitstreamException newBitstreamException(int errorcode)
    • newBitstreamException

      protected BitstreamException newBitstreamException(int errorcode, Throwable throwable)
    • isSyncMark

      public boolean isSyncMark(int headerstring, int syncmode, int word)
    • get_bits

      public int get_bits(int number_of_bits)
      Read bits from buffer into the lower bits of an unsigned int. The LSB contains the latest read bit of the stream. (1 invalid input: '<'= number_of_bits invalid input: '<'= 16)