Kicking it Olde Sküül! Burgerlib on Github Follow Olde Sküül on Twitter Burgerbecky on LinkedIn Burgerbecky on LinkedIn
Loading...
Searching...
No Matches
Burger::DecompressULaw Class Reference

Process audio data compressed with ULaw. More...

Inheritance diagram for Burger::DecompressULaw:
Collaboration diagram for Burger::DecompressULaw:

Public Member Functions

const Burger::StaticRTTIget_StaticRTTI (void) const noexcept override
 Get the description to the class.
 
 DecompressULaw ()
 Default constructor.
 
eError Reset (void) override
 Resets the decompresser to defaults.
 
eError Process (void *pOutput, uintptr_t uOutputChunkSize, const void *pInput, uintptr_t uInputChunkLength) override
 Decompress audio data using ulaw.
 
- Public Member Functions inherited from Burger::DecompressAudio
SoundManager::eDataType GetDataType (void) const
 Returns the uncompressed data type this codec will output.
 
void SetMono (void)
 Alert the decompression codec to create a single audio channel.
 
void SetStereo (void)
 Alert the decompression codec to create stereo channels.
 
uint_t IsStereo (void) const
 Obtain the stereo/mono state of the decompresser.
 
- Public Member Functions inherited from Burger::Decompress
 Decompress (void)
 Default constructor.
 
uintptr_t GetTotalInputSize (void) const noexcept
 Get the total processed input data in bytes.
 
uintptr_t GetTotalOutputSize (void) const noexcept
 Get the total processed output data in bytes.
 
uintptr_t GetProcessedInputSize (void) const noexcept
 Get the total processed output data in bytes from the last process pass.
 
uintptr_t GetProcessedOutputSize (void) const noexcept
 Get the total processed output data in bytes from the last process pass.
 
uint32_t GetSignature (void) const noexcept
 Return the signature for this decompressor.
 
- Public Member Functions inherited from Burger::Base
const char * get_class_name (void) const noexcept
 Get the name of the class.
 
virtual ~Base () noexcept=default
 Destructor.
 

Static Public Member Functions

static DecompressULawNew (void)
 Allocate and initialize a DecompressULaw.
 

Static Public Attributes

static const Burger::StaticRTTI g_StaticRTTI
 The global description of the class.
 
static const int16_t g_Table [256]
 ULaw decompression lookup table.
 
static const uint32_t Signature = 0x756C6177
 'ulaw'
 
- Static Public Attributes inherited from Burger::DecompressAudio
static const Burger::StaticRTTI g_StaticRTTI
 The global description of the class.
 
- Static Public Attributes inherited from Burger::Decompress
static const Burger::StaticRTTI g_StaticRTTI
 The global description of the class.
 
- Static Public Attributes inherited from Burger::Base
static const Burger::StaticRTTI g_StaticRTTI
 The global description of the class.
 

Protected Types

enum  eState { STATE_INIT , STATE_CACHEFULL }
 

Protected Attributes

uint_t m_uCacheSize
 Number of valid bytes in m_uCache.
 
eState m_eState
 State of the decompression.
 
int16_t m_iCache
 Temp uncompressed data buffer.
 
- Protected Attributes inherited from Burger::DecompressAudio
SoundManager::eDataType m_eDataType
 Data type the decompresser will create.
 
uint_t m_bStereo
 TRUE if data is stereo
 
- Protected Attributes inherited from Burger::Decompress
uintptr_t m_uTotalInput
 Total number of bytes processed for input.
 
uintptr_t m_uTotalOutput
 Total number of bytes processed for output.
 
uintptr_t m_uInputLength
 Number of input bytes processed from the last call to Process()
 
uintptr_t m_uOutputLength
 Number of output bytes processed from the last call to Process()
 
uint32_t m_uSignature
 4 character code to identify this decompresser
 

Additional Inherited Members

- Protected Member Functions inherited from Burger::DecompressAudio
 DecompressAudio (SoundManager::eDataType uDataType)
 Constructor.
 

Detailed Description

Process audio data compressed with ULaw.


Convert audio data compressed with ULaw to native 16 bit format

See also
DecompressALaw, Decompress and DecompressAudio

Member Enumeration Documentation

◆ eState

Enumerator
STATE_INIT 

Basic state.

STATE_CACHEFULL 

Cache is full, need to output before more input.

Constructor & Destructor Documentation

◆ DecompressULaw()

Burger::DecompressULaw::DecompressULaw ( )

Default constructor.


Initializes the defaults

Member Function Documentation

◆ get_StaticRTTI()

const Burger::StaticRTTI * Burger::DecompressULaw::get_StaticRTTI ( void ) const
overridevirtualnoexcept

Get the description to the class.


This virtual function will pull the pointer to the StaticRTTI instance that has the name of the class. Due to it being virtual, it will be the name of the most derived class.

Returns
Pointer to a global, read only instance of StaticRTTI for the true class

Reimplemented from Burger::DecompressAudio.

◆ New()

Burger::DecompressULaw *BURGER_API Burger::DecompressULaw::New ( void )
static

Allocate and initialize a DecompressULaw.


Returns
A pointer to a default DecompressULaw class or NULL if out of memory
See also
Delete(const T *)

◆ Process()

Burger::eError Burger::DecompressULaw::Process ( void * pOutput,
uintptr_t uOutputChunkLength,
const void * pInput,
uintptr_t uInputChunkLength )
overridevirtual

Decompress audio data using ulaw.


Input data is assumed to be ulaw compressed bytes.

Parameters
pOutputPointer to the buffer to accept the decompressed data
uOutputChunkLengthNumber of bytes in the output buffer
pInputPointer to data to decompress
uInputChunkLengthNumber of bytes in the data to decompress
Returns
Decompress::eError code with zero if no failure, non-zero is an error code

Implements Burger::Decompress.

◆ Reset()

Burger::eError Burger::DecompressULaw::Reset ( void )
overridevirtual

Resets the decompresser to defaults.


Returns
kErrorNone if successful

Implements Burger::Decompress.

Member Data Documentation

◆ g_StaticRTTI

const Burger::StaticRTTI Burger::DecompressULaw::g_StaticRTTI
static

The global description of the class.


This record contains the name of this class and a reference to the parent


This record contains the name of this class and a reference to the parent

◆ g_Table

const int16_t Burger::DecompressULaw::g_Table
static

ULaw decompression lookup table.


◆ m_eState

eState Burger::DecompressULaw::m_eState
protected

State of the decompression.

◆ m_iCache

int16_t Burger::DecompressULaw::m_iCache
protected

Temp uncompressed data buffer.

◆ m_uCacheSize

uint_t Burger::DecompressULaw::m_uCacheSize
protected

Number of valid bytes in m_uCache.

◆ Signature

const uint32_t Burger::DecompressULaw::Signature = 0x756C6177
static

'ulaw'