public class XingFrame extends Object
In some MP3s which variable bit rate the first frame in the file contains a special frame called a Xing Frame, instead of audio data. This is used to store additional information about the file. The most important aspect for this library is details allowing us to determine the bitrate of a Variable Bit Rate VBR file without having to process the whole file. Xing VBR Tag data format is 120 bytes long 4 bytes for Header Tag 4 bytes for Header Flags 4 bytes for FRAME SIZE 4 bytes for AUDIO_SIZE 100 bytes for entry (NUMTOCENTRIES) 4 bytes for VBR SCALE. a VBR quality indicator: 0=best 100=worst It my then contain a Lame Frame ( a Lame frame is in essence an extended Xing Frame
Modifier and Type | Field and Description |
---|---|
static int |
MAX_BUFFER_SIZE_NEEDED_TO_READ_XING |
Modifier and Type | Method and Description |
---|---|
int |
getAudioSize() |
int |
getFrameCount() |
LameFrame |
getLameFrame() |
boolean |
isAudioSizeEnabled() |
boolean |
isFrameCountEnabled() |
boolean |
isVbr()
Is this XingFrame detailing a variable bit rate MPEG
|
static ByteBuffer |
isXingFrame(ByteBuffer bb,
MPEGFrameHeader mpegFrameHeader)
IS this a Xing frame
|
static XingFrame |
parseXingFrame(ByteBuffer header)
Parse the XingFrame of an MP3File, cannot be called until we have validated that
this is a XingFrame
|
String |
toString() |
public static final int MAX_BUFFER_SIZE_NEEDED_TO_READ_XING
public LameFrame getLameFrame()
public final boolean isFrameCountEnabled()
public final int getFrameCount()
public final boolean isAudioSizeEnabled()
public final int getAudioSize()
public static XingFrame parseXingFrame(ByteBuffer header) throws InvalidAudioFrameException
InvalidAudioFrameException
public static ByteBuffer isXingFrame(ByteBuffer bb, MPEGFrameHeader mpegFrameHeader)
bb
- mpegFrameHeader
- public final boolean isVbr()
Copyright © 2005–2020 jthink.net. All rights reserved.