|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.farng.mp3.AbstractMP3FileItem
org.farng.mp3.AbstractMP3FragmentBody
org.farng.mp3.id3.AbstractID3v2FrameBody
org.farng.mp3.id3.FrameBodyRBUF
public class FrameBodyRBUF
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
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 |
---|
public FrameBodyRBUF()
public FrameBodyRBUF(FrameBodyRBUF body)
public FrameBodyRBUF(byte bufferSize, boolean embeddedInfoFlag, byte offsetToNextTag)
public FrameBodyRBUF(java.io.RandomAccessFile file) throws java.io.IOException, InvalidTagException
java.io.IOException
InvalidTagException
Method Detail |
---|
public java.lang.String getIdentifier()
getIdentifier
in class AbstractMP3FileItem
protected void setupObjectList()
AbstractMP3FragmentBody
MP3Object
objects that this body expects. This method needs to be overwritten.
setupObjectList
in class AbstractMP3FragmentBody
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |