xine-lib 1.2.11
|
#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 | |
union | dvd_input_saved_buf_u |
struct | dvd_input_plugin_s |
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*)(((uintptr_t)(p) + (align) - 1) & ~((uintptr_t)(align)-1))) |
Typedefs | |
typedef struct dvd_input_plugin_s | dvd_input_plugin_t |
typedef union dvd_input_saved_buf_u | dvd_input_saved_buf_t |
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" |
#define DVDNAV_COMPILE |
#define LOG_MODULE "input_http" |
#define LOG_VERBOSE |
#define MODE_FAIL 0 |
#define MODE_NAVIGATE 1 |
#define MODE_TITLE 2 |
#define PTR_ALIGN | ( | p, | |
align | |||
) | ((void*)(((uintptr_t)(p) + (align) - 1) & ~((uintptr_t)(align)-1))) |
#define RDVD_PATH "/dev/rdvd" |
typedef struct dvd_input_plugin_s dvd_input_plugin_t |
typedef union dvd_input_saved_buf_u dvd_input_saved_buf_t |
|
static |
|
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::eject_device, NULL, config_values_s::unregister_callbacks, 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_input_saved_new(), 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, dvd_input_class_t::user_conf_version, xine_event_new_queue(), and XINE_STREAM_INFO_VIDEO_HAS_STILL.
Referenced by init_class().
|
static |
References input(), dvd_input_class_t::input_class, 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_input_saved_buf_u::free_next, dvd_input_saved_buf_u::this, and dvd_input_saved_buf_u::used.
Referenced by dvd_plugin_read_block().
|
static |
References _x_freep().
Referenced by dvd_plugin_dispose(), and dvd_plugin_free_buffer().
|
static |
References dvd_input_saved_buf_u::free_next, and NULL.
Referenced by dvd_class_get_instance().
|
static |
References dvd_input_saved_buf_u::free_next.
Referenced by dvd_plugin_free_buffer().
|
static |
References _x_mrl_unescape(), dvd_parse_try_open(), MODE_FAIL, MODE_NAVIGATE, and MODE_TITLE.
Referenced by dvd_plugin_open().
|
static |
References _x_freep(), dvd_input_class_t::input_class, and NULL.
Referenced by dvd_parse_mrl().
|
static |
References _x_freep(), dvd_input_saved_delete(), lprintf, NULL, and xine_event_dispose_queue().
Referenced by dvd_class_get_instance().
|
static |
References _x_freep(), dvd_input_saved_buf_u::block, dvd_input_saved_delete(), dvd_input_saved_release(), dvd_input_saved_buf_u::free_buffer, buf_element_s::free_buffer, NULL, buf_element_s::source, dvd_input_saved_buf_u::source, dvd_input_saved_buf_u::this, and dvd_input_saved_buf_u::used.
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(), apply_cfg(), dvd_parse_mrl(), input_plugin_s::input_class, lprintf, mode(), MODE_FAIL, MODE_NAVIGATE, MODE_TITLE, NULL, xine_event_t::type, update_title_display(), 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 _, _x_demux_flush_engine(), _x_message(), dvd_input_saved_buf_u::block, 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_input_saved_acquire(), dvd_plugin_free_buffer(), buf_element_s::extra_info, dvd_input_saved_buf_u::free_buffer, buf_element_s::free_buffer, dvd_input_class_t::input_class, extra_info_s::input_time, buf_element_s::mem, NULL, buf_element_s::source, dvd_input_saved_buf_u::source, SPU_DVD_SUBTYPE_CLUT, extra_info_s::total_time, xine_event_t::type, buf_element_s::type, update_cfg(), update_title_display(), dvd_input_saved_buf_u::used, dvd_input_class_t::user_conf_version, dvd_input_class_t::user_seek_mode, 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, 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, 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, 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(), skip_changed_cb(), dvd_input_class_t::user_conf_version, dvd_input_class_t::user_lang4, dvd_input_class_t::user_play_single_chapter, dvd_input_class_t::user_read_ahead, dvd_input_class_t::user_region, dvd_input_class_t::user_seek_mode, dvd_input_class_t::user_skip_mode, xine_s::verbosity, dvd_input_class_t::xine, XINE_CONFIG_STRING_IS_DEVICE_NAME, xine_setenv, and XINE_VERBOSITY_NONE.
|
static |
References xine_cfg_entry_s::str_value, and dvd_input_class_t::user_conf_version.
Referenced by init_class().
|
static |
References xine_cfg_entry_s::num_value, and dvd_input_class_t::user_play_single_chapter.
Referenced by init_class().
|
static |
References xine_cfg_entry_s::num_value, and dvd_input_class_t::user_conf_version.
Referenced by init_class().
|
static |
References xine_cfg_entry_s::num_value, and dvd_input_class_t::user_conf_version.
Referenced by init_class().
|
static |
References xine_cfg_entry_s::num_value, and dvd_input_class_t::user_conf_version.
Referenced by 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 xine_cfg_entry_s::num_value, and dvd_input_class_t::user_skip_mode.
Referenced by init_class().
|
static |
|
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 |