xine-lib: xine-lib-1.2.12/src/combined/wavpack_demuxer.c File Reference

xine-lib 1.2.12

Data Structures | Macros | Functions | Variables
wavpack_demuxer.c File Reference
`#include <xine/xine_internal.h>`
`#include <xine/xineutils.h>`
`#include <xine/demux.h>`
`#include "bswap.h"`
`#include <xine/attributes.h>`
`#include <wavpack/wavpack.h>`
`#include "wavpack_combined.h"`

## Data Structures
struct | demux_wv_t

## Macros
#define | LOG_MODULE "demux_wavpack"
#define | LOG_VERBOSE
#define | LOG

## Functions
static int32_t | xine_input_read_bytes (void *const this_gen, void *const data, const int32_t bcount)
static uint32_t | xine_input_get_pos (void *const this_gen)
static int | xine_input_set_pos_abs (void *const this_gen, const uint32_t pos)
static int | xine_input_set_pos_rel (void *const this_gen, const int32_t delta, const int mode)
static int | xine_input_push_back_byte (void *const this_gen, const int c)
static uint32_t | xine_input_get_length (void *const this_gen)
static int | xine_input_can_seek (void *const this_gen)
static int32_t | xine_input_write_bytes (__attr_unused void *const id, __attr_unused void *const data, __attr_unused const int32_t bcount)
static int | open_wv_file (demux_wv_t *const this)
static int | demux_wv_send_chunk (demux_plugin_t *const this_gen)
static void | demux_wv_send_headers (demux_plugin_t *const this_gen)
static int | demux_wv_seek (demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing)
static int | demux_wv_get_status (demux_plugin_t *const this_gen)
static int | demux_wv_get_stream_length (demux_plugin_t *const this_gen)
static uint32_t | demux_wv_get_capabilities (demux_plugin_t *const this_gen)
static int | demux_wv_get_optional_data (demux_plugin_t *const this_gen, void *data, const int data_type)
static demux_plugin_t * | open_plugin (demux_class_t *const class_gen, xine_stream_t *const stream, input_plugin_t *const input)
void * | demux_wv_init_plugin (xine_t *xine, const void *data)

## Variables
static WavpackStreamReader | wavpack_input_reader

## Macro Definition Documentation

## ◆ LOG

#define LOG

## ◆ LOG_MODULE

#define LOG_MODULE "demux_wavpack"

## ◆ LOG_VERBOSE

#define LOG_VERBOSE

## Function Documentation

## ◆ demux_wv_get_capabilities()

static uint32_t demux_wv_get_capabilities | ( | demux_plugin_t *const | this_gen | ) |
| static

References DEMUX_CAP_NOCAP.

Referenced by open_plugin().

## ◆ demux_wv_get_optional_data()

static int demux_wv_get_optional_data | ( | demux_plugin_t *const | this_gen,
|  | void * | data,
|  | const int | data_type
| ) |  |
| static

References DEMUX_OPTIONAL_UNSUPPORTED.

Referenced by open_plugin().

## ◆ demux_wv_get_status()

static int demux_wv_get_status | ( | demux_plugin_t *const | this_gen | ) |
| static

Referenced by open_plugin().

## ◆ demux_wv_get_stream_length()

static int demux_wv_get_stream_length | ( | demux_plugin_t *const | this_gen | ) |
| static

Referenced by open_plugin().

## ◆ demux_wv_init_plugin()

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

References N_, NULL, open_plugin(), and demux_class_s::open_plugin.

## ◆ demux_wv_seek()

static int demux_wv_seek | ( | demux_plugin_t * | this_gen,
|  | off_t | start_pos,
|  | int | start_time,
|  | int | playing
| ) |  |
| static

References _x_demux_control_newpts(), and DEMUX_OK.

Referenced by open_plugin().

## ◆ demux_wv_send_chunk()

static int demux_wv_send_chunk | ( | demux_plugin_t *const | this_gen | ) |
| static

References wvheader_t::block_size, BUF_AUDIO_WAVPACK, BUF_FLAG_FRAME_END, buf_element_s::content, buf_element_s::decoder_flags, DEMUX_FINISHED, buf_element_s::extra_info, wvheader_t::flags, input(), extra_info_s::input_normpos, extra_info_s::input_time, le2me_32, lprintf, buf_element_s::max_size, NULL, buf_element_s::pts, wvheader_t::samples_count, buf_element_s::size, buf_element_s::type, and xine_fast_memcpy.

Referenced by open_plugin().

## ◆ demux_wv_send_headers()

static void demux_wv_send_headers | ( | demux_plugin_t *const | this_gen | ) |
| static

References _x_demux_control_start(), BUF_AUDIO_WAVPACK, BUF_FLAG_FRAME_END, BUF_FLAG_HEADER, BUF_FLAG_STDHEADER, buf_element_s::decoder_flags, buf_element_s::decoder_info, DEMUX_OK, input(), buf_element_s::size, and buf_element_s::type.

Referenced by open_plugin().

## ◆ open_plugin()

static demux_plugin_t * open_plugin | ( | demux_class_t *const | class_gen,
|  | xine_stream_t *const | stream,
|  | input_plugin_t *const | input
| ) |  |
| static

References xine_stream_s::content_detection_method, default_demux_plugin_dispose, DEMUX_FINISHED, demux_wv_get_capabilities(), demux_wv_get_optional_data(), demux_wv_get_status(), demux_wv_get_stream_length(), demux_wv_seek(), demux_wv_send_chunk(), demux_wv_send_headers(), input(), METHOD_BY_CONTENT, METHOD_BY_MRL, METHOD_EXPLICIT, NULL, and open_wv_file().

Referenced by demux_wv_init_plugin().

## ◆ open_wv_file()

static int open_wv_file | ( | demux_wv_t *const | this | ) |
| static

References _x_assert, _x_demux_read_header(), _x_stream_info_set(), wvheader_t::idcode, input(), INPUT_IS_SEEKABLE, le2me_16, lprintf, NULL, wavpack_input_reader, wvheader_t::wv_version, wvpk_signature, XINE_STREAM_INFO_AUDIO_BITS, XINE_STREAM_INFO_AUDIO_CHANNELS, XINE_STREAM_INFO_AUDIO_FOURCC, XINE_STREAM_INFO_AUDIO_SAMPLERATE, and XINE_STREAM_INFO_HAS_AUDIO.

Referenced by open_plugin().

## ◆ xine_input_can_seek()

static int xine_input_can_seek | ( | void *const | this_gen | ) |
| static

References INPUT_IS_SEEKABLE.

## ◆ xine_input_get_length()

static uint32_t xine_input_get_length | ( | void *const | this_gen | ) |
| static

## ◆ xine_input_get_pos()

static uint32_t xine_input_get_pos | ( | void *const | this_gen | ) |
| static

## ◆ xine_input_push_back_byte()

static int xine_input_push_back_byte | ( | void *const | this_gen,
|  | const int | c
| ) |  |
| static

References lprintf.

## ◆ xine_input_read_bytes()

static int32_t xine_input_read_bytes | ( | void *const | this_gen,
|  | void *const | data,
|  | const int32_t | bcount
| ) |  |
| static

## ◆ xine_input_set_pos_abs()

static int xine_input_set_pos_abs | ( | void *const | this_gen,
|  | const uint32_t | pos
| ) |  |
| static

## ◆ xine_input_set_pos_rel()

static int xine_input_set_pos_rel | ( | void *const | this_gen,
|  | const int32_t | delta,
|  | const int | mode
| ) |  |
| static

References mode().

## ◆ xine_input_write_bytes()

static int32_t xine_input_write_bytes | ( | __attr_unused void *const | id,
|  | __attr_unused void *const | data,
|  | __attr_unused const int32_t | bcount
| ) |  |
| static

References lprintf.

## Variable Documentation

## ◆ wavpack_input_reader

WavpackStreamReader wavpack_input_reader
| static

Initial value:
= {
.read_bytes = xine_input_read_bytes,
.get_pos = xine_input_get_pos,
.set_pos_abs = xine_input_set_pos_abs,
.set_pos_rel = xine_input_set_pos_rel,
.push_back_byte = xine_input_push_back_byte,
.get_length = xine_input_get_length,
.can_seek = xine_input_can_seek,
.write_bytes = xine_input_write_bytes
}
xine_input_get_pos
static uint32_t xine_input_get_pos(void *const this_gen)
Definition: wavpack_demuxer.c:62
xine_input_write_bytes
static int32_t xine_input_write_bytes(__attr_unused void *const id, __attr_unused void *const data, __attr_unused const int32_t bcount)
Definition: wavpack_demuxer.c:98
xine_input_can_seek
static int xine_input_can_seek(void *const this_gen)
Definition: wavpack_demuxer.c:93
xine_input_set_pos_rel
static int xine_input_set_pos_rel(void *const this_gen, const int32_t delta, const int mode)
Definition: wavpack_demuxer.c:72
xine_input_read_bytes
static int32_t xine_input_read_bytes(void *const this_gen, void *const data, const int32_t bcount)
Definition: wavpack_demuxer.c:56
xine_input_set_pos_abs
static int xine_input_set_pos_abs(void *const this_gen, const uint32_t pos)
Definition: wavpack_demuxer.c:67
xine_input_get_length
static uint32_t xine_input_get_length(void *const this_gen)
Definition: wavpack_demuxer.c:88
xine_input_push_back_byte
static int xine_input_push_back_byte(void *const this_gen, const int c)
Definition: wavpack_demuxer.c:78

Referenced by open_wv_file().