GstPipeline

Name

GstPipeline -- Top-level bin with scheduling and pipeline management functionality.

Synopsis


#include <gst/gst.h>


struct      GstPipeline;
GstElement* gst_pipeline_new                (guchar *name);
void        gst_pipeline_add_sink           (GstPipeline *pipeline,
                                             GstElement *sink);
void        gst_pipeline_add_src            (GstPipeline *pipeline,
                                             GstElement *src);
gboolean    gst_pipeline_autoplug           (GstPipeline *pipeline);
#define     gst_pipeline_destroy            (pipeline)
void        gst_pipeline_iterate            (GstPipeline *pipeline);

Object Hierarchy


  GtkObject
   +----GstObject
         +----GstElement
               +----GstBin
                     +----GstPipeline

Description

In almost all cases, you'll want to use a GstPipeline when creating a filter graph. The GstPipeline will manage all the scheduling issues, including threading, as well as provide simple interfaces to common functions, like 'Play'.

The pipeline also has the capability to autoplug. This feature allows you to only define the input/output plugins and let the pipeline figure out what plugins to use.

Details

struct GstPipeline

struct GstPipeline;


gst_pipeline_new ()

GstElement* gst_pipeline_new                (guchar *name);

Create a new pipeline with the given name.

name : name of new pipeline
Returns : newly created GstPipeline


gst_pipeline_add_sink ()

void        gst_pipeline_add_sink           (GstPipeline *pipeline,
                                             GstElement *sink);

Adds a sink element to the pipeline. This element will be used as a sink for autoplugging.

pipeline : the pipeline to add the sink to
sink : the sink to add to the pipeline


gst_pipeline_add_src ()

void        gst_pipeline_add_src            (GstPipeline *pipeline,
                                             GstElement *src);

Adds a src element to the pipeline. This element will be used as a src for autoplugging. If you add more than one src element, the previously added element will be removed.

pipeline : the pipeline to add the src to
src : the src to add to the pipeline


gst_pipeline_autoplug ()

gboolean    gst_pipeline_autoplug           (GstPipeline *pipeline);

Constructs a complete pipeline by automatically detecting the plugins needed.

pipeline : the pipeline to autoplug
Returns : a gboolean indicating success or failure.


gst_pipeline_destroy()

#define 	gst_pipeline_destroy(pipeline) 	gst_object_destroy(GST_OBJECT(pipeline))

Destroys the pipeline.

pipeline :GstPipeline to destroy


gst_pipeline_iterate ()

void        gst_pipeline_iterate            (GstPipeline *pipeline);

Cause the pipeline's contents to be run through one full 'iteration'.

pipeline : GstPipeline to iterate