org.farng.mp3.id3
Class FrameBodyRBUF

java.lang.Object
  extended by org.farng.mp3.AbstractMP3FileItem
      extended by org.farng.mp3.AbstractMP3FragmentBody
          extended by org.farng.mp3.id3.AbstractID3v2FrameBody
              extended by org.farng.mp3.id3.FrameBodyRBUF
All Implemented Interfaces:
MP3MetadataContainer

public class FrameBodyRBUF
extends AbstractID3v2FrameBody

4.18.   Recommended buffer size

   Sometimes the server from which an audio file is streamed is aware of
   transmission or coding problems resulting in interruptions in the
   audio stream. In these cases, the size of the buffer can be
   recommended by the server using this frame. If the 'embedded info

   flag' is true (1) then this indicates that an ID3 tag with the
   maximum size described in 'Buffer size' may occur in the audio
   stream. In such case the tag should reside between two MPEG [MPEG]
   frames, if the audio is MPEG encoded. If the position of the next tag
   is known, 'offset to next tag' may be used. The offset is calculated

   from the end of tag in which this frame resides to the first byte of
   the header in the next. This field may be omitted. Embedded tags are
   generally not recommended since this could render unpredictable
   behaviour from present software/hardware.

   For applications like streaming audio it might be an idea to embed
   tags into the audio stream though. If the clients connects to
   individual connections like HTTP and there is a possibility to begin
   every transmission with a tag, then this tag should include a
   'recommended buffer size' frame. If the client is connected to a

   arbitrary point in the stream, such as radio or multicast, then the
   'recommended buffer size' frame SHOULD be included in every tag.

   The 'Buffer size' should be kept to a minimum. There may only be one
   "RBUF" frame in each tag.

     <Header for 'Recommended buffer size', ID: "RBUF">
     Buffer size               $xx xx xx
     Embedded info flag        %0000000x

     Offset to next tag        $xx xx xx xx

Version:
$Revision: 3 $
Author:
Eric Farng

Constructor Summary
FrameBodyRBUF()
          Creates a new FrameBodyRBUF object.
FrameBodyRBUF(byte bufferSize, boolean embeddedInfoFlag, byte offsetToNextTag)
          Creates a new FrameBodyRBUF object.
FrameBodyRBUF(FrameBodyRBUF body)
          Creates a new FrameBodyRBUF object.
FrameBodyRBUF(java.io.RandomAccessFile file)
          Creates a new FrameBodyRBUF object.
 
Method Summary
 java.lang.String getIdentifier()
           
protected  void setupObjectList()
          Create the order of MP3Object objects that this body expects.
 
Methods inherited from class org.farng.mp3.id3.AbstractID3v2FrameBody
equals, readHeader, writeHeader
 
Methods inherited from class org.farng.mp3.AbstractMP3FragmentBody
appendToObjectList, getBriefDescription, getDescription, getObject, getObjectListIterator, getSize, has6ByteHeader, isSubsetOf, iterator, read, setObject, toString, write
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FrameBodyRBUF

public FrameBodyRBUF()
Creates a new FrameBodyRBUF object.


FrameBodyRBUF

public FrameBodyRBUF(FrameBodyRBUF body)
Creates a new FrameBodyRBUF object.


FrameBodyRBUF

public FrameBodyRBUF(byte bufferSize,
                     boolean embeddedInfoFlag,
                     byte offsetToNextTag)
Creates a new FrameBodyRBUF object.


FrameBodyRBUF

public FrameBodyRBUF(java.io.RandomAccessFile file)
              throws java.io.IOException,
                     InvalidTagException
Creates a new FrameBodyRBUF object.

Throws:
java.io.IOException
InvalidTagException
Method Detail

getIdentifier

public java.lang.String getIdentifier()
Specified by:
getIdentifier in class AbstractMP3FileItem

setupObjectList

protected void setupObjectList()
Description copied from class: AbstractMP3FragmentBody
Create the order of MP3Object objects that this body expects. This method needs to be overwritten.

Specified by:
setupObjectList in class AbstractMP3FragmentBody