MloDecoder.h File Reference

Melo Decoder API. More...

#include "MloFrame.h"
#include "MloBitStream.h"
#include "MloSampleBuffer.h"
#include "MloSamplingFreq.h"

Go to the source code of this file.

Data Structures

struct  MLO_DecoderStatus
 Represents the status of an MLO_Decoder object. More...
struct  MLO_DecoderConfig
 Detailed decoder configuration information. More...

Defines

#define MLO_DECODER_MAX_FRAME_SIZE   8192
#define MLO_ERROR_DECODER_UNSUPPORTED_CONFIG   (MLO_ERROR_BASE_DECODER-0)
 Error: the configuration or encoding is not supported by this implementation.
#define MLO_ERROR_DECODER_INVALID_CHANNEL_CONFIGURATION   (MLO_ERROR_BASE_DECODER-1)
 Error: an invalid channel configuration was encountered.
#define MLO_ERROR_DECODER_UNSUPPORTED_FORMAT   (MLO_ERROR_BASE_DECODER-2)
 Error: the format or encoding is not supported by this implementation.
#define MLO_ERROR_DECODER_INVALID_DATA   (MLO_ERROR_BASE_DECODER-3)
 Error: invalid data.

Typedefs

typedef MLO_Decoder MLO_Decoder
 Decoder object [opaque data structure].

Enumerations

enum  MLO_ObjectTypeIdentifier {
  MLO_OBJECT_TYPE_AAC_MAIN = 1,
  MLO_OBJECT_TYPE_AAC_LC = 2,
  MLO_OBJECT_TYPE_AAC_SSR = 3,
  MLO_OBJECT_TYPE_AAC_LTP = 4,
  MLO_OBJECT_TYPE_SBR = 5,
  MLO_OBJECT_TYPE_AAC_SCALABLE = 6,
  MLO_OBJECT_TYPE_TWINVQ = 7,
  MLO_OBJECT_TYPE_ER_AAC_LC = 17,
  MLO_OBJECT_TYPE_ER_AAC_LTP = 19,
  MLO_OBJECT_TYPE_ER_AAC_SCALABLE = 20,
  MLO_OBJECT_TYPE_ER_TWINVQ = 21,
  MLO_OBJECT_TYPE_ER_BSAC = 22,
  MLO_OBJECT_TYPE_ER_AAC_LD = 23,
  MLO_OBJECT_TYPE_LAYER_1 = 32,
  MLO_OBJECT_TYPE_LAYER_2 = 33,
  MLO_OBJECT_TYPE_LAYER_3 = 34
}
 Enumeration of object type identifiers. More...
enum  MLO_ChannelConfiguration {
  MLO_CHANNEL_CONFIG_NONE = 0,
  MLO_CHANNEL_CONFIG_MONO = 1,
  MLO_CHANNEL_CONFIG_STEREO = 2,
  MLO_CHANNEL_CONFIG_STEREO_PLUS_CENTER = 3,
  MLO_CHANNEL_CONFIG_STEREO_PLUS_CENTER_PLUS_REAR_MONO = 4,
  MLO_CHANNEL_CONFIG_FIVE = 5,
  MLO_CHANNEL_CONFIG_FIVE_PLUS_ONE = 6,
  MLO_CHANNEL_CONFIG_SEVEN_PLUS_ONE = 7,
  MLO_CHANNEL_CONFIG_UNSUPPORTED
}
 Channel configuration for multichannel audio buffers. More...

Functions

MLO_Result MLO_DecoderConfig_Parse (const unsigned char *encoded, MLO_Size encoded_size, MLO_DecoderConfig *config)
 Parse an array of bytes containing the DecoderSpecificInfo field of a DecoderConfigDescriptor descriptor.
unsigned int MLO_DecoderConfig_GetSampleRate (const MLO_DecoderConfig *config)
 Returns the value of the sample rate expressed in an MLO_DecoderConfig struct.
MLO_Cardinal MLO_DecoderConfig_GetChannelCount (const MLO_DecoderConfig *config)
 Returns the number of audio channels expressed in an MLO_DecoderConfig struct.
MLO_Result MLO_Decoder_Create (const MLO_DecoderConfig *config, MLO_Decoder **decoder)
 Create a new MLO_Decoder object.
MLO_Result MLO_Decoder_Destroy (MLO_Decoder *decoder)
 Destroy an MLO_Decoder object and free the resources associated with it.
MLO_Result MLO_Decoder_Reset (MLO_Decoder *decoder)
 Reset the internal state of an MLO_Decoder object.
MLO_Result MLO_Decoder_DecodeFrame (MLO_Decoder *decoder, const MLO_Byte *frame, MLO_Size frame_size, MLO_SampleBuffer *sample)
 Decode a single audio frame.
MLO_Result MLO_Decoder_GetStatus (MLO_Decoder *decoder, MLO_DecoderStatus **status)
 Return the current status of an MLO_Decoder object.


Detailed Description

Melo Decoder API.