xine-lib 1.2.11
|
#include <inttypes.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <pthread.h>
#include <dlfcn.h>
#include <string.h>
#include <errno.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <signal.h>
#include <basedir.h>
#include <xine/xine_internal.h>
#include <xine/xine_plugin.h>
#include <xine/plugin_catalog.h>
#include <xine/demux.h>
#include <xine/input_plugin.h>
#include <xine/video_out.h>
#include <xine/post.h>
#include <xine/xine_module.h>
#include <xine/metronom.h>
#include <xine/configfile.h>
#include <xine/xineutils.h>
#include <xine/compat.h>
#include "xine_private.h"
Data Structures | |
union | all_info_t |
struct | fat_node_st |
struct | new_entry_data_t |
Macros | |
#define | LOG_MODULE "load_plugins" |
#define | LOG_VERBOSE |
#define | XINE_ENABLE_EXPERIMENTAL_FEATURES 1 |
#define | FAST_SCAN_PLUGINS |
#define | CACHE_CATALOG_VERSION 4 |
#define | CACHE_CATALOG_VERSION_STR "4" |
#define | __Max(a, b) ((a) > (b) ? (a) : (b)) |
#define | IS_FAT_NODE(_node) (_node->node.info == &_node->info[0]) |
#define | SAVE_PLUGIN_BUF_SIZE 4096 |
#define | XSP_BUFSIZE 4096 |
#define | GET_PLUGIN_DESC(NAME, TYPE, CATITEM) |
Typedefs | |
typedef struct fat_node_st | fat_node_t |
typedef int() | _cmp_func_t(void *a, void *b) |
Variables | |
static const uint8_t | plugin_iface_versions [((PLUGIN_TYPE_MAX) >(PLUGIN_XINE_MODULE) ?(PLUGIN_TYPE_MAX) :(PLUGIN_XINE_MODULE))+1] |
#define __Max | ( | a, | |
b | |||
) | ((a) > (b) ? (a) : (b)) |
#define CACHE_CATALOG_VERSION 4 |
#define CACHE_CATALOG_VERSION_STR "4" |
#define FAST_SCAN_PLUGINS |
#define GET_PLUGIN_DESC | ( | NAME, | |
TYPE, | |||
CATITEM | |||
) |
#define IS_FAT_NODE | ( | _node | ) | (_node->node.info == &_node->info[0]) |
#define LOG_MODULE "load_plugins" |
#define LOG_VERBOSE |
#define SAVE_PLUGIN_BUF_SIZE 4096 |
#define XINE_ENABLE_EXPERIMENTAL_FEATURES 1 |
#define XSP_BUFSIZE 4096 |
typedef int() _cmp_func_t(void *a, void *b) |
typedef struct fat_node_st fat_node_t |
|
static |
References plugin_info_t::id, plugin_catalog_s::ids, plugin_node_s::info, plugin_catalog_s::lock, fat_node_st::node, NULL, xine_s::plugin_catalog, plugin_catalog_s::plugin_lists, fat_node_st::xine, xine_sarray_add(), xine_sarray_delete(), xine_sarray_get(), XINE_SARRAY_MODE_UNIQUE, xine_sarray_new(), xine_sarray_set_mode(), and xine_sarray_size().
Referenced by xine_list_audio_decoder_plugins(), xine_list_audio_output_plugins(), xine_list_demuxer_plugins(), xine_list_input_plugins(), xine_list_post_plugins(), xine_list_spu_plugins(), xine_list_video_decoder_plugins(), and xine_list_video_output_plugins().
|
static |
References plugin_node_s::info, map_decoder_list(), fat_node_st::node, xine_cfg_entry_s::num_value, PLUGIN_AUDIO_DECODER, PLUGIN_TYPE_MASK, PLUGIN_VIDEO_DECODER, plugin_node_s::priority, plugin_info_t::type, xine_sarray_add(), and xine_sarray_remove_ptr().
Referenced by _insert_node(), and _x_dispose_plugins().
|
static |
References _x_assert, dec_file_ref(), plugin_node_s::file, plugin_node_s::info, NULL, PLUGIN_AUDIO_DECODER, PLUGIN_AUDIO_OUT, plugin_node_s::plugin_class, PLUGIN_DEMUX, PLUGIN_INPUT, PLUGIN_POST, PLUGIN_SPU_DECODER, PLUGIN_TYPE_MASK, PLUGIN_VIDEO_DECODER, PLUGIN_VIDEO_OUT, PLUGIN_XINE_MODULE, and plugin_info_t::type.
Referenced by _unload_unref_plugin(), and dispose_plugin_list().
|
static |
References fat_node_st::file, plugin_file_t::filemtime, plugin_file_t::filename, and plugin_file_t::filesize.
Referenced by _new_catalog().
|
static |
References plugin_info_t::API, plugin_node_s::config_entry_list, plugin_node_s::file, plugin_file_t::filemtime, plugin_file_t::filename, plugin_file_t::filesize, plugin_info_t::id, plugin_node_s::info, plugin_info_t::init, plugin_file_t::lib_handle, plugin_file_t::no_unload, fat_node_st::node, NULL, plugin_node_s::plugin_class, plugin_node_s::priority, plugin_file_t::ref, plugin_node_s::ref, plugin_info_t::special_info, plugin_info_t::type, and plugin_info_t::version.
Referenced by _insert_node(), and load_plugin_list().
|
static |
References _load_plugin_class(), demux_class_s::extensions, plugin_catalog_s::lock, demux_class_s::mimetypes, NULL, xine_s::plugin_catalog, plugin_node_s::plugin_class, PLUGIN_DEMUX, plugin_catalog_s::plugin_lists, xine_sarray_get(), xine_sarray_size(), and xine_small_memcpy.
Referenced by xine_get_file_extensions(), and xine_get_mime_types().
|
static |
References _load_plugin_class(), plugin_info_t::id, plugin_node_s::info, NULL, plugin_node_s::plugin_class, PLUGIN_INPUT, plugin_catalog_s::plugin_lists, xine_sarray_get(), and xine_sarray_size().
Referenced by xine_get_autoplay_mrls(), and xine_get_browse_mrls().
|
static |
|
static |
References _, _decoder_priority_cb(), _fat_node_init(), fat_node_st::ainfo, all_info_t::ao_info, plugin_info_t::API, all_info_t::decoder_info, DECODER_MAX, all_info_t::demuxer_info, plugin_node_s::file, fat_node_st::file, plugin_file_t::filename, plugin_info_t::id, plugin_node_s::info, fat_node_st::info, plugin_info_t::init, all_info_t::input_info, key, fat_node_st::lastplugin, lprintf, all_info_t::module_info, plugin_file_t::no_unload, fat_node_st::node, NULL, PLUGIN_AUDIO_DECODER, PLUGIN_AUDIO_OUT, PLUGIN_DEMUX, plugin_iface_versions, PLUGIN_INPUT, PLUGIN_MAX, PLUGIN_NO_UNLOAD, PLUGIN_POST, PLUGIN_SPU_DECODER, PLUGIN_TYPE_MASK, PLUGIN_TYPE_MAX, PLUGIN_VIDEO_DECODER, PLUGIN_VIDEO_OUT, PLUGIN_XINE_MODULE, all_info_t::post_info, plugin_node_s::priority, vo_info_t::priority, ao_info_t::priority, decoder_info_t::priority, demuxer_info_t::priority, input_info_t::priority, xine_module_info_t::priority, plugin_info_t::special_info, decoder_info_t::supported_types, fat_node_st::supported_types, plugin_info_t::type, post_info_t::type, vo_info_t::visual_type, all_info_t::vo_info, fat_node_st::xine, xine_log(), XINE_LOG_PLUGIN, xine_sarray_add(), xine_small_memcpy, XINE_VERBOSITY_LOG, and xprintf.
Referenced by _register_plugins_internal().
|
static |
References _load_plugin_class(), inc_node_ref(), NULL, and plugin_node_s::plugin_class.
Referenced by _x_load_audio_output_plugin(), and xine_open_audio_driver().
|
static |
References _, _new_entry_cb(), _plugin_info_equal(), plugin_node_s::file, plugin_file_t::filename, plugin_info_t::id, inc_file_ref(), plugin_node_s::info, plugin_info_t::init, plugin_file_t::lib_handle, lprintf, new_entry_data_t::node, NULL, plugin_node_s::plugin_class, PLUGIN_NONE, config_values_s::set_new_entry_callback, plugin_info_t::type, config_values_s::unset_new_entry_callback, new_entry_data_t::v, xine_log(), and XINE_LOG_PLUGIN.
Referenced by _get_demux_strings(), _get_input_class(), _load_audio_driver(), _load_required_plugins(), _load_video_driver(), _x_find_demux_plugin_by_name(), _x_find_demux_plugin_last_probe(), _x_find_input_plugin(), _x_find_module(), _x_get_audio_decoder(), _x_get_spu_decoder(), _x_get_video_decoder(), probe_demux(), probe_mime_type(), xine_get_autoplay_input_plugin_ids(), xine_get_browsable_input_plugin_ids(), and xine_post_init().
|
static |
References _load_plugin_class(), plugin_node_s::file, plugin_file_t::filename, plugin_info_t::id, plugin_node_s::info, plugin_file_t::lib_handle, lprintf, NULL, plugin_node_s::plugin_class, PLUGIN_MUST_PRELOAD, plugin_info_t::type, xine_sarray_get(), xine_sarray_remove(), and xine_sarray_size().
Referenced by load_required_plugins().
|
static |
References _load_plugin_class(), inc_node_ref(), NULL, and plugin_node_s::plugin_class.
Referenced by _x_load_video_output_plugin(), and xine_new_framegrab_video_port().
|
static |
References _fat_node_file_cmp(), _plugin_node_comparator(), _post_plugin_node_comparator(), plugin_catalog_s::cache_list, plugin_catalog_s::file_list, plugin_catalog_s::lock, plugin_catalog_s::modules_list, NULL, plugin_catalog_s::plugin_lists, PLUGIN_POST, PLUGIN_TYPE_MAX, xine_list_delete(), xine_list_new(), xine_sarray_delete(), XINE_SARRAY_MODE_UNIQUE, xine_sarray_new(), and xine_sarray_set_mode().
Referenced by _x_scan_plugins().
|
static |
References plugin_node_s::config_entry_list, config_values_s::cur, xine_cfg_entry_s::key, new_entry_data_t::node, user_data(), new_entry_data_t::v, xine_list_find(), xine_list_new(), and xine_list_push_back().
Referenced by _load_plugin_class(), and load_plugin_list().
|
inlinestatic |
References plugin_info_t::API, plugin_info_t::id, PLUGIN_TYPE_MASK, PLUGIN_VIDEO_OUT, PLUGIN_XINE_MODULE, plugin_info_t::special_info, plugin_info_t::type, and plugin_info_t::version.
Referenced by _load_plugin_class().
|
static |
References plugin_node_s::priority.
Referenced by _new_catalog().
|
static |
References plugin_info_t::id, plugin_node_s::info, and plugin_node_s::priority.
Referenced by _new_catalog().
|
static |
References _, _insert_node(), fat_node_st::file, plugin_file_t::filename, plugin_info_t::id, plugin_node_s::info, fat_node_st::info, plugin_file_t::lib_handle, lprintf, fat_node_st::nextplugin, fat_node_st::node, NULL, PLUGIN_NONE, PLUGIN_TYPE_MASK, plugin_info_t::type, xine_builtin_plugin_info, xine_log(), and XINE_LOG_PLUGIN.
Referenced by _x_scan_plugins(), collect_plugins(), and xine_register_plugins().
|
static |
References _, _dispose_plugin_class(), plugin_node_s::file, plugin_file_t::filename, plugin_file_t::lib_handle, lprintf, plugin_file_t::no_unload, NULL, plugin_file_t::ref, plugin_node_s::ref, xine_log(), and XINE_LOG_PLUGIN.
Referenced by _unload_unref_plugins().
|
static |
References _unload_unref_plugin(), xine_sarray_get(), and xine_sarray_size().
Referenced by xine_plugins_garbage_collector().
int _x_decoder_available | ( | xine_t * | xine, |
uint32_t | buftype | ||
) |
demux_plugin_t * _x_find_demux_plugin | ( | xine_stream_t * | stream, |
input_plugin_t * | input | ||
) |
References _, xine_s::demux_strategy, input(), METHOD_BY_CONTENT, METHOD_BY_MRL, NULL, probe_demux(), xine_stream_s::xine, XINE_DEMUX_CONTENT_STRATEGY, XINE_DEMUX_DEFAULT_STRATEGY, XINE_DEMUX_EXTENSION_STRATEGY, XINE_DEMUX_REVERT_STRATEGY, XINE_VERBOSITY_LOG, and xprintf.
Referenced by open_internal().
demux_plugin_t * _x_find_demux_plugin_by_name | ( | xine_stream_t * | stream, |
const char * | name, | ||
input_plugin_t * | input | ||
) |
References _load_plugin_class(), _x_demux_check_extension(), xine_stream_s::content_detection_method, plugin_info_t::id, inc_node_ref(), plugin_node_s::info, input(), plugin_catalog_s::lock, METHOD_BY_MRL, METHOD_EXPLICIT, name, NULL, xine_s::plugin_catalog, plugin_node_s::plugin_class, PLUGIN_DEMUX, plugin_catalog_s::plugin_lists, xine_stream_s::xine, xine_sarray_get(), and xine_sarray_size().
Referenced by open_internal().
demux_plugin_t * _x_find_demux_plugin_last_probe | ( | xine_stream_t * | stream, |
const char * | last_demux_name, | ||
input_plugin_t * | input | ||
) |
References _, _load_plugin_class(), _x_demux_check_extension(), xine_stream_s::content_detection_method, plugin_info_t::id, inc_node_ref(), plugin_node_s::info, input(), plugin_catalog_s::lock, lprintf, METHOD_BY_CONTENT, METHOD_BY_MRL, NULL, xine_s::plugin_catalog, plugin_node_s::plugin_class, PLUGIN_DEMUX, plugin_catalog_s::plugin_lists, xine_stream_s::xine, xine_sarray_get(), xine_sarray_size(), XINE_VERBOSITY_DEBUG, XINE_VERBOSITY_LOG, and xprintf.
Referenced by open_internal().
input_plugin_t * _x_find_input_plugin | ( | xine_stream_t * | stream, |
const char * | mrl | ||
) |
References _load_plugin_class(), inc_node_ref(), plugin_catalog_s::lock, NULL, xine_s::plugin_catalog, plugin_node_s::plugin_class, PLUGIN_INPUT, plugin_catalog_s::plugin_lists, xine_stream_private_st::query_input_plugins, xine_stream_private_st::s, xine_stream_s::xine, xine_sarray_get(), and xine_sarray_size().
Referenced by hls_input_get_instance(), hls_input_switch_mrl(), and open_internal().
xine_module_t * _x_find_module | ( | xine_t * | xine, |
const char * | type, | ||
const char * | id, | ||
unsigned | sub_type, | ||
const void * | params | ||
) |
References _load_plugin_class(), plugin_info_t::id, inc_node_ref(), plugin_node_s::info, plugin_catalog_s::lock, plugin_catalog_s::modules_list, xine_module_s::node, NULL, xine_s::plugin_catalog, plugin_node_s::plugin_class, plugin_info_t::special_info, xine_module_info_t::sub_type, xine_module_info_t::type, xine_sarray_get(), and xine_sarray_size().
Referenced by _x_find_tls_plugin(), and _x_load_gl().
void _x_free_audio_decoder | ( | xine_stream_t * | stream, |
audio_decoder_t * | ad | ||
) |
References dec_node_ref(), audio_decoder_s::dispose, plugin_catalog_s::lock, xine_s::plugin_catalog, and xine_stream_s::xine.
Referenced by audio_decoder_loop().
void _x_free_audio_driver | ( | xine_t * | xine, |
ao_driver_t ** | pdriver | ||
) |
References dec_node_ref(), ao_driver_s::exit, plugin_catalog_s::lock, NULL, and xine_s::plugin_catalog.
void _x_free_demux_plugin | ( | xine_stream_t * | stream, |
demux_plugin_t ** | pdemux | ||
) |
References dec_node_ref(), demux_plugin_s::dispose, plugin_catalog_s::lock, NULL, xine_s::plugin_catalog, and xine_stream_s::xine.
Referenced by close_internal(), and open_internal().
void _x_free_input_plugin | ( | xine_stream_t * | stream, |
input_plugin_t * | input | ||
) |
References dec_node_ref(), input(), plugin_catalog_s::lock, xine_s::plugin_catalog, and xine_stream_s::xine.
Referenced by cache_plugin_dispose(), close_internal(), hls_input_dispose(), hls_input_get_instance(), hls_input_switch_mrl(), open_internal(), and rip_plugin_dispose().
void _x_free_module | ( | xine_t * | xine, |
xine_module_t ** | pmodule | ||
) |
References dec_node_ref(), xine_module_s::dispose, plugin_catalog_s::lock, xine_module_s::node, NULL, and xine_s::plugin_catalog.
Referenced by _x_free_tls_plugin(), and default_gl_dispose().
void _x_free_spu_decoder | ( | xine_stream_t * | stream, |
spu_decoder_t * | sd | ||
) |
References dec_node_ref(), spu_decoder_s::dispose, plugin_catalog_s::lock, xine_s::plugin_catalog, and xine_stream_s::xine.
Referenced by update_spu_decoder(), and video_decoder_loop().
void _x_free_video_decoder | ( | xine_stream_t * | stream, |
video_decoder_t * | vd | ||
) |
References dec_node_ref(), video_decoder_s::dispose, plugin_catalog_s::lock, xine_s::plugin_catalog, and xine_stream_s::xine.
Referenced by video_decoder_loop().
void _x_free_video_driver | ( | xine_t * | xine, |
vo_driver_t ** | pdriver | ||
) |
References dec_node_ref(), plugin_catalog_s::lock, NULL, and xine_s::plugin_catalog.
Referenced by vo_exit().
audio_decoder_t * _x_get_audio_decoder | ( | xine_stream_t * | stream, |
uint8_t | stream_type | ||
) |
References _load_plugin_class(), _x_assert, plugin_catalog_s::audio_decoder_map, DECODER_MAX, plugin_info_t::id, inc_node_ref(), plugin_node_s::info, plugin_catalog_s::lock, lprintf, NULL, xine_s::plugin_catalog, plugin_node_s::plugin_class, PLUGINS_PER_TYPE, xine_stream_s::xine, XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by audio_decoder_loop().
spu_decoder_t * _x_get_spu_decoder | ( | xine_stream_t * | stream, |
uint8_t | stream_type | ||
) |
References _load_plugin_class(), _x_assert, DECODER_MAX, plugin_info_t::id, inc_node_ref(), plugin_node_s::info, plugin_catalog_s::lock, lprintf, NULL, xine_s::plugin_catalog, plugin_node_s::plugin_class, PLUGINS_PER_TYPE, plugin_catalog_s::spu_decoder_map, xine_stream_s::xine, XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by process_userdata(), and update_spu_decoder().
video_decoder_t * _x_get_video_decoder | ( | xine_stream_t * | stream, |
uint8_t | stream_type | ||
) |
References _load_plugin_class(), _x_assert, DECODER_MAX, plugin_info_t::id, inc_node_ref(), plugin_node_s::info, plugin_catalog_s::lock, lprintf, NULL, xine_s::plugin_catalog, plugin_node_s::plugin_class, PLUGINS_PER_TYPE, plugin_catalog_s::video_decoder_map, xine_stream_s::xine, XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by video_decoder_loop().
ao_driver_t * _x_load_audio_output_plugin | ( | xine_t * | this, |
const char * | id | ||
) |
References _, _load_audio_driver(), plugin_info_t::id, plugin_node_s::info, plugin_catalog_s::lock, NULL, PLUGIN_AUDIO_OUT, xine_sarray_get(), xine_sarray_size(), XINE_VERBOSITY_LOG, and xprintf.
Referenced by ao_loop().
vo_driver_t * _x_load_video_output_plugin | ( | xine_t * | this, |
const char * | id, | ||
int | visual_type, | ||
const void * | visual | ||
) |
|
static |
Returns the complete filename for the plugins' cache file.
this | Instance pointer, used for logging and libxdg-basedir. |
createdir | If not zero, create the directory structure in which the file has to reside. |
References _, NULL, PACKAGE, XINE_VERBOSITY_LOG, and xprintf.
Referenced by load_cached_catalog(), and save_catalog().
|
static |
References _, _insert_file(), _register_plugins_internal(), fat_node_st::file, plugin_file_t::filemtime, plugin_file_t::filename, plugin_file_t::filesize, plugin_node_s::info, lprintf, fat_node_st::node, NULL, xine_log(), XINE_LOG_PLUGIN, xine_sarray_binary_search(), xine_sarray_get(), xine_sarray_remove(), XINE_VERBOSITY_LOG, and xprintf.
Referenced by _x_scan_plugins().
|
static |
References _x_assert, fat_node_st::file, plugin_file_t::filename, lprintf, and plugin_file_t::ref.
Referenced by _dispose_plugin_class().
|
static |
References _x_assert, plugin_info_t::id, plugin_node_s::info, lprintf, fat_node_st::node, and plugin_node_s::ref.
Referenced by _x_free_audio_decoder(), _x_free_audio_driver(), _x_free_demux_plugin(), _x_free_input_plugin(), _x_free_module(), _x_free_spu_decoder(), _x_free_video_decoder(), and _x_free_video_driver().
|
static |
References _x_freep(), plugin_file_t::filename, NULL, xine_list_delete(), and xine_list_next_value().
Referenced by _x_dispose_plugins().
|
static |
References _dispose_plugin_class(), _x_assert, _x_freep(), fat_node_st::ainfo, plugin_node_s::config_entry_list, plugin_node_s::file, fat_node_st::file, plugin_file_t::filename, plugin_info_t::id, plugin_node_s::info, fat_node_st::info, IS_FAT_NODE, plugin_file_t::lib_handle, lprintf, fat_node_st::nextplugin, fat_node_st::node, NULL, PLUGIN_AUDIO_DECODER, PLUGIN_SPU_DECODER, PLUGIN_TYPE_MASK, PLUGIN_VIDEO_DECODER, plugin_file_t::ref, plugin_node_s::ref, plugin_info_t::special_info, decoder_info_t::supported_types, fat_node_st::supported_types, plugin_info_t::type, xine_list_delete(), xine_sarray_delete(), xine_sarray_get(), and xine_sarray_size().
Referenced by _x_dispose_plugins().
|
static |
References fat_node_st::file, and plugin_file_t::ref.
Referenced by _load_plugin_class().
|
static |
References fat_node_st::node, and plugin_node_s::ref.
Referenced by _load_audio_driver(), _load_video_driver(), _x_find_demux_plugin_by_name(), _x_find_demux_plugin_last_probe(), _x_find_input_plugin(), _x_find_module(), _x_get_audio_decoder(), _x_get_spu_decoder(), _x_get_video_decoder(), probe_demux(), and xine_post_init().
|
static |
References catalog_filename(), load_plugin_list(), and NULL.
Referenced by _x_scan_plugins().
|
static |
References _fat_node_init(), _new_entry_cb(), fat_node_st::ainfo, all_info_t::ao_info, plugin_info_t::API, CACHE_CATALOG_VERSION, all_info_t::decoder_info, all_info_t::demuxer_info, plugin_node_s::file, fat_node_st::file, plugin_file_t::filemtime, plugin_file_t::filename, plugin_file_t::filesize, plugin_info_t::id, plugin_node_s::info, fat_node_st::info, all_info_t::input_info, fat_node_st::lastplugin, lprintf, all_info_t::module_info, fat_node_st::nextplugin, fat_node_st::node, new_entry_data_t::node, NULL, all_info_t::post_info, vo_info_t::priority, ao_info_t::priority, decoder_info_t::priority, demuxer_info_t::priority, input_info_t::priority, xine_module_info_t::priority, plugin_info_t::special_info, xine_module_info_t::sub_type, decoder_info_t::supported_types, fat_node_st::supported_types, supported_types, plugin_info_t::type, post_info_t::type, xine_module_info_t::type, new_entry_data_t::v, plugin_info_t::version, vo_info_t::visual_type, all_info_t::vo_info, xine_sarray_add(), xine_sarray_get(), xine_small_memcpy, xine_str2int32(), xine_str2uint32(), and xine_str2uint64().
Referenced by load_cached_catalog().
|
static |
References _load_required_plugins(), and PLUGIN_TYPE_MAX.
Referenced by _x_scan_plugins().
|
static |
References _, DECODER_MAX, plugin_info_t::id, plugin_node_s::info, lprintf, fat_node_st::node, NULL, PLUGINS_PER_TYPE, plugin_node_s::priority, plugin_info_t::special_info, xine_log(), XINE_LOG_PLUGIN, xine_sarray_get(), and xine_sarray_size().
Referenced by _decoder_priority_cb(), and map_decoders().
|
static |
|
static |
References _load_plugin_class(), _x_demux_check_extension(), xine_stream_s::content_detection_method, input_plugin_s::get_optional_data, plugin_info_t::id, inc_node_ref(), plugin_node_s::info, input(), INPUT_OPTIONAL_DATA_DEMUX_MIME_TYPE, INPUT_OPTIONAL_DATA_MIME_TYPE, INPUT_OPTIONAL_UNSUPPORTED, xine_stream_s::input_plugin, plugin_catalog_s::lock, METHOD_BY_MRL, METHOD_EXPLICIT, NULL, xine_s::plugin_catalog, plugin_node_s::plugin_class, PLUGIN_DEMUX, plugin_catalog_s::plugin_lists, probe_mime_type(), xine_stream_s::xine, xine_sarray_get(), xine_sarray_size(), XINE_VERBOSITY_DEBUG, and xprintf.
Referenced by _x_find_demux_plugin().
|
static |
References _load_plugin_class(), demux_class_s::mimetypes, NULL, and plugin_node_s::plugin_class.
Referenced by probe_demux(), and xine_get_demux_for_mime_type().
|
static |
References _, _x_asprintf(), CACHE_CATALOG_VERSION_STR, catalog_filename(), NULL, PLUGIN_TYPE_MAX, save_plugin_list(), xine_log(), and XINE_LOG_MSG.
Referenced by _x_scan_plugins().
|
static |
References plugin_info_t::API, plugin_node_s::config_entry_list, plugin_node_s::file, plugin_file_t::filemtime, plugin_file_t::filename, plugin_file_t::filesize, plugin_info_t::id, plugin_node_s::info, cfg_entry_s::key, lprintf, NULL, PLUGIN_AUDIO_DECODER, PLUGIN_AUDIO_OUT, PLUGIN_DEMUX, PLUGIN_INPUT, PLUGIN_POST, PLUGIN_SPU_DECODER, PLUGIN_TYPE_MASK, PLUGIN_VIDEO_DECODER, PLUGIN_VIDEO_OUT, PLUGIN_XINE_MODULE, vo_info_t::priority, ao_info_t::priority, decoder_info_t::priority, demuxer_info_t::priority, input_info_t::priority, xine_module_info_t::priority, SAVE_PLUGIN_BUF_SIZE, plugin_info_t::special_info, xine_module_info_t::sub_type, decoder_info_t::supported_types, plugin_info_t::type, post_info_t::type, xine_module_info_t::type, plugin_info_t::version, vo_info_t::visual_type, xine_int32_2str(), xine_list_next_value(), XINE_MAX_INT32_STR, XINE_MAX_INT64_STR, xine_sarray_get(), xine_sarray_size(), xine_uint2str, and xine_uint32_2str().
Referenced by save_catalog().
void xine_close_audio_driver | ( | xine_t * | this, |
xine_audio_port_t * | ao_port | ||
) |
References xine_audio_port_s::exit.
void xine_close_video_driver | ( | xine_t * | this, |
xine_video_port_t * | vo_port | ||
) |
References xine_video_port_s::exit.
const char * xine_get_audio_driver_plugin_description | ( | xine_t * | this, |
const char * | plugin_id | ||
) |
const char * xine_get_audio_plugin_description | ( | xine_t * | this, |
const char * | plugin_id | ||
) |
const char *const * xine_get_autoplay_input_plugin_ids | ( | xine_t * | this | ) |
const char *const * xine_get_autoplay_mrls | ( | xine_t * | this, |
const char * | plugin_id, | ||
int * | num_mrls | ||
) |
References _get_input_class(), input_class_s::get_autoplay_list, plugin_catalog_s::lock, and NULL.
const char *const * xine_get_browsable_input_plugin_ids | ( | xine_t * | this | ) |
xine_mrl_t ** xine_get_browse_mrls | ( | xine_t * | this, |
const char * | plugin_id, | ||
const char * | start_mrl, | ||
int * | num_mrls | ||
) |
References _get_input_class(), input_class_s::get_dir, plugin_catalog_s::lock, and NULL.
char * xine_get_demux_for_mime_type | ( | xine_t * | self, |
const char * | mime_type | ||
) |
const char * xine_get_demux_plugin_description | ( | xine_t * | this, |
const char * | plugin_id | ||
) |
char * xine_get_file_extensions | ( | xine_t * | self | ) |
References _get_demux_strings().
const char * xine_get_input_plugin_description | ( | xine_t * | this, |
const char * | plugin_id | ||
) |
char * xine_get_mime_types | ( | xine_t * | self | ) |
References _get_demux_strings().
const char * xine_get_post_plugin_description | ( | xine_t * | this, |
const char * | plugin_id | ||
) |
const char * xine_get_spu_plugin_description | ( | xine_t * | this, |
const char * | plugin_id | ||
) |
const char * xine_get_video_driver_plugin_description | ( | xine_t * | this, |
const char * | plugin_id | ||
) |
const char * xine_get_video_plugin_description | ( | xine_t * | this, |
const char * | plugin_id | ||
) |
const char *const * xine_list_audio_decoder_plugins | ( | xine_t * | xine | ) |
References _build_list_typed_plugins(), and PLUGIN_AUDIO_DECODER.
const char *const * xine_list_audio_output_plugins | ( | xine_t * | xine | ) |
References _build_list_typed_plugins(), and PLUGIN_AUDIO_OUT.
const char *const * xine_list_demuxer_plugins | ( | xine_t * | xine | ) |
References _build_list_typed_plugins(), and PLUGIN_DEMUX.
const char *const * xine_list_input_plugins | ( | xine_t * | xine | ) |
References _build_list_typed_plugins(), and PLUGIN_INPUT.
const char *const * xine_list_post_plugins | ( | xine_t * | xine | ) |
References _build_list_typed_plugins(), and PLUGIN_POST.
const char *const * xine_list_post_plugins_typed | ( | xine_t * | xine, |
uint32_t | type | ||
) |
const char *const * xine_list_spu_plugins | ( | xine_t * | xine | ) |
References _build_list_typed_plugins(), and PLUGIN_SPU_DECODER.
const char *const * xine_list_video_decoder_plugins | ( | xine_t * | xine | ) |
References _build_list_typed_plugins(), and PLUGIN_VIDEO_DECODER.
const char *const * xine_list_video_output_plugins | ( | xine_t * | xine | ) |
References _build_list_typed_plugins(), and PLUGIN_VIDEO_OUT.
const char *const * xine_list_video_output_plugins_typed | ( | xine_t * | xine, |
uint64_t | typemask | ||
) |
xine_audio_port_t * xine_new_framegrab_audio_port | ( | xine_t * | this | ) |
References _x_ao_new_port(), and NULL.
xine_video_port_t * xine_new_framegrab_video_port | ( | xine_t * | this | ) |
xine_audio_port_t * xine_open_audio_driver | ( | xine_t * | this, |
const char * | id, | ||
const void * | data | ||
) |
xine_video_port_t * xine_open_video_driver | ( | xine_t * | this, |
const char * | id, | ||
int | visual_type, | ||
const void * | visual | ||
) |
References _x_load_video_output_plugin(), _x_vo_new_port(), lprintf, and NULL.
void xine_plugins_garbage_collector | ( | xine_t * | self | ) |
void xine_post_dispose | ( | xine_t * | xine, |
xine_post_t * | post_gen | ||
) |
References post_plugin_s::dispose.
xine_post_t * xine_post_init | ( | xine_t * | xine_gen, |
const char * | name, | ||
int | inputs, | ||
xine_audio_port_t ** | audio_target, | ||
xine_video_port_t ** | video_target | ||
) |
References _load_plugin_class(), plugin_info_t::id, inc_node_ref(), plugin_node_s::info, input(), plugin_catalog_s::lock, xine_post_out_s::name, name, NULL, xine_s::plugin_catalog, plugin_node_s::plugin_class, plugin_catalog_s::plugin_lists, PLUGIN_POST, xine_private_t::port_ticket, plugin_info_t::special_info, xine_private_t::x, xine_list_next_value(), xine_list_size(), xine_sarray_get(), xine_sarray_size(), XINE_VERBOSITY_DEBUG, and xprintf.
void xine_register_plugins | ( | xine_t * | self, |
const plugin_info_t * | info | ||
) |
References _register_plugins_internal(), fat_node_st::info, and NULL.
|
static |
Referenced by _insert_node().