xine-lib  1.2.9
Data Structures | Macros | Typedefs | Functions | Variables
flac_decoder.c File Reference
#include <stdlib.h>
#include <string.h>
#include <FLAC/stream_decoder.h>
#include <FLAC/seekable_stream_decoder.h>
#include <xine/xine_internal.h>
#include <xine/audio_out.h>
#include <xine/buffer.h>

Data Structures

struct  flac_class_t
 
struct  flac_decoder_s
 

Macros

#define LEGACY_FLAC
 
#define LOG_MODULE   "flac_decoder"
 
#define LOG_VERBOSE
 

Typedefs

typedef struct flac_decoder_s flac_decoder_t
 

Functions

static FLAC__StreamDecoderReadStatus flac_read_callback (const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], unsigned *bytes, void *client_data)
 
static FLAC__StreamDecoderWriteStatus flac_write_callback (const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 *const buffer[], void *client_data)
 
static void flac_metadata_callback (const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
 
static void flac_error_callback (const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)
 
static void flac_reset (audio_decoder_t *this_gen)
 
static void flac_discontinuity (audio_decoder_t *this_gen)
 
static void flac_decode_data (audio_decoder_t *this_gen, buf_element_t *buf)
 
static void flac_dispose (audio_decoder_t *this_gen)
 
static audio_decoder_topen_plugin (audio_decoder_class_t *class_gen, xine_stream_t *stream)
 
static void * init_plugin (xine_t *xine, void *data)
 
void * demux_flac_init_class (xine_t *xine, void *data)
 

Variables

static const uint32_t audio_types []
 
static const decoder_info_t dec_info_audio
 
const plugin_info_t xine_plugin_info [] EXPORTED
 

Macro Definition Documentation

◆ LEGACY_FLAC

#define LEGACY_FLAC

◆ LOG_MODULE

#define LOG_MODULE   "flac_decoder"

◆ LOG_VERBOSE

#define LOG_VERBOSE

Typedef Documentation

◆ flac_decoder_t

Function Documentation

◆ demux_flac_init_class()

void * demux_flac_init_class ( xine_t xine,
void *  data 
)

◆ flac_decode_data()

static void flac_decode_data ( audio_decoder_t this_gen,
buf_element_t buf 
)
static

◆ flac_discontinuity()

static void flac_discontinuity ( audio_decoder_t this_gen)
static

References lprintf.

Referenced by open_plugin().

◆ flac_dispose()

static void flac_dispose ( audio_decoder_t this_gen)
static

Referenced by open_plugin().

◆ flac_error_callback()

static void flac_error_callback ( const FLAC__StreamDecoder *  decoder,
FLAC__StreamDecoderErrorStatus  status,
void *  client_data 
)
static

References lprintf.

Referenced by open_plugin().

◆ flac_metadata_callback()

static void flac_metadata_callback ( const FLAC__StreamDecoder *  decoder,
const FLAC__StreamMetadata *  metadata,
void *  client_data 
)
static

References lprintf, and metadata.

Referenced by open_plugin().

◆ flac_read_callback()

static FLAC__StreamDecoderReadStatus flac_read_callback ( const FLAC__StreamDecoder *  decoder,
FLAC__byte  buffer[],
unsigned *  bytes,
void *  client_data 
)
static

References lprintf, and xine_fast_memcpy.

Referenced by open_plugin().

◆ flac_reset()

static void flac_reset ( audio_decoder_t this_gen)
static

Referenced by open_plugin().

◆ flac_write_callback()

static FLAC__StreamDecoderWriteStatus flac_write_callback ( const FLAC__StreamDecoder *  decoder,
const FLAC__Frame *  frame,
const FLAC__int32 *const  buffer[],
void *  client_data 
)
static

◆ init_plugin()

static void* init_plugin ( xine_t xine,
void *  data 
)
static

◆ open_plugin()

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

Variable Documentation

◆ audio_types

const uint32_t audio_types[]
static
Initial value:
= {
}
#define BUF_AUDIO_FLAC
Definition: buffer.h:251

◆ dec_info_audio

const decoder_info_t dec_info_audio
static
Initial value:
= {
8
}
static const uint32_t audio_types[]
Definition: flac_decoder.c:418

◆ EXPORTED

const plugin_info_t xine_plugin_info [] EXPORTED
Initial value:
= {
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
}
#define PLUGIN_AUDIO_DECODER
Definition: xine_plugin.h:31
#define XINE_VERSION_CODE
Definition: xine_internal.h:56
NULL
Definition: xine_plugin.c:91
static const decoder_info_t dec_info_audio
Definition: flac_decoder.c:422
#define PLUGIN_DEMUX
Definition: xine_plugin.h:30
static void * init_plugin(xine_t *xine, void *data)
Definition: flac_decoder.c:402
void * demux_flac_init_class(xine_t *xine, void *data)
Definition: flac_demuxer.c:713
#define PLUGIN_NONE
Definition: xine_plugin.h:28