|
xine-lib
1.2.9
|
#include <stdio.h>#include <stdlib.h>#include <stddef.h>#include <sys/param.h>#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <pthread.h>#include <fcntl.h>#include <time.h>#include <string.h>#include <errno.h>#include <dlfcn.h>#include <sys/mount.h>#include <sys/wait.h>#include <sys/poll.h>#include <sys/ioctl.h>#include "libdvdnav/dvdnav.h"#include "libdvdnav/nav_read.h"#include <xine/xineutils.h>#include <xine/buffer.h>#include <xine/xine_internal.h>#include "media_helper.h"Data Structures | |
| struct | dvd_input_plugin_t |
| struct | dvd_input_class_t |
Macros | |
| #define | DVDNAV_COMPILE |
| #define | LOG_MODULE "input_http" |
| #define | LOG_VERBOSE |
| #define | MODE_FAIL 0 |
| #define | MODE_NAVIGATE 1 |
| #define | MODE_TITLE 2 |
| #define | CAN_SEEK 1 |
| #define | DVD_PATH "/dev/dvd" |
| #define | RDVD_PATH "/dev/rdvd" |
| #define | DVD_BLOCK_SIZE 2048 |
| #define | PTR_ALIGN(p, align) ((void*) (((long)(p) + (align) - 1) & ~((align)-1)) ) |
Functions | |
| static void | dvd_handle_events (dvd_input_plugin_t *this) |
| static void | xine_dvd_send_button_update (dvd_input_plugin_t *this, int mode) |
| static void | device_change_cb (void *data, xine_cfg_entry_t *cfg) |
| static uint32_t | dvd_plugin_get_capabilities (input_plugin_t *this_gen) |
| static void | read_ahead_cb (void *this_gen, xine_cfg_entry_t *entry) |
| static void | seek_mode_cb (void *this_gen, xine_cfg_entry_t *entry) |
| static void | region_changed_cb (void *this_gen, xine_cfg_entry_t *entry) |
| static void | language_changed_cb (void *this_gen, xine_cfg_entry_t *entry) |
| static void | play_single_chapter_cb (void *this_gen, xine_cfg_entry_t *entry) |
| static void | send_mouse_enter_leave_event (dvd_input_plugin_t *this, int direction) |
| static int | update_title_display (dvd_input_plugin_t *this) |
| static void | dvd_plugin_dispose (input_plugin_t *this_gen) |
| static void | dvd_plugin_free_buffer (buf_element_t *buf) |
| static buf_element_t * | dvd_plugin_read_block (input_plugin_t *this_gen, fifo_buffer_t *fifo, off_t nlen) |
| static off_t | dvd_plugin_read (input_plugin_t *this_gen, void *buf_gen, off_t len) |
| static off_t | dvd_plugin_get_current_pos (input_plugin_t *this_gen) |
| static off_t | dvd_plugin_seek (input_plugin_t *this_gen, off_t offset, int origin) |
| static off_t | dvd_plugin_seek_time (input_plugin_t *this_gen, int time_offset, int origin) |
| static off_t | dvd_plugin_get_length (input_plugin_t *this_gen) |
| static uint32_t | dvd_plugin_get_blocksize (input_plugin_t *this_gen) |
| static const char * | dvd_plugin_get_mrl (input_plugin_t *this_gen) |
| static int | dvd_plugin_get_optional_data (input_plugin_t *this_gen, void *data, int data_type) |
| static int | dvd_parse_try_open (dvd_input_plugin_t *this, const char *locator) |
| static int | dvd_parse_mrl (dvd_input_plugin_t *this, char **locator, char **title_part) |
| static int | dvd_plugin_open (input_plugin_t *this_gen) |
| static input_plugin_t * | dvd_class_get_instance (input_class_t *class_gen, xine_stream_t *stream, const char *data) |
| static const char *const * | dvd_class_get_autoplay_list (input_class_t *this_gen, int *num_files) |
| static void | dvd_class_dispose (input_class_t *this_gen) |
| static int | dvd_class_eject_media (input_class_t *this_gen) |
| static void * | init_class (xine_t *xine, void *data) |
Variables | |
| static const char *const | dvdnav_menu_table [] |
| const plugin_info_t xine_plugin_info [] | EXPORTED |
| #define CAN_SEEK 1 |
| #define DVD_BLOCK_SIZE 2048 |
| #define DVD_PATH "/dev/dvd" |
Referenced by init_class().
| #define DVDNAV_COMPILE |
| #define LOG_MODULE "input_http" |
| #define LOG_VERBOSE |
| #define MODE_FAIL 0 |
Referenced by dvd_parse_mrl(), and dvd_plugin_open().
| #define MODE_NAVIGATE 1 |
Referenced by dvd_parse_mrl(), and dvd_plugin_open().
| #define MODE_TITLE 2 |
Referenced by dvd_parse_mrl(), dvd_plugin_open(), and update_title_display().
| #define PTR_ALIGN | ( | p, | |
| align | |||
| ) | ((void*) (((long)(p) + (align) - 1) & ~((align)-1)) ) |
| #define RDVD_PATH "/dev/rdvd" |
|
static |
References dvd_input_class_t::dvd_device, and xine_cfg_entry_s::str_value.
Referenced by init_class().
|
static |
References _x_freep(), xine_s::config, dvd_input_class_t::config, dvd_input_class_t::eject_device, config_values_s::unregister_callback, and dvd_input_class_t::xine.
Referenced by init_class().
|
static |
References dvd_input_class_t::eject_device, media_eject_media(), and dvd_input_class_t::xine.
Referenced by init_class().
|
static |
Referenced by init_class().
|
static |
References _x_stream_info_set(), dvd_plugin_dispose(), dvd_plugin_get_blocksize(), dvd_plugin_get_capabilities(), dvd_plugin_get_current_pos(), dvd_plugin_get_length(), dvd_plugin_get_mrl(), dvd_plugin_get_optional_data(), dvd_plugin_open(), dvd_plugin_read(), dvd_plugin_read_block(), dvd_plugin_seek(), dvd_plugin_seek_time(), lprintf, NULL, xine_event_new_queue(), and XINE_STREAM_INFO_VIDEO_HAS_STILL.
Referenced by init_class().
|
static |
References dvd_input_class_t::config, input(), dvd_input_class_t::input_class, config_values_s::lookup_entry, cfg_entry_s::num_value, send_mouse_enter_leave_event(), update_title_display(), xine_dvd_send_button_update(), xine_event_free(), xine_event_get(), XINE_EVENT_INPUT_ANGLE_NEXT, XINE_EVENT_INPUT_ANGLE_PREVIOUS, XINE_EVENT_INPUT_BUTTON_FORCE, XINE_EVENT_INPUT_DOWN, XINE_EVENT_INPUT_LEFT, XINE_EVENT_INPUT_MENU1, XINE_EVENT_INPUT_MENU2, XINE_EVENT_INPUT_MENU3, XINE_EVENT_INPUT_MENU4, XINE_EVENT_INPUT_MENU5, XINE_EVENT_INPUT_MENU6, XINE_EVENT_INPUT_MENU7, XINE_EVENT_INPUT_MOUSE_BUTTON, XINE_EVENT_INPUT_MOUSE_MOVE, XINE_EVENT_INPUT_NEXT, XINE_EVENT_INPUT_NUMBER_0, XINE_EVENT_INPUT_NUMBER_1, XINE_EVENT_INPUT_NUMBER_10_ADD, XINE_EVENT_INPUT_NUMBER_2, XINE_EVENT_INPUT_NUMBER_3, XINE_EVENT_INPUT_NUMBER_4, XINE_EVENT_INPUT_NUMBER_5, XINE_EVENT_INPUT_NUMBER_6, XINE_EVENT_INPUT_NUMBER_7, XINE_EVENT_INPUT_NUMBER_8, XINE_EVENT_INPUT_NUMBER_9, XINE_EVENT_INPUT_PREVIOUS, XINE_EVENT_INPUT_RIGHT, XINE_EVENT_INPUT_SELECT, XINE_EVENT_INPUT_UP, XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by dvd_plugin_read_block().
|
static |
References dvd_parse_try_open(), MODE_FAIL, MODE_NAVIGATE, MODE_TITLE, and NULL.
Referenced by dvd_plugin_open().
|
static |
References dvd_input_class_t::input_class, and NULL.
Referenced by dvd_parse_mrl().
|
static |
References input_plugin_s::input_class, lprintf, NULL, and xine_event_dispose_queue().
Referenced by dvd_class_get_instance().
|
static |
References _x_freep(), buf_element_s::free_buffer, buf_element_s::mem, and buf_element_s::source.
Referenced by dvd_plugin_read_block().
|
static |
References DVD_BLOCK_SIZE, and lprintf.
Referenced by dvd_class_get_instance().
|
static |
References INPUT_CAP_AUDIOLANG, INPUT_CAP_BLOCK, INPUT_CAP_CHAPTERS, INPUT_CAP_RIP_FORBIDDEN, INPUT_CAP_SEEKABLE, INPUT_CAP_SPULANG, and lprintf.
Referenced by dvd_class_get_instance().
|
static |
References DVD_BLOCK_SIZE, and lprintf.
Referenced by dvd_class_get_instance(), dvd_plugin_seek(), and dvd_plugin_seek_time().
|
static |
References DVD_BLOCK_SIZE, and lprintf.
Referenced by dvd_class_get_instance().
|
static |
References lprintf.
Referenced by dvd_class_get_instance().
|
static |
References INPUT_OPTIONAL_DATA_AUDIOLANG, INPUT_OPTIONAL_DATA_SPULANG, INPUT_OPTIONAL_SUCCESS, and INPUT_OPTIONAL_UNSUPPORTED.
Referenced by dvd_class_get_instance().
|
static |
References _, _x_message(), _x_meta_info_set(), _x_mrl_unescape(), dvd_parse_mrl(), input_plugin_s::input_class, language_changed_cb(), lprintf, mode(), MODE_FAIL, MODE_NAVIGATE, MODE_TITLE, NULL, play_single_chapter_cb(), read_ahead_cb(), region_changed_cb(), seek_mode_cb(), xine_event_t::type, update_title_display(), xine_config_lookup_entry(), xine_event_send(), XINE_EVENT_UI_CHANNELS_CHANGED, XINE_META_INFO_TITLE, XINE_MSG_READ_ERROR, XINE_VERBOSITY_DEBUG, XINE_VERBOSITY_LOG, and xprintf.
Referenced by dvd_class_get_instance().
|
static |
Referenced by dvd_class_get_instance().
|
static |
References _, __XINE_FUNCTION__, _x_demux_flush_engine(), _x_message(), BUF_CONTROL_AUDIO_CHANNEL, BUF_CONTROL_NOP, BUF_CONTROL_SPU_CHANNEL, BUF_DEMUX_BLOCK, BUF_FLAG_SPECIAL, BUF_SPECIAL_ASPECT, BUF_SPECIAL_SPU_DVD_SUBTYPE, BUF_SPU_DVD, BUF_VIDEO_MPEG, fifo_buffer_s::buffer_pool_alloc, buf_element_s::content, buf_element_s::decoder_flags, buf_element_s::decoder_info, DVD_BLOCK_SIZE, dvd_handle_events(), dvd_plugin_free_buffer(), buf_element_s::extra_info, buf_element_s::free_buffer, extra_info_s::input_time, buf_element_s::mem, NULL, buf_element_s::source, SPU_DVD_SUBTYPE_CLUT, extra_info_s::total_time, buf_element_s::type, xine_event_t::type, update_title_display(), xine_dvd_send_button_update(), xine_event_send(), XINE_EVENT_UI_CHANNELS_CHANGED, XINE_MSG_READ_ERROR, xine_usec_sleep(), XINE_VERBOSITY_DEBUG, XINE_VERBOSITY_LOG, XINE_VERBOSITY_NONE, and xprintf.
Referenced by dvd_class_get_instance().
|
static |
References DVD_BLOCK_SIZE, dvd_plugin_get_current_pos(), and lprintf.
Referenced by dvd_class_get_instance().
|
static |
References dvd_plugin_get_current_pos(), and lprintf.
Referenced by dvd_class_get_instance().
|
static |
References _, xine_s::config, dvd_input_class_t::config, input_class_s::description, device_change_cb(), input_class_s::dispose, dvd_class_dispose(), dvd_class_eject_media(), dvd_class_get_autoplay_list(), dvd_class_get_instance(), dvd_input_class_t::dvd_device, DVD_PATH, input_class_s::eject_media, input_class_s::get_autoplay_list, input_class_s::get_dir, input_class_s::get_instance, input_class_s::identifier, dvd_input_class_t::input_class, dvd_input_class_t::ip, language_changed_cb(), lprintf, mode(), N_, NULL, play_single_chapter_cb(), read_ahead_cb(), region_changed_cb(), config_values_s::register_bool, config_values_s::register_enum, config_values_s::register_filename, config_values_s::register_num, config_values_s::register_string, seek_mode_cb(), xine_s::verbosity, dvd_input_class_t::xine, XINE_CONFIG_STRING_IS_DEVICE_NAME, xine_setenv, and XINE_VERBOSITY_NONE.
|
static |
References dvd_input_class_t::language, and xine_cfg_entry_s::str_value.
Referenced by dvd_plugin_open(), and init_class().
|
static |
References xine_cfg_entry_s::num_value, and dvd_input_class_t::play_single_chapter.
Referenced by dvd_plugin_open(), and init_class().
|
static |
References xine_cfg_entry_s::num_value, and dvd_input_class_t::read_ahead_flag.
Referenced by dvd_plugin_open(), and init_class().
|
static |
References xine_cfg_entry_s::num_value, and dvd_input_class_t::region.
Referenced by dvd_plugin_open(), and init_class().
|
static |
References xine_cfg_entry_s::num_value, and dvd_input_class_t::seek_mode.
Referenced by dvd_plugin_open(), and init_class().
|
static |
References xine_spu_button_t::direction, xine_event_t::type, xine_event_send(), and XINE_EVENT_SPU_BUTTON.
Referenced by dvd_handle_events().
|
static |
References _x_stream_info_set(), dvdnav_menu_table, mode(), MODE_TITLE, xine_ui_data_t::str, xine_ui_data_t::str_len, xine_event_t::type, xine_event_send(), XINE_EVENT_UI_SET_TITLE, XINE_STREAM_INFO_DVD_ANGLE_COUNT, XINE_STREAM_INFO_DVD_ANGLE_NUMBER, XINE_STREAM_INFO_DVD_CHAPTER_COUNT, XINE_STREAM_INFO_DVD_CHAPTER_NUMBER, XINE_STREAM_INFO_DVD_TITLE_COUNT, and XINE_STREAM_INFO_DVD_TITLE_NUMBER.
Referenced by dvd_handle_events(), dvd_plugin_open(), and dvd_plugin_read_block().
|
static |
References _x_stream_info_get(), BUF_SPU_DVD, mode(), buf_element_s::size, buf_element_s::type, XINE_STREAM_INFO_IGNORE_SPU, and xine_usec_sleep().
Referenced by dvd_handle_events(), and dvd_plugin_read_block().
|
static |
Referenced by update_title_display().
| const plugin_info_t xine_plugin_info [] EXPORTED |
1.8.14