xine-lib: xine-lib-1.2.13/src/libreal/xine_real_audio_decoder.c File Reference

xine-lib 1.2.13-20230125hg15249

Data Structures | Macros | Typedefs | Functions | Variables
xine_real_audio_decoder.c File Reference
`#include <stdlib.h>`
`#include <string.h>`
`#include <sys/types.h>`
`#include <sys/stat.h>`
`#include <fcntl.h>`
`#include <unistd.h>`
`#include <dlfcn.h>`
`#include "bswap.h"`
`#include <xine/xine_internal.h>`
`#include <xine/video_out.h>`
`#include <xine/buffer.h>`
`#include <xine/xineutils.h>`
`#include "real_common.h"`

## Data Structures
struct | realdec_decoder_s
struct | ra_init_t

## Macros
#define | LOG_MODULE "real_audio_decoder"
#define | LOG_VERBOSE

## Typedefs
typedef void * | ra_codec_t
typedef struct realdec_decoder_s | realdec_decoder_t

## Functions
static int | load_syms_linux (realdec_decoder_t *this, const char *const codec_name, const char *const codec_alternate)
static int | init_codec (realdec_decoder_t *this, buf_element_t *buf)
static void | realdec_decode_data (audio_decoder_t *this_gen, buf_element_t *buf)
static void | realdec_reset (audio_decoder_t *this_gen)
static void | realdec_discontinuity (audio_decoder_t *this_gen)
static void | realdec_dispose (audio_decoder_t *this_gen)
static audio_decoder_t * | open_plugin (audio_decoder_class_t *class_gen, xine_stream_t *stream)
void * | init_realadec (xine_t *xine, const void *data)

## Variables
static const uint32_t | audio_types []
const decoder_info_t | dec_info_realaudio

## Macro Definition Documentation

## ◆ LOG_MODULE

#define LOG_MODULE "real_audio_decoder"

## ◆ LOG_VERBOSE

#define LOG_VERBOSE

## Typedef Documentation

## ◆ ra_codec_t

typedef void* ra_codec_t

## ◆ realdec_decoder_t

typedef struct realdec_decoder_s realdec_decoder_t

## Function Documentation

## ◆ init_codec()

static int init_codec | ( | realdec_decoder_t * | this,
|  | buf_element_t * | buf )
| static

References _, _X_BE_16, _X_BE_32, _x_meta_info_set_utf8(), AO_CAP_MODE_MONO, AO_CAP_MODE_STEREO, ra_init_t::bits, BUF_AUDIO_14_4, BUF_AUDIO_28_8, BUF_AUDIO_ATRK, BUF_AUDIO_COOK, BUF_AUDIO_SIPRO, ra_init_t::channels, ra_init_t::codec_data_length, ra_init_t::coded_frame_size, buf_element_s::content, ra_init_t::extras, load_syms_linux(), lprintf, mode(), NULL, ra_init_t::quality, ra_init_t::samplerate, buf_element_s::size, ra_init_t::subpacket_size, buf_element_s::type, xine_hexdump(), XINE_META_INFO_AUDIOCODEC, XINE_VERBOSITY_DEBUG, XINE_VERBOSITY_LOG, and xprintf.

Referenced by parse_track_entry(), and realdec_decode_data().

## ◆ init_realadec()

void * init_realadec | ( | xine_t * | xine,
|  | const void * | data )

References _x_real_codecs_init(), audio_decoder_s::dispose, N_, NULL, audio_decoder_class_s::open_plugin, and open_plugin().

## ◆ load_syms_linux()

static int load_syms_linux | ( | realdec_decoder_t * | this,
|  | const char *const | codec_name,
|  | const char *const | codec_alternate )
| static

raSetDLLAccessPath ||

References _, _x_real_codec_open(), cfg_entry_s::config, config_values_s::lookup_entry, lprintf, NULL, cfg_entry_s::str_value, XINE_VERBOSITY_LOG, and xprintf.

Referenced by init_codec().

## ◆ open_plugin()

static audio_decoder_t * open_plugin | ( | audio_decoder_class_t * | class_gen,
|  | xine_stream_t * | stream )
| static

References audio_decoder_class_s::dispose, NULL, realdec_decode_data(), realdec_discontinuity(), realdec_dispose(), and realdec_reset().

Referenced by init_realadec().

## ◆ realdec_decode_data()

static void realdec_decode_data | ( | audio_decoder_t * | this_gen,
|  | buf_element_t * | buf )
| static

References _x_stream_info_set(), BUF_FLAG_HEADER, BUF_FLAG_PREVIEW, buf_element_s::content, buf_element_s::decoder_flags, init_codec(), lprintf, audio_buffer_s::mem, audio_buffer_s::num_frames, buf_element_s::pts, buf_element_s::size, audio_buffer_s::stream, audio_buffer_s::vpts, and XINE_STREAM_INFO_AUDIO_HANDLED.

Referenced by open_plugin().

## ◆ realdec_discontinuity()

static void realdec_discontinuity | ( | audio_decoder_t * | this_gen | ) |
| static

Referenced by open_plugin().

## ◆ realdec_dispose()

static void realdec_dispose | ( | audio_decoder_t * | this_gen | ) |
| static

References _x_freep(), and lprintf.

Referenced by open_plugin().

## ◆ realdec_reset()

static void realdec_reset | ( | audio_decoder_t * | this_gen | ) |
| static

Referenced by open_plugin().

## Variable Documentation

## ◆ audio_types

const uint32_t audio_types[]
| static

Initial value:
= {
BUF_AUDIO_COOK, BUF_AUDIO_ATRK, BUF_AUDIO_SIPRO, 0
}
BUF_AUDIO_SIPRO
#define BUF_AUDIO_SIPRO
Definition buffer.h:246
BUF_AUDIO_COOK
#define BUF_AUDIO_COOK
Definition buffer.h:242
BUF_AUDIO_ATRK
#define BUF_AUDIO_ATRK
Definition buffer.h:243

## ◆ dec_info_realaudio

const decoder_info_t dec_info_realaudio

Initial value:
= {
audio_types,
6
}
audio_types
static const uint32_t audio_types[]
Definition xine_real_audio_decoder.c:517