21#ifndef HAVE_INPUT_PLUGIN_H
22#define HAVE_INPUT_PLUGIN_H
33#define INPUT_PLUGIN_IFACE_VERSION 18
73 const char *
const * (*get_autoplay_list) (
input_class_t *this_gen,
int *num_files);
88#define default_input_class_dispose (void (*) (input_class_t *this_gen))free
239#define INPUT_CAP_NOCAP 0x00000000
250#define INPUT_CAP_SEEKABLE 0x00000001
260#define INPUT_CAP_BLOCK 0x00000002
272#define INPUT_CAP_AUDIOLANG 0x00000008
273#define INPUT_CAP_SPULANG 0x00000010
287#define INPUT_CAP_PREVIEW 0x00000040
298#define INPUT_CAP_CHAPTERS 0x00000080
306#define INPUT_CAP_RIP_FORBIDDEN 0x00000100
312#define INPUT_CAP_NO_CACHE 0x00000200
318#define INPUT_CAP_CLONE 0x00000400
331#define INPUT_CAP_SLOW_SEEKABLE 0x00000800
333#define INPUT_IS_SEEKABLE(input) (((input)->get_capabilities(input) & INPUT_CAP_SEEKABLE) != 0)
334#define INPUT_IS_SLOW_SEEKABLE(input) (((input)->get_capabilities(input) & (INPUT_CAP_SEEKABLE | INPUT_CAP_SLOW_SEEKABLE)) != 0)
341#define INPUT_CAP_SIZED_PREVIEW 0x00001000
347#define INPUT_CAP_TIME_SEEKABLE 0x00002000
354#define INPUT_CAP_NEW_MRL 0x00004000
361#define INPUT_CAP_LIVE 0x00008000
363#define INPUT_OPTIONAL_UNSUPPORTED 0
364#define INPUT_OPTIONAL_SUCCESS 1
366#define INPUT_OPTIONAL_DATA_AUDIOLANG 2
367#define INPUT_OPTIONAL_DATA_SPULANG 3
368#define INPUT_OPTIONAL_DATA_PREVIEW 7
371#define INPUT_OPTIONAL_DATA_MIME_TYPE 8
373#define INPUT_OPTIONAL_DATA_DEMUX_MIME_TYPE 9
375#define INPUT_OPTIONAL_DATA_DEMUXER 10
377#define INPUT_OPTIONAL_DATA_CLONE 11
379#define INPUT_OPTIONAL_DATA_SIZED_PREVIEW 12
381#define INPUT_OPTIONAL_DATA_DURATION 13
386#define INPUT_OPTIONAL_DATA_NEW_MRL 14
390#define INPUT_OPTIONAL_DATA_FRAGLIST 15
397#define INPUT_OPTIONAL_DATA_SIDE 16
400#define INPUT_OPTIONAL_DATA_PTSOFFS 17
403#define INPUT_OPTIONAL_DATA_REWIND 18
406#define INPUT_OPTIONAL_DATA_NEW_PREVIEW 19
408#define MAX_MRL_ENTRIES 255
409#define MAX_PREVIEW_SIZE 4096
420#define mrl_unknown (0 << 0)
421#define mrl_dvd (1 << 0)
422#define mrl_vcd (1 << 1)
423#define mrl_net (1 << 2)
424#define mrl_rtp (1 << 3)
425#define mrl_stdin (1 << 4)
426#define mrl_cda (1 << 5)
427#define mrl_file (1 << 6)
428#define mrl_file_fifo (1 << 7)
429#define mrl_file_chardev (1 << 8)
430#define mrl_file_directory (1 << 9)
431#define mrl_file_blockdev (1 << 10)
432#define mrl_file_normal (1 << 11)
433#define mrl_file_symlink (1 << 12)
434#define mrl_file_sock (1 << 13)
435#define mrl_file_exec (1 << 14)
436#define mrl_file_backup (1 << 15)
437#define mrl_file_hidden (1 << 16)
442#define MRL_ZERO(m) { \
447 (m)->origin = NULL; \
451 (m)->size = (off_t) 0; \
458#define MRL_DUPLICATE(s, d) { \
459 _x_assert((s) != NULL); \
460 _x_assert((d) != NULL); \
463 (d)->origin = (s)->origin ? strdup((s)->origin) : NULL; \
466 (d)->mrl = (s)->mrl ? strdup((s)->mrl) : NULL; \
469 (d)->link = (s)->link ? strdup((s)->link) : NULL; \
471 (d)->type = (s)->type; \
472 (d)->size = (s)->size; \
478#define MRLS_DUPLICATE(s, d) { \
481 _x_assert((s) != NULL); \
482 _x_assert((d) != NULL); \
484 while((s) != NULL) { \
485 d[i] = (xine_mrl_t *) malloc(sizeof(xine_mrl_t)); \
486 MRL_DUPLICATE(s[i], d[i]); \
#define XINE_USED
Definition attributes.h:60
#define XINE_PROTECTED
Definition attributes.h:75
Definition plugin_catalog.h:44
Definition net_buf_ctrl.c:83
xine_stream_t * stream
Definition net_buf_ctrl.c:85
Definition xine_internal.h:123