static int _insert_node(xine_t *this, plugin_file_t *file, fat_node_t *node_cache, const plugin_info_t *info)
Definition: load_plugins.c:399
Definition: xine_internal.h:80
const char *const * xine_get_autoplay_mrls(xine_t *this, const char *plugin_id, int *num_mrls)
Definition: load_plugins.c:2609
const char * name
Definition: xine.h:738
void xine_close_audio_driver(xine_t *this, xine_audio_port_t *ao_port)
Definition: load_plugins.c:2566
post_info_t post_info
Definition: load_plugins.c:129
#define sock_errno
Definition: io_helper.c:150
xine_audio_port_t * xine_open_audio_driver(xine_t *this, const char *id, const void *data)
Definition: load_plugins.c:2471
int priority
Definition: xine_plugin.h:67
xine_module_t * _x_find_module(xine_t *xine, const char *type, const char *id, unsigned sub_type, const void *params)
Definition: load_plugins.c:1769
int32_t size
Definition: buffer.h:343
xine_t * xine
Definition: xine_internal.h:126
#define XINE_DEMUX_CONTENT_STRATEGY
Definition: xine.h:419
#define __Max(a, b)
Definition: load_plugins.c:110
Definition: video_decoder.h:73
plugin_file_t file
Definition: load_plugins.c:137
Definition: xine_internal.h:123
xine_t x
Definition: xine_private.h:401
off_t _x_io_tcp_write(xine_stream_t *stream, int s, const void *wbuf_gen, off_t todo)
Definition: io_helper.c:607
lrb_t * lrb_new(int max_num_entries, fifo_buffer_t *fifo)
Definition: lrb.c:28
pthread_cond_t not_empty
Definition: buffer.h:590
xine_mrl_t ** xine_get_browse_mrls(xine_t *this, const char *plugin_id, const char *start_mrl, int *num_mrls)
Definition: load_plugins.c:2633
#define XINE_DEMUX_DEFAULT_STRATEGY
Definition: xine.h:415
void * lib_handle
Definition: plugin_catalog.h:39
int _x_io_tcp_read_line(xine_stream_t *stream, int sock, char *str, int size)
Definition: io_helper.c:714
xine_t * xine
Definition: post.h:113
#define PLUGIN_SPU_DECODER
Definition: xine_plugin.h:34
#define XIO_ABORTED
Definition: io_helper.h:36
xine_post_t xine_post
Definition: post.h:83
void(* set_new_entry_callback)(config_values_t *self, xine_config_cb_t new_entry_cb, void *cb_data)
Definition: configfile.h:201
char * meta_info[XINE_STREAM_INFO_MAX]
Definition: xine_private.h:501
vo_info_t vo_info
Definition: load_plugins.c:124
xine_list_t * xine_list_new(void)
Definition: list.c:72
pthread_mutex_t lock
Definition: plugin_catalog.h:68
xine_video_port_t * _x_vo_new_port(xine_t *xine, vo_driver_t *driver, int grabonly)
Build a video output port from a given video driver.
Definition: video_out.c:3041
Definition: xine_module.h:62
static uint32_t xine_str2uint32(const char **s)
Definition: xine_private.h:282
static void dispose_plugin_file_list(xine_list_t *list)
Definition: load_plugins.c:3331
#define PLUGIN_MUST_PRELOAD
Definition: xine_plugin.h:46
static void map_decoders(xine_t *this)
Definition: load_plugins.c:330
char key[16]
Definition: xine_speex_decoder.c:94
static plugin_file_t * _insert_file(xine_list_t *list, const char *filename, const struct stat *statbuffer, void *lib)
Definition: load_plugins.c:374
void xine_sarray_remove(xine_sarray_t *sarray, unsigned int position)
Definition: sorted_array.c:91
Definition: xine_plugin.h:83
#define SOCK_EINPROGRESS
Definition: io_helper.c:153
int xine_socket_cloexec(int domain, int type, int protocol)
Definition: utils.c:837
#define SOCK_EACCES
Definition: io_helper.c:155
demuxer_info_t demuxer_info
Definition: load_plugins.c:126
#define XINE_DEMUX_EXTENSION_STRATEGY
Definition: xine.h:421
Definition: audio_decoder.h:73
void xine_list_push_back(xine_list_t *list, void *value)
Definition: list.c:162
#define XINE_STREAM_INFO_HAS_VIDEO
Definition: xine.h:1023
int fifo_size
Definition: buffer.h:585
void xine_list_delete(xine_list_t *list)
Definition: list.c:108
#define POST_PLUGIN_IFACE_VERSION
Definition: post.h:37
void *(* xine_fast_memcpy)(void *to, const void *from, size_t len)
Definition: memcpy.c:60
xine_sarray_t * modules_list
Definition: plugin_catalog.h:73
#define CACHE_CATALOG_VERSION
Definition: load_plugins.c:107
xine_sarray_t * xine_sarray_new(size_t initial_size, xine_sarray_comparator_t comparator)
Definition: sorted_array.c:44
xine_audio_port_t * xine_new_framegrab_audio_port(xine_t *this)
Definition: load_plugins.c:2523
#define PLUGIN_AUDIO_OUT
Definition: xine_plugin.h:35
int _x_io_select(xine_stream_t *stream, int fd, int state, int timeout_msec)
Definition: io_helper.c:356
void _x_meta_info_set_generic(xine_stream_t *s, int info, const char *str, const char *enc)
Definition: info_helper.c:331
void(* dispose)(post_plugin_t *this_gen)
Definition: post.h:95
static ao_driver_t * _load_audio_driver(xine_t *this, plugin_node_t *node, const void *data)
Definition: load_plugins.c:2424
void xine_register_plugins(xine_t *self, const plugin_info_t *info)
Definition: load_plugins.c:706
void xine_plugins_garbage_collector(xine_t *self)
Definition: load_plugins.c:2878
xine_list_iterator_t xine_list_find(xine_list_t *list, void *value)
Definition: list.c:275
off_t _x_io_file_read(xine_stream_t *stream, int s, void *buf_gen, off_t todo)
Definition: io_helper.c:641
void lrb_add(lrb_t *this, buf_element_t *buf)
Definition: lrb.c:58
char * filename
Definition: plugin_catalog.h:36
static void map_decoder_list(xine_t *this, xine_sarray_t *decoder_list, plugin_node_t *decoder_map[DECODER_MAX][PLUGINS_PER_TYPE])
Definition: load_plugins.c:273
struct fat_node_st * lastplugin
Definition: load_plugins.c:138
#define PLUGIN_AUDIO_DECODER
Definition: xine_plugin.h:32
int ref
Definition: plugin_catalog.h:40
static int _load_plugin_class(xine_t *this, plugin_node_t *node, const void *data)
Definition: load_plugins.c:935
static void reportIP(xine_stream_t *stream, const char *text, const uint8_t *p, int port)
Definition: io_helper.c:58
lrb_t * lrb_new(int max_num_entries, fifo_buffer_t *fifo)
Definition: lrb.c:28
#define XINE_FLAG_NO_WRITE_CACHE
Definition: xine.h:122
static int info_valid(xine_stream_private_t *stream, int info)
Definition: info_helper.c:45
void _x_free_module(xine_t *xine, xine_module_t **pmodule)
Definition: load_plugins.c:1807
#define sock_strerror
Definition: io_helper.c:149
int max_num_entries
Definition: lrb.h:31
xine_stream_t s
Definition: xine_private.h:432
void _x_meta_info_set(xine_stream_t *s, int info, const char *str)
Definition: info_helper.c:321
void _x_stream_info_reset(xine_stream_t *s, int info)
Definition: info_helper.c:58
#define DEMUXER_PLUGIN_IFACE_VERSION
Definition: demux.h:31
void(* unset_new_entry_callback)(config_values_t *self)
Definition: configfile.h:206
Definition: xine_module.h:29
void * xine_list_next_value(xine_list_t *list, xine_list_iterator_t *ite)
Definition: list.c:197
void * xine_sarray_get(xine_sarray_t *sarray, unsigned int position)
Definition: sorted_array.c:78
void lrb_add(lrb_t *this, buf_element_t *buf)
Definition: lrb.c:58
char * xine_get_mime_types(xine_t *self)
Definition: load_plugins.c:3228
off_t _x_io_file_write(xine_stream_t *stream, int s, const void *wbuf_gen, off_t todo)
Definition: io_helper.c:675
off_t filesize
Definition: plugin_catalog.h:37
Definition: xine_plugin.h:88
#define AUDIO_DECODER_IFACE_VERSION
Definition: audio_decoder.h:31
fifo_buffer_t * fifo
Definition: lrb.h:35
void xine_sarray_delete(xine_sarray_t *sarray)
Definition: sorted_array.c:61
Definition: load_plugins.c:133
static char * _get_demux_strings(xine_t *self, int kind)
Definition: load_plugins.c:3146
static int _plugin_node_comparator(void *a, void *b)
Definition: load_plugins.c:585
xine_list_t * output
Definition: post.h:90
int xine_sarray_add(xine_sarray_t *sarray, void *value)
Definition: sorted_array.c:161
int stream_info[XINE_STREAM_INFO_MAX]
Definition: xine_private.h:496
buf_element_t *(* buffer_pool_alloc)(fifo_buffer_t *self)
Definition: buffer.h:617
xio_handshake_status_t() xio_handshake_cb_t(void *userdata, int fd)
Definition: io_helper.h:88
int xine_sarray_remove_ptr(xine_sarray_t *sarray, void *ptr)
Definition: sorted_array.c:105
uint32_t type
Definition: xine_plugin.h:84
void _x_dispose_plugins(xine_t *this)
Dispose (shutdown) all currently loaded plugins.
Definition: load_plugins.c:3349
struct plugin_node_s * node
Pointer to the loaded plugin node.
Definition: xine_module.h:70
int() _cmp_func_t(void *a, void *b)
Definition: load_plugins.c:193
Definition: spu_decoder.h:74
const char * mimetypes
MIME types supported for this plugin.
Definition: demux.h:74
#define GET_PLUGIN_DESC(NAME, TYPE, CATITEM)
Definition: load_plugins.c:3026
#define BUF_SPU_BASE
Definition: buffer.h:285
int _x_message(xine_stream_t *stream, int type,...)
Definition: xine_interface.c:1000
plugin_node_t * spu_decoder_map[128][10]
Definition: plugin_catalog.h:61
Definition: video_out.h:176
static void _decoder_priority_cb(void *data, xine_cfg_entry_t *cfg)
Definition: load_plugins.c:346
#define PLUGIN_INPUT
Definition: xine_plugin.h:30
#define lprintf(...)
Definition: xineutils.h:620
#define BUF_DEMUX_BLOCK
Definition: xineplug_inp_vcd.c:82
cfg_entry_t * cur
Definition: configfile.h:224
void _x_free_spu_decoder(xine_stream_t *stream, spu_decoder_t *sd)
Definition: load_plugins.c:2967
void _x_meta_info_set_multi(xine_stream_t *s, int info,...)
Definition: info_helper.c:364
struct xine_stream_private_st * side_streams[4]
Definition: xine_private.h:489
plugin_node_t * node
Definition: load_plugins.c:903
#define PLUGIN_TYPE_MASK
Definition: xine_plugin.h:53
plugin_node_t * audio_decoder_map[128][10]
Definition: plugin_catalog.h:59
uint32_t supported_types[1]
Definition: load_plugins.c:140
void(* dispose)(xine_module_t *)
Definition: xine_module.h:75
#define XIO_TIMEOUT
Definition: io_helper.h:37
buf_element_t * next
Definition: buffer.h:338
static off_t xio_err(xine_stream_t *stream, int ret)
Definition: io_helper.c:503
xio_handshake_status_t
Definition: io_helper.h:77
#define XINE_LOG_PLUGIN
Definition: xine_internal.h:65
int _x_scan_plugins(xine_t *this_gen)
Load plugins into catalog.
Definition: load_plugins.c:1671
int xine_sarray_binary_search(xine_sarray_t *sarray, void *key)
Definition: sorted_array.c:176
void _x_free_audio_decoder(xine_stream_t *stream, audio_decoder_t *ad)
Definition: load_plugins.c:2793
static void load_plugin_list(xine_t *this, FILE *fp, xine_sarray_t *plugins)
Definition: load_plugins.c:1262
int _x_io_tcp_handshake_connect(xine_stream_t *stream, const char *host, int port, xio_handshake_cb_t *handshake_cb, void *userdata)
Definition: io_helper.c:163
xine_t * xine
Definition: load_plugins.c:139
#define XINE_PROFILE(function)
Definition: xineutils.h:701
unsigned int xine_list_size(xine_list_t *list)
Definition: list.c:146
static void _load_required_plugins(xine_t *this, xine_sarray_t *list)
Definition: load_plugins.c:1063
Definition: video_out.h:50
void _x_free_audio_driver(xine_t *xine, ao_driver_t **pdriver)
Definition: load_plugins.c:2532
#define METHOD_EXPLICIT
Definition: demux.h:41
void lrb_drop(lrb_t *this)
Definition: lrb.c:44
pthread_mutex_t mutex
Definition: buffer.h:589
#define SPU_DECODER_IFACE_VERSION
Definition: spu_decoder.h:33
static void save_catalog(xine_t *this)
Definition: load_plugins.c:1607
const char *const * xine_list_video_decoder_plugins(xine_t *xine)
Definition: load_plugins.c:2996
Definition: video_out.h:426
static void user_data(vdpau_mpeg4_decoder_t *this_gen, uint8_t *buffer, int len)
Definition: vdpau_mpeg4.c:695
#define PLUGINS_PER_TYPE
Definition: plugin_catalog.h:33
void _x_meta_info_reset(xine_stream_t *s, int info)
Definition: info_helper.c:298
const char *const * xine_list_post_plugins_typed(xine_t *xine, uint32_t type)
Definition: load_plugins.c:3004
static int _fat_node_file_cmp(void *a_gen, void *b_gen)
Definition: load_plugins.c:182
int content_detection_method
Definition: xine_internal.h:168
Definition: sorted_array.c:34
xine_audio_port_t * _x_ao_new_port(xine_t *xine, ao_driver_t *driver, int grab_only)
Initialise the audio_out sync routines.
Definition: audio_out.c:2764
void lrb_drop(lrb_t *this)
Definition: lrb.c:44
static void save_plugin_list(xine_t *this, FILE *fp, xine_sarray_t *list)
Definition: load_plugins.c:1108
NULL
Definition: xine_plugin.c:78
size_t xine_sarray_size(const xine_sarray_t *sarray)
Definition: sorted_array.c:69
#define AUDIO_OUT_IFACE_VERSION
Definition: audio_out.h:34
@ XIO_HANDSHAKE_TRY_SAME
Definition: io_helper.h:81
#define xine_small_memcpy(xsm_to, xsm_from, xsm_len)
Definition: xineutils.h:201
#define XIO_WRITE_READY
Definition: io_helper.h:31
Definition: plugin_catalog.h:35
static void inc_file_ref(plugin_file_t *file)
Definition: load_plugins.c:224
#define XIO_READY
Definition: io_helper.h:34
#define XINE_VERBOSITY_LOG
Definition: xine.h:425
Definition: audio_decoder.h:40
#define VIDEO_DECODER_IFACE_VERSION
Definition: video_decoder.h:31
#define _x_assert(exp)
Definition: xineutils.h:550
int visual_type
Definition: xine_plugin.h:68
static void xine_int32_2str(char **s, int32_t v)
Definition: xine_private.h:343
const char *const * xine_list_audio_output_plugins(xine_t *xine)
Definition: load_plugins.c:2386
void(* dispose)(audio_decoder_t *this_gen)
Definition: audio_decoder.h:96
int priority
Definition: xine_plugin.h:79
void(* exit)(xine_video_port_t *self)
Definition: video_out.h:233
static void _x_freep(void *ptr)
Definition: xineutils.h:263
@ XIO_HANDSHAKE_OK
Definition: io_helper.h:79
int no_unload
Definition: plugin_catalog.h:41
void(* exit)(ao_driver_t *)
Definition: audio_out.h:101
spu_decoder_t * _x_get_spu_decoder(xine_stream_t *stream, uint8_t stream_type)
Definition: load_plugins.c:2910
#define xine_uint2str(s, v)
Definition: xine_private.h:385
static const uint8_t plugin_iface_versions[((PLUGIN_TYPE_MAX) >(PLUGIN_XINE_MODULE) ?(PLUGIN_TYPE_MAX) :(PLUGIN_XINE_MODULE))+1]
Definition: load_plugins.c:111
#define XIO_READ_READY
Definition: io_helper.h:30
input_plugin_t * input_plugin
Definition: xine_internal.h:132
input_info_t input_info
Definition: load_plugins.c:127
int _x_decoder_available(xine_t *xine, uint32_t buftype)
Definition: load_plugins.c:2806
#define SAVE_PLUGIN_BUF_SIZE
#define _x_abort()
Definition: xine_mpeg2new_decoder.c:50
Definition: xine_plugin.h:77
const char *const * xine_list_spu_plugins(xine_t *xine)
Definition: load_plugins.c:2988
const char *const * xine_list_demuxer_plugins(xine_t *xine)
Definition: load_plugins.c:2980
#define xine_rwlock_rdlock(l)
Definition: xine_private.h:225
Definition: plugin_catalog.h:53
const char * save_path
Definition: xine_internal.h:89
void _x_stream_info_set(xine_stream_t *s, int info, int value)
Definition: info_helper.c:79
#define DECODER_MAX
Definition: plugin_catalog.h:29
const char *const * xine_get_browsable_input_plugin_ids(xine_t *this)
Definition: load_plugins.c:2208
int priority
Definition: xine_plugin.h:104
static demux_plugin_t * probe_demux(xine_stream_t *stream, int method1, int method2, input_plugin_t *input)
Definition: load_plugins.c:1919
#define PLUGIN_MAX
Definition: plugin_catalog.h:30
all_info_t ainfo
Definition: load_plugins.c:136
#define _(String)
Definition: vcdplayer.h:39
vo_driver_t * _x_load_video_output_plugin(xine_t *this, const char *id, int visual_type, const void *visual)
Definition: load_plugins.c:2279
unsigned int sub_type
Definition: xine_plugin.h:106
#define IS_FAT_NODE(_node)
Definition: load_plugins.c:148
#define VIDEO_OUT_DRIVER_IFACE_VERSION
Definition: video_out.h:346
Definition: configfile.h:83
@ XIO_HANDSHAKE_INTR
Definition: io_helper.h:85
void _x_stream_info_public_reset(xine_stream_t *s, int info)
Definition: info_helper.c:71
demux_plugin_t * _x_find_demux_plugin_by_name(xine_stream_t *stream, const char *name, input_plugin_t *input)
Definition: load_plugins.c:2012
input_plugin_t * _x_find_input_plugin(xine_stream_t *stream, const char *mrl)
Definition: load_plugins.c:1828
#define XINE_MSG_FILE_NOT_FOUND
Definition: xine.h:2197
static void inc_node_ref(plugin_node_t *node)
Definition: load_plugins.c:239
plugin_node_t node
Definition: load_plugins.c:134
#define PLUGIN_DEMUX
Definition: xine_plugin.h:31
const uint32_t * supported_types
Definition: xine_plugin.h:78
fifo_buffer_t * video_fifo
Definition: xine_internal.h:138
void(* exit)(xine_audio_port_t *)
Definition: audio_out.h:208
static void load_cached_catalog(xine_t *this)
Definition: load_plugins.c:1654
char * xine_get_file_extensions(xine_t *self)
Definition: load_plugins.c:3221
Definition: xine_private.h:400
#define XIO_POLLING_INTERVAL
Definition: io_helper.c:53
int verbosity
Definition: xine_internal.h:86
int cur_num_entries
Definition: lrb.h:32
void(* dispose)(spu_decoder_t *this_gen)
Definition: spu_decoder.h:96
ao_info_t ao_info
Definition: load_plugins.c:125
const char * extensions
space separated list of file extensions this demuxer is likely to handle
Definition: demux.h:82
static uint64_t xine_str2uint64(const char **s)
Definition: xine_private.h:304
xine_ticket_t * running_ticket
Definition: post.h:109
#define XINE_MODULE_IFACE_VERSION
Definition: xine_module.h:24
Declaration of internal, private functions for xine-lib.
input_class_t * query_input_plugins[2]
Definition: xine_private.h:569
Definition: spu_decoder.h:42
#define XINE_LOG_MSG
Definition: xine_internal.h:64
void xine_sarray_set_mode(xine_sarray_t *sarray, unsigned int mode)
Definition: sorted_array.c:73
static const uint32_t supported_types[]
Definition: xine_theora_decoder.c:429
uint8_t API
Definition: xine_plugin.h:57
#define PLUGIN_VIDEO_DECODER
Definition: xine_plugin.h:33
void _x_meta_info_set_utf8(xine_stream_t *s, int info, const char *str)
Definition: info_helper.c:341
static plugin_catalog_t * _new_catalog(void)
Definition: load_plugins.c:605
xine_list_t * config_entry_list
Definition: plugin_catalog.h:48
pthread_mutex_t meta_lock
Definition: xine_private.h:499
char * xine_get_system_encoding(void)
Definition: utils.c:646
#define SOCK_ECONNREFUSED
Definition: io_helper.c:156
#define XINE_DEMUX_REVERT_STRATEGY
Definition: xine.h:417
int type
Definition: xine.h:684
#define XINE_VERBOSITY_DEBUG
Definition: xine.h:426
uint8_t type
Definition: xine_plugin.h:56
#define xine_rwlock_unlock(l)
Definition: xine_private.h:231
void lrb_flush(lrb_t *this)
Definition: lrb.c:116
int priority
Definition: xine_plugin.h:89
xine_list_t * file_list
Definition: plugin_catalog.h:57
audio_decoder_t * _x_get_audio_decoder(xine_stream_t *stream, uint8_t stream_type)
Definition: load_plugins.c:2730
Definition: load_plugins.c:901
int _x_demux_check_extension(const char *mrl, const char *extensions)
Definition: demux.c:664
const char *const * xine_list_input_plugins(xine_t *xine)
Definition: load_plugins.c:2984
const char * _x_meta_info_get_public(xine_stream_t *s, int info)
Definition: info_helper.c:427
const char ** output_ids
Definition: post.h:117
void _x_free_video_decoder(xine_stream_t *stream, video_decoder_t *vd)
Definition: load_plugins.c:2716
const char * ids[256]
Definition: plugin_catalog.h:63
int priority
Definition: plugin_catalog.h:50
#define XINE_MSG_CONNECTION_REFUSED
Definition: xine.h:2196
static void _fat_node_init(fat_node_t *node)
Definition: load_plugins.c:150
Definition: video_decoder.h:41
static void dec_file_ref(plugin_file_t *file)
Definition: load_plugins.c:230
#define PLUGIN_VIDEO_OUT
Definition: xine_plugin.h:36
#define XINE_SARRAY_MODE_UNIQUE
Definition: sorted_array.h:82
static void dec_node_ref(plugin_node_t *node)
Definition: load_plugins.c:245
#define XINE_MSG_PERMISSION_ERROR
Definition: xine.h:2203
const char ** input_ids
Definition: post.h:116
#define XINE_MAX_INT32_STR
Definition: xine_private.h:342
const char name[16]
Definition: memcpy.c:569
int priority
Definition: xine_plugin.h:73
#define XINE_MSG_SECURITY
Definition: xine.h:2201
buf_element_t * oldest
Definition: lrb.h:34
static int dispose_plugin_list(xine_sarray_t *list, int is_cache)
Definition: load_plugins.c:3260
unsigned char * mem
Definition: buffer.h:340
#define XINE_STREAM_INFO_HAS_AUDIO
Definition: xine.h:1024
static void _register_plugins_internal(xine_t *this, plugin_file_t *file, fat_node_t *node_cache, const plugin_info_t *info)
Definition: load_plugins.c:644
#define METHOD_BY_CONTENT
Definition: demux.h:39
int num_value
Definition: xine.h:1653
char type[16]
Definition: xine_plugin.h:105
Definition: audio_out.h:43
static void collect_plugins(xine_t *this, const char *path, char *stop, char *pend)
Definition: load_plugins.c:716
#define XINE_STREAM_INFO_HAS_CHAPTERS
Definition: xine.h:1022
plugin_info_t info[2]
Definition: load_plugins.c:135
#define CACHE_CATALOG_VERSION_STR
Definition: load_plugins.c:108
Definition: audio_out.h:172
enable disable number of frames of telecine pattern sync required before mode change make frames evenly spaced for film mode(24 fps)" ) PARAM_ITEM( POST_PARAM_TYPE_BOOL
const char *const * xine_get_autoplay_input_plugin_ids(xine_t *this)
Definition: load_plugins.c:2159
void(* free_buffer)(buf_element_t *buf)
Definition: buffer.h:357
#define SOCK_ENOENT
Definition: io_helper.c:154
plugin_info_t * info
Definition: plugin_catalog.h:46
static void _meta_info_set_encoding(xine_stream_private_t *stream, int info, const char *value, const char *enc)
Definition: info_helper.c:225
static int _plugin_info_equal(const plugin_info_t *a, const plugin_info_t *b)
Definition: load_plugins.c:870
struct fat_node_st fat_node_t
uint32_t _x_stream_info_get(xine_stream_t *s, int info)
Definition: info_helper.c:100
buf_element_t * first
Definition: buffer.h:583
demux_plugin_t * _x_find_demux_plugin(xine_stream_t *stream, input_plugin_t *input)
Definition: load_plugins.c:1987
Definition: xine_plugin.h:103
static int32_t xine_str2int32(const char **s)
Definition: xine_private.h:250
int xine_monotonic_clock(struct timeval *tv, struct timezone *tz)
Definition: utils.c:727
void xine_post_dispose(xine_t *xine, xine_post_t *post_gen)
Definition: load_plugins.c:3138
static char * catalog_filename(xine_t *this, int createdir)
Returns the complete filename for the plugins' cache file.
Definition: load_plugins.c:1560
config_values_t * v
Definition: load_plugins.c:902
#define BUF_AUDIO_BASE
Definition: buffer.h:206
xine_video_port_t * xine_new_framegrab_video_port(xine_t *this)
Definition: load_plugins.c:2345
video_decoder_t * _x_get_video_decoder(xine_stream_t *stream, uint8_t stream_type)
Definition: load_plugins.c:2652
void lrb_flush(lrb_t *this)
Definition: lrb.c:116
uint32_t version
Definition: xine_plugin.h:59
unsigned char * content
Definition: buffer.h:341
xine_ticket_t * port_ticket
Definition: xine_private.h:403
decoder_info_t decoder_info
Definition: load_plugins.c:128
int _x_action_pending(xine_stream_t *s)
Definition: demux.c:760
#define PLUGIN_NONE
Definition: xine_plugin.h:29
static void _unload_unref_plugin(xine_t *xine, plugin_node_t *node)
Definition: load_plugins.c:2842
xine_list_t * input
Definition: post.h:89
static const char *const * _build_list_typed_plugins(xine_t *xine, int type)
Definition: load_plugins.c:195
void(* dispose)(demux_plugin_t *this_gen)
Definition: demux.h:143
time_t filemtime
Definition: plugin_catalog.h:38
buf_element_t * last
Definition: buffer.h:583
int demux_strategy
Definition: xine_internal.h:88
#define xine_rwlock_wrlock(l)
Definition: xine_private.h:228
const char * key
Definition: xine.h:1633
const char * xine_get_homedir(void)
Definition: utils.c:380
void _x_free_input_plugin(xine_stream_t *stream, input_plugin_t *input)
Definition: load_plugins.c:1879
int _x_io_tcp_connect_finish(xine_stream_t *stream, int fd, int timeout_msec)
Definition: io_helper.c:478
#define XINE_MAX_INT64_STR
Definition: xine_private.h:372
static int buf_free(jack_driver_t *this)
get the number of free bytes in the buffer
Definition: audio_jack_out.c:118
void xine_close_video_driver(xine_t *this, xine_video_port_t *vo_port)
Definition: load_plugins.c:2574
plugin_file_t * file
Definition: plugin_catalog.h:45
#define PLUGIN_POST
Definition: xine_plugin.h:37
void _x_meta_info_n_set(xine_stream_t *s, int info, const char *buf, int len)
Definition: info_helper.c:351
#define BUF_VIDEO_BASE
Definition: buffer.h:88
const char * id
Definition: xine_plugin.h:58
char * xine_get_demux_for_mime_type(xine_t *self, const char *mime_type)
Definition: load_plugins.c:3237
static void _new_entry_cb(void *user_data, xine_cfg_entry_t *entry)
Definition: load_plugins.c:920
void *(* init)(xine_t *, const void *)
Definition: xine_plugin.h:61
int _x_io_tcp_connect(xine_stream_t *stream, const char *host, int port)
Definition: io_helper.c:159
const char *const * xine_list_audio_decoder_plugins(xine_t *xine)
Definition: load_plugins.c:2992
int network_timeout
Definition: xine_private.h:410
static void xine_uint32_2str(char **s, uint32_t v)
Definition: xine_private.h:361
pthread_mutex_t info_lock
Definition: xine_private.h:495
Definition: plugin_catalog.h:44
const char *const * xine_list_post_plugins(xine_t *xine)
Definition: load_plugins.c:3000
xine_sarray_t * plugin_lists[PLUGIN_TYPE_MAX]
Definition: plugin_catalog.h:54
xine_module_info_t module_info
Definition: load_plugins.c:130
static input_class_t * _get_input_class(xine_t *this, const char *plugin_id)
Definition: load_plugins.c:2587
uint32_t _x_stream_info_get_public(xine_stream_t *s, int info)
Definition: info_helper.c:113
ssize_t _x_io_tcp_part_read(xine_stream_t *stream, int s, void *buf_gen, size_t min, size_t max)
Definition: io_helper.c:558
static int meta_valid(xine_stream_private_t *stream, int info)
Definition: info_helper.c:146
static void _dispose_plugin_class(plugin_node_t *node)
Definition: load_plugins.c:1008
Definition: audio_out.h:233
void _x_free_video_driver(xine_t *xine, vo_driver_t **pdriver)
Definition: load_plugins.c:2549
uint32_t type
Definition: buffer.h:362
Definition: configfile.h:46
const char *const * xine_list_video_output_plugins_typed(xine_t *xine, uint64_t typemask)
Definition: load_plugins.c:2394
static void meta_info_chomp(char *str)
Definition: info_helper.c:129
static void load_required_plugins(xine_t *this)
Definition: load_plugins.c:1097
xine_video_port_t * xine_open_video_driver(xine_t *this, const char *id, int visual_type, const void *visual)
Definition: load_plugins.c:2325
plugin_node_t * video_decoder_map[128][10]
Definition: plugin_catalog.h:60
static void _meta_info_set_utf8(xine_stream_private_t *stream, int info, const char *value)
Definition: info_helper.c:159
#define XIO_ERROR
Definition: io_helper.h:35
void * plugin_class
Definition: plugin_catalog.h:47
void xine_log(xine_t *this_gen, int buf, const char *format,...)
Definition: xine.c:3340
plugin_catalog_t * plugin_catalog
Definition: xine_internal.h:84
struct fat_node_st * nextplugin
Definition: load_plugins.c:138
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)
Definition: load_plugins.c:3061
static void _unload_unref_plugins(xine_t *xine, xine_sarray_t *list)
Definition: load_plugins.c:2864
#define IF_EAGAIN
Definition: io_helper.c:151
static int input(void)
Definition: goomsl_lex.c:1495
demux_plugin_t * _x_find_demux_plugin_last_probe(xine_stream_t *stream, const char *last_demux_name, input_plugin_t *input)
Definition: load_plugins.c:2060
#define PLUGIN_NO_UNLOAD
Definition: xine_plugin.h:51
void _x_meta_info_public_reset(xine_stream_t *s, int info)
Definition: info_helper.c:307
int _x_io_tcp_close(xine_stream_t *stream, int fd)
Definition: io_helper.c:740
const char * _x_meta_info_get(xine_stream_t *s, int info)
Definition: info_helper.c:414
int ref
Definition: plugin_catalog.h:49
xine_sarray_t * cache_list
Definition: plugin_catalog.h:56
#define METHOD_BY_MRL
Definition: demux.h:40
void(* dispose)(video_decoder_t *this_gen)
Definition: video_decoder.h:101
@ XIO_HANDSHAKE_TRY_NEXT
Definition: io_helper.h:83
Definition: xine_plugin.h:72
#define PLUGIN_TYPE_MAX
Definition: xine_plugin.h:39
Definition: load_plugins.c:123
#define PLUGIN_XINE_MODULE
Definition: xine_plugin.h:41
char * meta_info_public[XINE_STREAM_INFO_MAX]
Definition: xine_private.h:500
void lrb_feedback(lrb_t *this, fifo_buffer_t *fifo)
Definition: lrb.c:83
char * _x_asprintf(const char *format,...)
Definition: utils.c:783
Definition: xine_plugin.h:55
#define XINE_MSG_UNKNOWN_HOST
Definition: xine.h:2193
#define xprintf(xine, verbose,...)
Definition: xineutils.h:664
ao_driver_t * _x_load_audio_output_plugin(xine_t *this, const char *id)
Definition: load_plugins.c:2442
Definition: xine_private.h:431
void _x_free_demux_plugin(xine_stream_t *stream, demux_plugin_t **pdemux)
Definition: load_plugins.c:2142
#define XINE_STREAM_INFO_MAX
Definition: xine_internal.h:69
Definition: xine_plugin.h:66
const void * special_info
Definition: xine_plugin.h:60
static int probe_mime_type(xine_t *self, plugin_node_t *node, const char *mime_type)
Definition: load_plugins.c:1898
const char *const * xine_list_video_output_plugins(xine_t *xine)
Definition: load_plugins.c:2390
off_t _x_io_tcp_read(xine_stream_t *stream, int s, void *buf_gen, off_t todo)
Definition: io_helper.c:524
static vo_driver_t * _load_video_driver(xine_t *this, plugin_node_t *node, const void *data)
Definition: load_plugins.c:2261
void lrb_feedback(lrb_t *this, fifo_buffer_t *fifo)
Definition: lrb.c:83
static int _post_plugin_node_comparator(void *a, void *b)
Definition: load_plugins.c:596