## GESPipeline GESPipeline — Convenience GstPipeline for editing. |

## Functions

GESPipeline * | ges_pipeline_new ()
gboolean | ges_pipeline_set_timeline ()
gboolean | ges_pipeline_set_mode ()
gboolean | ges_pipeline_set_render_settings ()
GESPipelineFlags | ges_pipeline_get_mode ()

## Properties

GstElement * | audio-filter | Read / Write
GstElement * | audio-sink | Read / Write
GESPipelineFlags | mode | Read / Write
GESTimeline * | timeline | Read / Write
GstElement * | video-filter | Read / Write
GstElement * | video-sink | Read / Write

## Types and Values

| GESPipeline

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstElement
                    ╰── GstBin
                        ╰── GstPipeline
                            ╰── GESPipeline

## Implemented Interfaces

GESPipeline implements GstChildProxy and GstVideoOverlay.

## Includes

    #include <ges/ges.h>

## Description

GESPipeline allows developers to view and render GESTimeline in a simple fashion. Its usage is inspired by the 'playbin' element from gst-plugins-base.

## Functions

### ges_pipeline_new ()

    GESPipeline *
    ges_pipeline_new (void);

Creates a new conveninence GESPipeline.

#### Returns

the new GESPipeline.

[transfer floating]

### ges_pipeline_set_timeline ()

    gboolean
    ges_pipeline_set_timeline (GESPipeline *pipeline,
                               GESTimeline *timeline);

Sets the timeline to use in this pipeline.

The reference to the `timeline` will be stolen by the `pipeline` .

#### Parameters

pipeline | a GESPipeline |
timeline | the GESTimeline to set on the `pipeline` . | [transfer full]

#### Returns

`TRUE` if the `timeline` could be successfully set on the `pipeline` , else `FALSE`.

### ges_pipeline_set_mode ()

    gboolean
    ges_pipeline_set_mode (GESPipeline *pipeline,
                           GESPipelineFlags mode);

switches the `pipeline` to the specified `mode` . The default mode when creating a GESPipeline is GES_PIPELINE_MODE_PREVIEW.

Note: The `pipeline` will be set to GST_STATE_NULL during this call due to the internal changes that happen. The caller will therefore have to set the `pipeline` to the requested state after calling this method.

#### Parameters

pipeline | a GESPipeline |
mode | the GESPipelineFlags to use |

#### Returns

`TRUE` if the mode was properly set, else `FALSE`.

### ges_pipeline_set_render_settings ()

    gboolean
    ges_pipeline_set_render_settings (GESPipeline *pipeline,
                                      const gchar *output_uri,
                                      GstEncodingProfile *profile);

Specify where the pipeline shall be rendered and with what settings.

A copy of `profile` and `output_uri` will be done internally, the caller can safely free those values afterwards.

This method must be called before setting the pipeline mode to GES_PIPELINE_MODE_RENDER

#### Parameters

pipeline | a GESPipeline |
output_uri | the URI to which the timeline will be rendered |
profile | the GstEncodingProfile to use to render the timeline. |

#### Returns

`TRUE` if the settings were aknowledged properly, else `FALSE`

### ges_pipeline_get_mode ()

    GESPipelineFlags
    ges_pipeline_get_mode (GESPipeline *pipeline);

#### Parameters

pipeline | a GESPipeline |

#### Returns

the GESPipelineFlags currently in use.

## Types and Values

### GESPipeline

    typedef struct _GESPipeline GESPipeline;

## Property Details

### The `“audio-filter”` property

      “audio-filter”             GstElement *

the audio filter(s) to apply, if possible.

Flags: Read / Write

### The `“audio-sink”` property

      “audio-sink”               GstElement *

Audio sink for the preview.

Flags: Read / Write

### The `“mode”` property

      “mode”                     GESPipelineFlags

Pipeline mode. See `ges_pipeline_set_mode()` for more info.

Flags: Read / Write

Default value: GES_PIPELINE_MODE_PREVIEW_AUDIO | GES_PIPELINE_MODE_PREVIEW_VIDEO

### The `“timeline”` property

      “timeline”                 GESTimeline *

Timeline to use in this pipeline. See also `ges_pipeline_set_timeline()` for more info.

Flags: Read / Write

### The `“video-filter”` property

      “video-filter”             GstElement *

the Video filter(s) to apply, if possible.

Flags: Read / Write

### The `“video-sink”` property

      “video-sink”               GstElement *

Video sink for the preview.

Flags: Read / Write