Go to the documentation of this file.
22 #ifndef XINE_FLAC_DEMUXER_H
23 #define XINE_FLAC_DEMUXER_H
Definition: xine_internal.h:80
int32_t size
Definition: buffer.h:343
xine_t * xine
Definition: xine_internal.h:126
int64_t pts
Definition: flac_decoder.c:56
unsigned char * buf
Definition: flac_decoder.c:62
int num_frames
Definition: audio_out.h:150
Definition: xine_internal.h:123
xine_stream_t * stream
Definition: flac_demuxer.c:68
static FLAC__SeekableStreamDecoderReadStatus flac_read_callback(const FLAC__SeekableStreamDecoder *decoder, FLAC__byte buffer[], unsigned *bytes, void *client_data)
Definition: flac_demuxer.c:97
static FLAC__StreamDecoderReadStatus flac_read_callback(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], unsigned *bytes, void *client_data)
Definition: flac_decoder.c:77
static void demux_flac_dispose(demux_plugin_t *this_gen)
Definition: flac_demuxer.c:457
#define BUF_FLAG_FRAME_END
Definition: buffer.h:371
static const uint32_t audio_types[]
Definition: flac_decoder.c:427
pthread_once_t once_control
Definition: ffmpeg_decoder.c:42
#define BUF_FLAG_HEADER
Definition: buffer.h:375
static int demux_flac_send_chunk(demux_plugin_t *this_gen)
Definition: flac_demuxer.c:348
#define INPUT_OPTIONAL_DATA_pb
Definition: ffmpeg_decoder.h:60
Definition: audio_decoder.h:73
#define XINE_STREAM_INFO_HAS_VIDEO
Definition: xine.h:1023
void *(* xine_fast_memcpy)(void *to, const void *from, size_t len)
Definition: memcpy.c:60
size_t buf_size
Definition: flac_decoder.c:63
int status
Definition: flac_demuxer.c:75
uint32_t decoder_info[5]
Definition: buffer.h:353
#define DEMUX_OK
Definition: demux.h:33
static demux_plugin_t * open_plugin(demux_class_t *class_gen, xine_stream_t *stream, input_plugin_t *input)
Definition: flac_demuxer.c:575
#define PLUGIN_AUDIO_DECODER
Definition: xine_plugin.h:32
static int demux_flac_seek(demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing)
Definition: flac_demuxer.c:484
char * _x_mrl_remove_auth(const char *mrl_in)
Definition: xine.c:1435
static FLAC__StreamDecoderWriteStatus flac_write_callback(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 *const buffer[], void *client_data)
Definition: flac_decoder.c:117
#define BUF_AUDIO_FLAC
Definition: buffer.h:253
void _x_demux_control_start(xine_stream_t *s)
Definition: demux.c:256
void _x_meta_info_set(xine_stream_t *s, int info, const char *str)
Definition: info_helper.c:321
int mem_size
Definition: audio_out.h:149
Definition: audio_out.h:144
static int demux_flac_get_status(demux_plugin_t *this_gen)
Definition: flac_demuxer.c:474
uint64_t channels
Definition: flac_demuxer.c:87
static const decoder_info_t dec_info_audio
Definition: flac_decoder.c:431
void init_once_routine(void)
Definition: ffmpeg_decoder.c:45
off_t data_size
Definition: flac_demuxer.c:80
static void demux_flac_send_headers(demux_plugin_t *this_gen)
Definition: flac_demuxer.c:423
static FLAC__SeekableStreamDecoderSeekStatus flac_seek_callback(const FLAC__SeekableStreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data)
Definition: flac_demuxer.c:157
#define lprintf(...)
Definition: xineutils.h:620
static void flac_metadata_callback(const FLAC__SeekableStreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
Definition: flac_demuxer.c:288
int16_t * mem
Definition: audio_out.h:148
static void flac_decode_data(audio_decoder_t *this_gen, buf_element_t *buf)
Definition: flac_decoder.c:264
static int demux_flac_get_optional_data(demux_plugin_t *this_gen, void *data, int dtype)
Definition: flac_demuxer.c:564
#define XINE_STREAM_INFO_AUDIO_SAMPLERATE
Definition: xine.h:1018
#define METHOD_EXPLICIT
Definition: demux.h:41
#define DEMUX_CAP_NOCAP
Definition: demux.h:189
int64_t pts
Definition: buffer.h:345
int content_detection_method
Definition: xine_internal.h:168
size_t buf_pos
Definition: flac_decoder.c:64
static uint32_t demux_flac_get_capabilities(demux_plugin_t *this_gen)
Definition: flac_demuxer.c:555
#define DEMUX_OPTIONAL_UNSUPPORTED
Definition: demux.h:236
NULL
Definition: xine_plugin.c:78
int output_open
Definition: flac_decoder.c:67
audio_decoder_t audio_decoder
Definition: flac_decoder.c:54
#define XINE_VERBOSITY_LOG
Definition: xine.h:425
Definition: audio_decoder.h:40
audio_decoder_t *(* open_plugin)(audio_decoder_class_t *this_gen, xine_stream_t *stream)
Definition: audio_decoder.h:45
static void _x_freep_wipe_string(char **pp)
Definition: xineutils.h:269
uint64_t bits_per_sample
Definition: flac_demuxer.c:86
#define INPUT_AVIO_ID
Definition: ffmpeg_decoder.h:64
static void _x_freep(void *ptr)
Definition: xineutils.h:263
struct flac_decoder_s flac_decoder_t
int _x_demux_read_header(input_plugin_t *input, void *buffer, off_t size)
Definition: demux.c:618
demux_plugin_t demux_plugin
Definition: flac_demuxer.c:66
Definition: xine_plugin.h:77
void _x_stream_info_set(xine_stream_t *s, int info, int value)
Definition: info_helper.c:79
#define XINE_VERSION_CODE
Definition: xine_internal.h:57
static void * init_plugin(xine_t *xine, const void *data)
Definition: flac_decoder.c:415
static void flac_error_callback(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)
Definition: flac_decoder.c:211
static const struct ogg_meta metadata[]
FLAC__StreamDecoder * flac_decoder
Definition: flac_decoder.c:60
Definition: flac_decoder.c:53
uint64_t sample_rate
Definition: flac_demuxer.c:88
#define PLUGIN_DEMUX
Definition: xine_plugin.h:31
const uint32_t * supported_types
Definition: xine_plugin.h:78
static void flac_reset(audio_decoder_t *this_gen)
Definition: flac_decoder.c:242
#define XINE_STREAM_INFO_AUDIO_BITS
Definition: xine.h:1017
demux_plugin_t *(* open_plugin)(demux_class_t *this_gen, xine_stream_t *stream, input_plugin_t *input)
Definition: demux.h:51
struct demux_flac_s demux_flac_t
static FLAC__StreamDecoderWriteStatus flac_write_callback(const FLAC__SeekableStreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 *const buffer[], void *client_data)
Definition: flac_demuxer.c:268
static FLAC__bool flac_eof_callback(const FLAC__SeekableStreamDecoder *decoder, void *client_data)
Definition: flac_demuxer.c:244
int64_t vpts
Definition: audio_out.h:152
Definition: demux_flac.c:58
#define XINE_VERBOSITY_DEBUG
Definition: xine.h:426
#define DEMUX_FINISHED
Definition: demux.h:34
int _x_ao_channels2mode(int channels)
Definition: audio_out.c:1098
#define BUF_FLAG_STDHEADER
Definition: buffer.h:401
#define XINE_STREAM_INFO_HAS_AUDIO
Definition: xine.h:1024
#define METHOD_BY_CONTENT
Definition: demux.h:39
static void flac_metadata_callback(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data)
Definition: flac_decoder.c:183
xine_stream_t * stream
Definition: flac_decoder.c:58
enable disable number of frames of telecine pattern sync required before mode change make frames evenly spaced for film mode(24 fps)" ) PARAM_ITEM( POST_PARAM_TYPE_BOOL
void(* free_buffer)(buf_element_t *buf)
Definition: buffer.h:357
static void flac_discontinuity(audio_decoder_t *this_gen)
Definition: flac_decoder.c:254
size_t min_size
Definition: flac_decoder.c:65
static FLAC__SeekableStreamDecoderTellStatus flac_tell_callback(const FLAC__SeekableStreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data)
Definition: flac_demuxer.c:190
unsigned char * content
Definition: buffer.h:341
void _x_demux_control_newpts(xine_stream_t *s, int64_t pts, uint32_t flags)
Definition: demux.c:126
#define XINE_STREAM_INFO_AUDIO_CHANNELS
Definition: xine.h:1016
#define PLUGIN_NONE
Definition: xine_plugin.h:29
FLAC__SeekableStreamDecoder * flac_decoder
Definition: flac_demuxer.c:83
fifo_buffer_t * audio_fifo
Definition: flac_demuxer.c:70
void * demux_flac_init_class(xine_t *xine, const void *data)
Definition: flac_demuxer.c:723
const plugin_info_t xine_plugin_info[] EXPORTED
Definition: flac_decoder.c:436
uint32_t decoder_flags
Definition: buffer.h:350
fifo_buffer_t * video_fifo
Definition: flac_demuxer.c:71
Definition: flac_demuxer.c:65
#define BUF_FLAG_SEEK
Definition: buffer.h:392
static FLAC__SeekableStreamDecoderLengthStatus flac_length_callback(const FLAC__SeekableStreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data)
Definition: flac_demuxer.c:218
void * demux_flac_init_class(xine_t *xine, const void *data)
Definition: flac_demuxer.c:723
int32_t max_size
Definition: buffer.h:344
uint32_t type
Definition: buffer.h:362
uint64_t total_samples
Definition: flac_demuxer.c:85
int seek_flag
Definition: flac_demuxer.c:77
xine_stream_t * stream
Definition: audio_out.h:159
static void flac_dispose(audio_decoder_t *this_gen)
Definition: flac_decoder.c:336
static int input(void)
Definition: goomsl_lex.c:1495
static void flac_error_callback(const FLAC__SeekableStreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data)
Definition: flac_demuxer.c:316
void _x_demux_flush_engine(xine_stream_t *s)
Definition: demux.c:61
extra_info_t * extra_info
Definition: buffer.h:348
input_plugin_t * input
Definition: flac_demuxer.c:73
#define METHOD_BY_MRL
Definition: demux.h:40
uint64_t length_in_msec
Definition: flac_demuxer.c:89
Definition: xine_plugin.h:55
#define xprintf(xine, verbose,...)
Definition: xineutils.h:664
static int demux_flac_get_stream_length(demux_plugin_t *this_gen)
Definition: flac_demuxer.c:543
off_t data_start
Definition: flac_demuxer.c:79
#define N_(String)
Definition: xineintl.h:47
static audio_decoder_t * open_plugin(audio_decoder_class_t *class_gen, xine_stream_t *stream)
Definition: flac_decoder.c:353
#define XINE_META_INFO_TITLE
Definition: xine.h:1062