xine-lib: xine-lib-1.2.13/src/input/input_vcd.c File Reference

xine-lib 1.2.13-20230125hg15249

Data Structures | Macros | Functions | Variables
input_vcd.c File Reference
`#include <stdio.h>`
`#include <stdlib.h>`
`#include <sys/stat.h>`
`#include <unistd.h>`
`#include <errno.h>`
`#include <fcntl.h>`
`#include <sys/ioctl.h>`
`#include <sys/param.h>`
`#include <string.h>`
`#include <netinet/in.h>`
`#include <xine/xine_internal.h>`
`#include <xine/xineutils.h>`
`#include <xine/input_plugin.h>`
`#include "media_helper.h"`
`#include "input_helper.h"`

## Data Structures
struct | cdsector_t
struct | vcd_input_class_t
struct | vcd_input_plugin_t

## Macros
#define | CDROM "/dev/cdrom"
#define | VCDSECTORSIZE 2324

## Functions
static void | device_change_cb (void *data, xine_cfg_entry_t *cfg)
static off_t | vcd_plugin_get_current_pos (input_plugin_t *this_gen)
static uint32_t | vcd_plugin_get_capabilities (input_plugin_t *this_gen)
static uint32_t | vcd_plugin_get_blocksize (input_plugin_t *this_gen)
static void | vcd_plugin_dispose (input_plugin_t *this_gen)
static const char * | vcd_plugin_get_mrl (input_plugin_t *this_gen)
static int | vcd_plugin_get_optional_data (input_plugin_t *this_gen, void *data, int data_type)
static int | vcd_plugin_open (input_plugin_t *this_gen)
static input_plugin_t * | vcd_class_get_instance (input_class_t *cls_gen, xine_stream_t *stream, const char *mrl)
static void | vcd_filelist_dispose (vcd_input_class_t *this)
static void | vcd_class_dispose (input_class_t *this_gen)
static int | vcd_class_eject_media (input_class_t *this_gen)
static xine_mrl_t ** | vcd_class_get_dir (input_class_t *this_gen, const char *filename, int *num_files)
static const char *const * | vcd_class_get_autoplay_list (input_class_t *this_gen, int *num_files)
static void * | init_class (xine_t *xine, const void *data)

## Variables
const plugin_info_t xine_plugin_info[] | EXPORTED

## Macro Definition Documentation

## ◆ CDROM

#define CDROM "/dev/cdrom"

Referenced by init_class().

## ◆ VCDSECTORSIZE

#define VCDSECTORSIZE 2324

Referenced by vcd_plugin_get_blocksize().

## Function Documentation

## ◆ device_change_cb()

static void device_change_cb | ( | void * | data,
|  | xine_cfg_entry_t * | cfg )
| static

References xine_cfg_entry_s::str_value.

Referenced by init_class().

## ◆ init_class()

static void * init_class | ( | xine_t * | xine,
|  | const void * | data )
| static

References _, CDROM, xine_s::config, device_change_cb(), N_, NULL, config_values_s::register_filename, vcd_class_dispose(), vcd_class_eject_media(), vcd_class_get_autoplay_list(), vcd_class_get_dir(), vcd_class_get_instance(), and XINE_CONFIG_STRING_IS_DEVICE_NAME.

## ◆ vcd_class_dispose()

static void vcd_class_dispose | ( | input_class_t * | this_gen | ) |
| static

References _x_input_free_mrls(), config_values_s::unregister_callback, and vcd_filelist_dispose().

Referenced by init_class().

## ◆ vcd_class_eject_media()

static int vcd_class_eject_media | ( | input_class_t * | this_gen | ) |
| static

References media_eject_media().

Referenced by init_class().

## ◆ vcd_class_get_autoplay_list()

static const char *const * vcd_class_get_autoplay_list | ( | input_class_t * | this_gen,
|  | int * | num_files )
| static

References _, _x_asprintf(), NULL, vcd_filelist_dispose(), xine_open_cloexec(), XINE_VERBOSITY_DEBUG, XINE_VERBOSITY_LOG, and xprintf.

Referenced by init_class().

## ◆ vcd_class_get_dir()

static xine_mrl_t ** vcd_class_get_dir | ( | input_class_t * | this_gen,
|  | const char * | filename,
|  | int * | num_files )
| static

References _, _x_asprintf(), _x_input_alloc_mrls(), _x_input_free_mrls(), mrl_vcd, NULL, vcd_plugin_get_length(), xine_open_cloexec(), XINE_VERBOSITY_DEBUG, XINE_VERBOSITY_LOG, and xprintf.

Referenced by init_class().

## ◆ vcd_class_get_instance()

static input_plugin_t * vcd_class_get_instance | ( | input_class_t * | cls_gen,
|  | xine_stream_t * | stream,
|  | const char * | mrl )
| static

References NULL, vcd_plugin_dispose(), vcd_plugin_get_blocksize(), vcd_plugin_get_capabilities(), vcd_plugin_get_current_pos(), vcd_plugin_get_length(), vcd_plugin_get_mrl(), vcd_plugin_get_optional_data(), vcd_plugin_open(), vcd_plugin_read(), vcd_plugin_read_block(), and vcd_plugin_seek().

Referenced by init_class().

## ◆ vcd_filelist_dispose()

static void vcd_filelist_dispose | ( | vcd_input_class_t * | this | ) |
| static

References _x_freep(), and NULL.

Referenced by vcd_class_dispose(), and vcd_class_get_autoplay_list().

## ◆ vcd_plugin_dispose()

static void vcd_plugin_dispose | ( | input_plugin_t * | this_gen | ) |
| static

Referenced by vcd_class_get_instance().

## ◆ vcd_plugin_get_blocksize()

static uint32_t vcd_plugin_get_blocksize | ( | input_plugin_t * | this_gen | ) |
| static

References VCDSECTORSIZE.

Referenced by vcd_class_get_instance().

## ◆ vcd_plugin_get_capabilities()

static uint32_t vcd_plugin_get_capabilities | ( | input_plugin_t * | this_gen | ) |
| static

References INPUT_CAP_BLOCK, and INPUT_CAP_SEEKABLE.

Referenced by vcd_class_get_instance().

## ◆ vcd_plugin_get_current_pos()

static off_t vcd_plugin_get_current_pos | ( | input_plugin_t * | this_gen | ) |
| static

References vcd_plugin_seek().

Referenced by vcd_class_get_instance().

## ◆ vcd_plugin_get_mrl()

static const char * vcd_plugin_get_mrl | ( | input_plugin_t * | this_gen | ) |
| static

Referenced by vcd_class_get_instance().

## ◆ vcd_plugin_get_optional_data()

static int vcd_plugin_get_optional_data | ( | input_plugin_t * | this_gen,
|  | void * | data,
|  | int | data_type )
| static

References INPUT_OPTIONAL_UNSUPPORTED.

Referenced by vcd_class_get_instance().

## ◆ vcd_plugin_open()

static int vcd_plugin_open | ( | input_plugin_t * | this_gen | ) |
| static

References _, vcd_input_class_t::device, vcd_input_class_t::total_tracks, vcd_input_class_t::xine, xine_open_cloexec(), XINE_VERBOSITY_DEBUG, XINE_VERBOSITY_LOG, and xprintf.

Referenced by vcd_class_get_instance().

## Variable Documentation

## ◆ EXPORTED

const plugin_info_t xine_plugin_info [] EXPORTED

Initial value:
= {
{ PLUGIN_INPUT | PLUGIN_MUST_PRELOAD, 18, "VCDO", XINE_VERSION_CODE, NULL, init_class },
{ PLUGIN_NONE, 0, NULL, 0, NULL, NULL }
}
init_class
static void * init_class(xine_t *xine, const void *data)
Definition input_vcd.c:1066
XINE_VERSION_CODE
#define XINE_VERSION_CODE
Definition xine_internal.h:57
NULL
NULL
Definition xine_plugin.c:78
PLUGIN_NONE
#define PLUGIN_NONE
Definition xine_plugin.h:29
PLUGIN_MUST_PRELOAD
#define PLUGIN_MUST_PRELOAD
Definition xine_plugin.h:46
PLUGIN_INPUT
#define PLUGIN_INPUT
Definition xine_plugin.h:30