Kicking it Olde Sküül! Burgerlib on Github Follow Olde Sküül on Twitter Burgerbecky on LinkedIn Burgerbecky on LinkedIn
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
Burger::DecompressMP3::XingChunk_t Struct Reference

Public Member Functions

uint_t Decode (const uint8_t *pInput)
 Decode a Xing data chunk.
 

Static Public Member Functions

static uint_t IsSignatureValid (const uint8_t *pInput)
 Test if a Xing chunk signature was valid.
 

Public Attributes

uint_t m_uFlags
 Xing header flags, see XING_* for bits.
 
uint_t m_uFrames
 Number of audio frames.
 
uint_t m_uBytes
 Number of bytes.
 
uint_t m_uQuality
 Quality (0 best, 100 worst)
 
uint_t m_uSampleRate
 Sample rate in Hz.
 
uint_t m_uHeaderSize
 Size of the VBR record in bytes.
 
int m_iEncodingDelay
 Delay in samples 0-3000 or -1 if invalid.
 
int m_iEncodingPadding
 Padding at the end of the field 0-3000 or -1 if invalid.
 
uint8_t m_TOC [cTOCEntries]
 Table of contents (Can be zeros if no TOC is present)
 

Static Public Attributes

static const uint_t cTOCEntries = 100
 < Structure for Xing format VBR data
 
static const uint_t XING_FRAMES_FLAG = 0x0001
 Frames field is present.
 
static const uint_t XING_BYTES_FLAG = 0x0002
 Bytes field is present.
 
static const uint_t XING_TOC_FLAG = 0x0004
 TOC field is present.
 
static const uint_t XING_QUALITY_FLAG = 0x0008
 Quality indicator field is present.
 
static const uintptr_t cRawHeaderSize = 194
 Number of bytes the raw stream could occupy, maximum.
 

Member Function Documentation

◆ Decode()

uint_t BURGER_API Burger::DecompressMP3::XingChunk_t::Decode ( const uint8_t * pInput)

Decode a Xing data chunk.


https://www.codeproject.com/Articles/8295/MPEG-Audio-Frame-Header

Parameters
pInputPointer to a Xing header
Returns
Zero if no error, non zero for an error code

◆ IsSignatureValid()

uint_t BURGER_API Burger::DecompressMP3::XingChunk_t::IsSignatureValid ( const uint8_t * pInput)
static

Test if a Xing chunk signature was valid.


Parameters
pInputPointer to a Xing header
Returns
TRUE if valid, FALSE if not

Member Data Documentation

◆ cRawHeaderSize

const uintptr_t Burger::DecompressMP3::XingChunk_t::cRawHeaderSize = 194
static

Number of bytes the raw stream could occupy, maximum.

◆ cTOCEntries

const uint_t Burger::DecompressMP3::XingChunk_t::cTOCEntries = 100
static

< Structure for Xing format VBR data

Maximum number of Table of Contents entries

◆ m_iEncodingDelay

int Burger::DecompressMP3::XingChunk_t::m_iEncodingDelay

Delay in samples 0-3000 or -1 if invalid.

◆ m_iEncodingPadding

int Burger::DecompressMP3::XingChunk_t::m_iEncodingPadding

Padding at the end of the field 0-3000 or -1 if invalid.

◆ m_TOC

uint8_t Burger::DecompressMP3::XingChunk_t::m_TOC[cTOCEntries]

Table of contents (Can be zeros if no TOC is present)

◆ m_uBytes

uint_t Burger::DecompressMP3::XingChunk_t::m_uBytes

Number of bytes.

◆ m_uFlags

uint_t Burger::DecompressMP3::XingChunk_t::m_uFlags

Xing header flags, see XING_* for bits.

◆ m_uFrames

uint_t Burger::DecompressMP3::XingChunk_t::m_uFrames

Number of audio frames.

◆ m_uHeaderSize

uint_t Burger::DecompressMP3::XingChunk_t::m_uHeaderSize

Size of the VBR record in bytes.

◆ m_uQuality

uint_t Burger::DecompressMP3::XingChunk_t::m_uQuality

Quality (0 best, 100 worst)

◆ m_uSampleRate

uint_t Burger::DecompressMP3::XingChunk_t::m_uSampleRate

Sample rate in Hz.

◆ XING_BYTES_FLAG

const uint_t Burger::DecompressMP3::XingChunk_t::XING_BYTES_FLAG = 0x0002
static

Bytes field is present.

◆ XING_FRAMES_FLAG

const uint_t Burger::DecompressMP3::XingChunk_t::XING_FRAMES_FLAG = 0x0001
static

Frames field is present.

◆ XING_QUALITY_FLAG

const uint_t Burger::DecompressMP3::XingChunk_t::XING_QUALITY_FLAG = 0x0008
static

Quality indicator field is present.

◆ XING_TOC_FLAG

const uint_t Burger::DecompressMP3::XingChunk_t::XING_TOC_FLAG = 0x0004
static

TOC field is present.