Main Page   Modules   Compound List   File List   Compound Members   File Members  

xlv_pipeline.h File Reference

This include describes the XLV_Pipeline object. More...

#include <glib.h>
#include "xlv_plugin_mgr.h"
#include "xlv_codec.h"
#include "xlv_session.h"

Go to the source code of this file.

Compounds

struct  _XLV_PipelineElement
 Pipeline element class description. More...

struct  _XLV_PipelineFrame
 Description of a frame for a pipeline. More...


Defines

#define XLV_ELEMENT_SOURCE   0
#define XLV_ELEMENT_PARSER   1
#define XLV_ELEMENT_RENDERER   2
#define XLV_ELEMENT_CODEC   3
#define XLV_ELEMENT_TRANSLATOR   4
#define XLV_ELEMENT_WRITER   5
#define XLV_ELEMENT_MUXER   6
#define XLV_PIPELINE_FRAME_NOERROR   0
#define XLV_PIPELINE_FRAME_EOS   1
#define XLV_PIPELINE_FRAME_SKIP   2
#define XLV_PIPELINE_FRAME_ERROR   3
#define XLV_PIPELINE_FLAGS_KEY_FRAME   0x0001
#define XLV_PIPELINE_FLAGS_SPECIFIC   0x8000

Typedefs

typedef _XLV_Pipeline XLV_Pipeline
typedef _XLV_PipelineElement XLV_PipelineElement
typedef _XLV_PipelineFrame XLV_PipelineFrame
typedef gboolean(* XLV_PipelineElement_InitFunc )(XLV_PipelineElement *element, gpointer udata)
typedef gboolean(* XLV_PipelineElement_StopFunc )(XLV_PipelineElement *element)
typedef gboolean(* XLV_PipelineElement_SetupFunc )(XLV_PipelineElement *element, XLV_PipelineElement *caller, gpointer setup_data)
typedef gboolean(* XLV_PipelineElement_ChainTo )(XLV_PipelineElement *element, guint16 id)
typedef gboolean(* XLV_PipelineElement_GetFrame )(XLV_PipelineElement *element, XLV_PipelineFrame *frame)
typedef gboolean(* XLV_PipelineElement_GetFastFrame )(XLV_PipelineElement *element, XLV_PipelineFrame *frame)
typedef gboolean(* XLV_PipelineElement_PutFrame )(XLV_PipelineElement *element, XLV_PipelineFrame *frame)
typedef gboolean(* XLV_PipelineElement_PutFastFrame )(XLV_PipelineElement *element, XLV_PipelineFrame *frame)
typedef gboolean(* XLV_PipelineElement_SkipFrame )(XLV_PipelineElement *element)
typedef gboolean(* XLV_PipelineElement_Execute )(XLV_PipelineElement *element)

Functions

XLV_Pipeline * xlv_pipeline_new ()
 Builds a new pipeline. More...

void xlv_pipeline_release (XLV_Pipeline *pipeline)
 Pipeline destructor. More...

glong xlv_pipeline_add_element (XLV_Pipeline *pipeline, XLV_PipelineElement *e, XLV_Stream *s, gpointer udata)
 Adds a new element to the pipeline. More...

XLV_Streamxlv_pipeline_get_implementation (XLV_Pipeline *pipeline, guint16 id)
 Returns the implementation of the specified element.

GList * xlv_pipeline_get_parents (XLV_PipelineElement *element)
 Returns a GList of the input chain of the specified element. More...

GList * xlv_pipeline_get_outputs (XLV_PipelineElement *element)
 Returns a GList of the output chain of the specified element. More...

XLV_PipelineElement * xlv_pipeline_get_type_next (XLV_Pipeline *pipeline, guint8 type, XLV_PipelineElement *element)
 Iterates specifically throughout the pipeline. More...

XLV_PipelineElement * xlv_pipeline_get_element (XLV_Pipeline *pipeline, guint16 id)
 Returns the element descriptor associated to the specified id. More...

gboolean xlv_pipeline_chain (XLV_Pipeline *pipeline, guint16 id_orig, guint16 id_dest)
 Chain two elements. More...

gboolean xlv_pipeline_unchain (XLV_Pipeline *pipeline, guint16 id_orig, guint16 id_dest)
 Unchain two elements.

GList * xlv_pipeline_get_leaves (XLV_Pipeline *pipeline)
 Returns the leaves of the pipeline graph.

XLV_Streamxlv_pipeline_to_stream (XLV_Pipeline *pipeline, guint16 id)
 Adapts an element into a XLV Stream.

gboolean xlv_pipeline_propagate_setup (XLV_PipelineElement *pipeline, gpointer udata)
 Propagate a setup instruction.

gboolean xlv_pipeline_setup (XLV_Pipeline *pipeline)
gboolean xlv_pipeline_execute (XLV_Pipeline *pipeline, gboolean all)
gboolean xlv_pipeline_spawn (XLV_Pipeline *pipeline)
glong xlv_pipeline_add_source (XLV_Pipeline *pipeline, XLV_Stream *s)
glong xlv_pipeline_add_writer (XLV_Pipeline *pipeline, XLV_Stream *s)
glong xlv_pipeline_add_parser (XLV_Pipeline *pipeline, XLV_Session *session)
glong xlv_pipeline_add_codec (XLV_Pipeline *pipeline, XLV_Stream *s)
glong xlv_pipeline_add_translator (XLV_Pipeline *pipeline, XLV_Stream *s)
glong xlv_pipeline_add_video_output (XLV_Pipeline *pipeline, XLV_Stream *s)
glong xlv_pipeline_add_audio_output (XLV_Pipeline *pipeline, XLV_Stream *s)
glong xlv_pipeline_add_video_translator (XLV_Pipeline *pipeline, XLV_Session *session, guint32 coding_req, glong id)
gboolean xlv_pipeline_default_build (XLV_Pipeline *pipeline, XLV_Session *session, XLV_Stream *source)
XLV_Pipeline * xlv_pipeline_load_file (XLV_Session *session, const gchar *filename)
gboolean xlv_pipeline_get_fast_frame (XLV_PipelineElement *element, XLV_PipelineFrame *frame)
gboolean xlv_pipeline_get_frame (XLV_PipelineElement *element, XLV_PipelineFrame *frame)
gboolean xlv_pipeline_put_fast_frame (XLV_PipelineElement *element, XLV_PipelineFrame *frame)
gboolean xlv_pipeline_elt_execute (XLV_PipelineElement *element)


Detailed Description

This include describes the XLV_Pipeline object.


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