xine-lib 1.2.11
Data Structures | Macros | Typedefs | Functions
input_plugin.h File Reference
#include <sys/types.h>
#include <xine/attributes.h>
#include <xine/os_types.h>
#include <xine/xineutils.h>
#include <xine/buffer.h>

Go to the source code of this file.

Data Structures

struct  input_class_s
 
struct  input_plugin_s
 

Macros

#define INPUT_PLUGIN_IFACE_VERSION   18
 
#define default_input_class_dispose   (void (*) (input_class_t *this_gen))free
 
#define INPUT_CAP_NOCAP   0x00000000
 
#define INPUT_CAP_SEEKABLE   0x00000001
 
#define INPUT_CAP_BLOCK   0x00000002
 
#define INPUT_CAP_AUDIOLANG   0x00000008
 
#define INPUT_CAP_SPULANG   0x00000010
 
#define INPUT_CAP_PREVIEW   0x00000040
 
#define INPUT_CAP_CHAPTERS   0x00000080
 
#define INPUT_CAP_RIP_FORBIDDEN   0x00000100
 
#define INPUT_CAP_NO_CACHE   0x00000200
 
#define INPUT_CAP_CLONE   0x00000400
 
#define INPUT_CAP_SLOW_SEEKABLE   0x00000800
 
#define INPUT_IS_SEEKABLE(input)   (((input)->get_capabilities(input) & INPUT_CAP_SEEKABLE) != 0)
 
#define INPUT_IS_SLOW_SEEKABLE(input)   (((input)->get_capabilities(input) & (INPUT_CAP_SEEKABLE | INPUT_CAP_SLOW_SEEKABLE)) != 0)
 
#define INPUT_CAP_SIZED_PREVIEW   0x00001000
 
#define INPUT_CAP_TIME_SEEKABLE   0x00002000
 
#define INPUT_CAP_NEW_MRL   0x00004000
 
#define INPUT_CAP_LIVE   0x00008000
 
#define INPUT_OPTIONAL_UNSUPPORTED   0
 
#define INPUT_OPTIONAL_SUCCESS   1
 
#define INPUT_OPTIONAL_DATA_AUDIOLANG   2
 
#define INPUT_OPTIONAL_DATA_SPULANG   3
 
#define INPUT_OPTIONAL_DATA_PREVIEW   7
 
#define INPUT_OPTIONAL_DATA_MIME_TYPE   8
 
#define INPUT_OPTIONAL_DATA_DEMUX_MIME_TYPE   9
 
#define INPUT_OPTIONAL_DATA_DEMUXER   10
 
#define INPUT_OPTIONAL_DATA_CLONE   11
 
#define INPUT_OPTIONAL_DATA_SIZED_PREVIEW   12
 
#define INPUT_OPTIONAL_DATA_DURATION   13
 
#define INPUT_OPTIONAL_DATA_NEW_MRL   14
 
#define MAX_MRL_ENTRIES   255
 
#define MAX_PREVIEW_SIZE   4096
 
#define mrl_unknown   (0 << 0)
 
#define mrl_dvd   (1 << 0)
 
#define mrl_vcd   (1 << 1)
 
#define mrl_net   (1 << 2)
 
#define mrl_rtp   (1 << 3)
 
#define mrl_stdin   (1 << 4)
 
#define mrl_cda   (1 << 5)
 
#define mrl_file   (1 << 6)
 
#define mrl_file_fifo   (1 << 7)
 
#define mrl_file_chardev   (1 << 8)
 
#define mrl_file_directory   (1 << 9)
 
#define mrl_file_blockdev   (1 << 10)
 
#define mrl_file_normal   (1 << 11)
 
#define mrl_file_symlink   (1 << 12)
 
#define mrl_file_sock   (1 << 13)
 
#define mrl_file_exec   (1 << 14)
 
#define mrl_file_backup   (1 << 15)
 
#define mrl_file_hidden   (1 << 16)
 
#define MRL_ZERO(m)
 
#define MRL_DUPLICATE(s, d)
 
#define MRLS_DUPLICATE(s, d)
 

Typedefs

typedef struct input_class_s input_class_t
 
typedef struct input_plugin_s input_plugin_t
 
typedef struct xine_nbc_st xine_nbc_t
 

Functions

xine_nbc_txine_nbc_init (xine_stream_t *stream)
 
void xine_nbc_close (xine_nbc_t *nbc)
 

Macro Definition Documentation

◆ default_input_class_dispose

#define default_input_class_dispose   (void (*) (input_class_t *this_gen))free

◆ INPUT_CAP_AUDIOLANG

#define INPUT_CAP_AUDIOLANG   0x00000008

◆ INPUT_CAP_BLOCK

#define INPUT_CAP_BLOCK   0x00000002

◆ INPUT_CAP_CHAPTERS

#define INPUT_CAP_CHAPTERS   0x00000080

◆ INPUT_CAP_CLONE

#define INPUT_CAP_CLONE   0x00000400

◆ INPUT_CAP_LIVE

#define INPUT_CAP_LIVE   0x00008000

◆ INPUT_CAP_NEW_MRL

#define INPUT_CAP_NEW_MRL   0x00004000

◆ INPUT_CAP_NO_CACHE

#define INPUT_CAP_NO_CACHE   0x00000200

◆ INPUT_CAP_NOCAP

#define INPUT_CAP_NOCAP   0x00000000

◆ INPUT_CAP_PREVIEW

#define INPUT_CAP_PREVIEW   0x00000040

◆ INPUT_CAP_RIP_FORBIDDEN

#define INPUT_CAP_RIP_FORBIDDEN   0x00000100

◆ INPUT_CAP_SEEKABLE

#define INPUT_CAP_SEEKABLE   0x00000001

◆ INPUT_CAP_SIZED_PREVIEW

#define INPUT_CAP_SIZED_PREVIEW   0x00001000

◆ INPUT_CAP_SLOW_SEEKABLE

#define INPUT_CAP_SLOW_SEEKABLE   0x00000800

◆ INPUT_CAP_SPULANG

#define INPUT_CAP_SPULANG   0x00000010

◆ INPUT_CAP_TIME_SEEKABLE

#define INPUT_CAP_TIME_SEEKABLE   0x00002000

◆ INPUT_IS_SEEKABLE

#define INPUT_IS_SEEKABLE (   input)    (((input)->get_capabilities(input) & INPUT_CAP_SEEKABLE) != 0)

◆ INPUT_IS_SLOW_SEEKABLE

#define INPUT_IS_SLOW_SEEKABLE (   input)    (((input)->get_capabilities(input) & (INPUT_CAP_SEEKABLE | INPUT_CAP_SLOW_SEEKABLE)) != 0)

◆ INPUT_OPTIONAL_DATA_AUDIOLANG

#define INPUT_OPTIONAL_DATA_AUDIOLANG   2

◆ INPUT_OPTIONAL_DATA_CLONE

#define INPUT_OPTIONAL_DATA_CLONE   11

◆ INPUT_OPTIONAL_DATA_DEMUX_MIME_TYPE

#define INPUT_OPTIONAL_DATA_DEMUX_MIME_TYPE   9

◆ INPUT_OPTIONAL_DATA_DEMUXER

#define INPUT_OPTIONAL_DATA_DEMUXER   10

◆ INPUT_OPTIONAL_DATA_DURATION

#define INPUT_OPTIONAL_DATA_DURATION   13

◆ INPUT_OPTIONAL_DATA_MIME_TYPE

#define INPUT_OPTIONAL_DATA_MIME_TYPE   8

◆ INPUT_OPTIONAL_DATA_NEW_MRL

#define INPUT_OPTIONAL_DATA_NEW_MRL   14

◆ INPUT_OPTIONAL_DATA_PREVIEW

#define INPUT_OPTIONAL_DATA_PREVIEW   7

◆ INPUT_OPTIONAL_DATA_SIZED_PREVIEW

#define INPUT_OPTIONAL_DATA_SIZED_PREVIEW   12

◆ INPUT_OPTIONAL_DATA_SPULANG

#define INPUT_OPTIONAL_DATA_SPULANG   3

◆ INPUT_OPTIONAL_SUCCESS

#define INPUT_OPTIONAL_SUCCESS   1

◆ INPUT_OPTIONAL_UNSUPPORTED

#define INPUT_OPTIONAL_UNSUPPORTED   0

◆ INPUT_PLUGIN_IFACE_VERSION

#define INPUT_PLUGIN_IFACE_VERSION   18

◆ MAX_MRL_ENTRIES

#define MAX_MRL_ENTRIES   255

◆ MAX_PREVIEW_SIZE

#define MAX_PREVIEW_SIZE   4096

◆ mrl_cda

#define mrl_cda   (1 << 5)

◆ MRL_DUPLICATE

#define MRL_DUPLICATE (   s,
 
)
Value:
{ \
_x_assert((s) != NULL); \
_x_assert((d) != NULL); \
\
free((d)->origin); \
(d)->origin = (s)->origin ? strdup((s)->origin) : NULL; \
\
free((d)->mrl); \
(d)->mrl = (s)->mrl ? strdup((s)->mrl) : NULL; \
\
free((d)->link); \
(d)->link = (s)->link ? strdup((s)->link) : NULL; \
\
(d)->type = (s)->type; \
(d)->size = (s)->size; \
}
NULL
Definition: xine_plugin.c:78

◆ mrl_dvd

#define mrl_dvd   (1 << 0)

◆ mrl_file

#define mrl_file   (1 << 6)

◆ mrl_file_backup

#define mrl_file_backup   (1 << 15)

◆ mrl_file_blockdev

#define mrl_file_blockdev   (1 << 10)

◆ mrl_file_chardev

#define mrl_file_chardev   (1 << 8)

◆ mrl_file_directory

#define mrl_file_directory   (1 << 9)

◆ mrl_file_exec

#define mrl_file_exec   (1 << 14)

◆ mrl_file_fifo

#define mrl_file_fifo   (1 << 7)

◆ mrl_file_hidden

#define mrl_file_hidden   (1 << 16)

◆ mrl_file_normal

#define mrl_file_normal   (1 << 11)

◆ mrl_file_sock

#define mrl_file_sock   (1 << 13)

◆ mrl_file_symlink

#define mrl_file_symlink   (1 << 12)

◆ mrl_net

#define mrl_net   (1 << 2)

◆ mrl_rtp

#define mrl_rtp   (1 << 3)

◆ mrl_stdin

#define mrl_stdin   (1 << 4)

◆ mrl_unknown

#define mrl_unknown   (0 << 0)

◆ mrl_vcd

#define mrl_vcd   (1 << 1)

◆ MRL_ZERO

#define MRL_ZERO (   m)
Value:
{ \
if((m)) { \
free((m)->origin); \
free((m)->mrl); \
free((m)->link); \
(m)->origin = NULL; \
(m)->mrl = NULL; \
(m)->link = NULL; \
(m)->type = 0; \
(m)->size = (off_t) 0; \
} \
}

◆ MRLS_DUPLICATE

#define MRLS_DUPLICATE (   s,
 
)
Value:
{ \
int i = 0; \
_x_assert((s) != NULL); \
_x_assert((d) != NULL); \
\
while((s) != NULL) { \
d[i] = (xine_mrl_t *) malloc(sizeof(xine_mrl_t)); \
MRL_DUPLICATE(s[i], d[i]); \
i++; \
} \
}
Definition: xine.h:1107
#define _x_assert(exp)
Definition: xineutils.h:559

Typedef Documentation

◆ input_class_t

typedef struct input_class_s input_class_t

◆ input_plugin_t

◆ xine_nbc_t

typedef struct xine_nbc_st xine_nbc_t

Function Documentation

◆ xine_nbc_close()

void xine_nbc_close ( xine_nbc_t nbc)

◆ xine_nbc_init()

xine_nbc_t * xine_nbc_init ( xine_stream_t stream)