Main Page   Modules   Compound List   File List   Compound Members   File Members  

XLV Plugin API


Modules

XLV Plugin Option API
XLV Plugin Manager
XLV Plugin Stream

Compounds

struct  _XLV_GUID
 XLV GUID structure. More...

struct  _XLV_Plugin
struct  _XLV_PluginStream
struct  _XLV_Stream

Errors

#define XLV_STREAM_OK   0
#define XLV_STREAM_EOF   1
#define XLV_STREAM_ERRIO   2
#define XLV_STREAM_UNSUPPORTED   3
#define XLV_STREAM_INVAL   4
#define XLV_STREAM_NOMEM   5

Plugin types

#define XLV_PLUGIN_NONE   0
 This is an unknown plugin.

#define XLV_PLUGIN_AUDIO_RENDERER   1
 This is an audio renderer.

#define XLV_PLUGIN_VIDEO_RENDERER   2
 This is a video renderer.

#define XLV_PLUGIN_AUDIO_CODEC   3
 This is an audio codec.

#define XLV_PLUGIN_VIDEO_CODEC   4
 This is a video codec.

#define XLV_PLUGIN_INPUT_STREAM   5
 This is an input stream.

#define XLV_PLUGIN_SYSTEM   6
 This is a demultiplexer (maybe a multiplexer).

#define XLV_PLUGIN_SYSENC   7
 This is a multiplexer.

#define XLV_PLUGIN_GLUE   8
 This is a glue plugin.


Generic plugin ioctl

#define XLV_PLUGIN_GET_CAPS   0
 Return capabilities of the plugin.


Plugin caps

#define XLV_PLUGIN_PREALLOC_CAPABLE   0x01
 plugin can prealloc buffers (useful for renderers).

#define XLV_PLUGIN_WRITABLE   0x02
 plugin can accept buffers through Write.

#define XLV_PLUGIN_READABLE   0x04
 plugin can read buffers through Read.

#define XLV_PLUGIN_DECODER   0x08
 plugin can decode (it may be a demuxer or a codec).

#define XLV_PLUGIN_ENCODER   0x10
 plugin can encode (it may be a demuxer or a codec).

#define XLV_PLUGIN_CONFIGURABLE   0x20
 plugin can be configured.

#define XLV_PLUGIN_SEEKABLE   0x40
 plugin can seek streams.

#define XLV_PLUGIN_CODEC_CONFIG   0x80
 plugin follow XLV Codec Config API.


Stream mode

#define XLV_READ_ONLY   0
#define XLV_WRITE_ONLY   1
#define XLV_RDWR   2

Typedefs

typedef _XLV_GUID XLV_GUID
 XLV GUID structure.

typedef _XLV_Stream XLV_Stream
 XLV Stream descriptor.

typedef _XLV_PluginStream XLV_PluginStream
 Stream specific to the plugin description. More...

typedef _XLV_Plugin XLV_Plugin
 XLV Plugin class definition.


Functions

XLV_Streamxlv_open (XLV_Plugin *plug, XLV_Stream *in)
 opens a new stream in filter mode. More...

XLV_Streamxlv_open_stream (XLV_Plugin *plug, const gchar *name, guint mode)
 opens a new stream. More...

void xlv_close (XLV_Stream *s)
 closes a stream. More...


Typedef Documentation

typedef struct _XLV_PluginStream XLV_PluginStream
 

Stream specific to the plugin description.

This definition is different from the XLV_Stream definition. XLV_Stream uses it. XLV_PluginStream is the real object created by the plugin constructor. You can check the members of XLV_PluginStream.


Function Documentation

void xlv_close XLV_Stream   s [inline, static]
 

closes a stream.

Parameters:
s  a stream

XLV_Stream * xlv_open XLV_Plugin   plug,
XLV_Stream   in
[inline, static]
 

opens a new stream in filter mode.

Parameters:
plug  a plugin.
in  an input stream.
Returns:
a new XLV Stream object.

XLV_Stream * xlv_open_stream XLV_Plugin   plug,
const gchar *    name,
guint    mode
[inline, static]
 

opens a new stream.

Parameters:
plug  a plugin.
name  generally a NULL-terminated string describing the new stream to build. But in some case it may also be a buffer.
mode 
Returns:
a new XLV Stream object.


Generated on Mon Jul 1 19:39:11 2002 for XLV by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002