GnlComposition

## GnlComposition GnlComposition — Combines GNL objects |

## Synopsis

                        GnlComposition;

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GstObject
                   +----GstElement
                         +----GstBin
                               +----GnlObject
                                     +----GnlComposition

## Implemented Interfaces

GnlComposition implements GstChildProxy.

## Properties

      "update"                   gboolean              : Read / Write

## Signals

      "commit"                                         : Action

## Description

A GnlComposition contains GnlObjects such as GnlSources and GnlOperations, and connects them dynamically to create a composition timeline.

## Synopsis

### Element Information

plugin | gnonlin
author | Wim Taymans <wim.taymans@gmail.com>, Edward Hervey <bilboed@bilboed.com>
class | Filter/Editor

### Element Pads

name | src
direction | source
presence | sometimes
details | ANY

## Details

### GnlComposition

    typedef struct _GnlComposition GnlComposition;

## Property Details

### The `"update"` property

      "update"                   gboolean              : Read / Write

Update the internal pipeline on every modification.

Default value: TRUE

## Signal Details

### The `"commit"` signal

    gboolean            user_function                      (GnlComposition *comp,
                                                            gboolean        recurse,
                                                            gpointer        user_data)      : Action

Action signal to commit all the pending changes of the composition and its children timing properties

`comp` : | a GnlComposition
`recurse` : | Whether to commit recursiverly into (GnlComposition) children of `object`. This is used in case we have composition inside a gnlsource composition, telling it to commit the included composition state.
`user_data` : | user data set when the signal handler was connected.
Returns : | `TRUE` if changes have been commited, `FALSE` if nothing had to be commited