GnlComposition

GnlComposition — Container to assemble and order GnlObject

Synopsis




            GnlComposition;
            GnlCompositionClass;
enum        GnlFindMethod;
GnlComposition* gnl_composition_new         (const gchar *name);
void        gnl_composition_add_object      (GnlComposition *comp,
                                             GnlObject *object);
void        gnl_composition_remove_object   (GnlComposition *comp,
                                             GnlObject *object);
void        gnl_composition_set_default_source
                                            (GnlComposition *comp,
                                             GnlSource *source);
GnlObject*  gnl_composition_find_object     (GnlComposition *comp,
                                             GstClockTime time,
                                             GnlFindMethod method);


Object Hierarchy


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

Implemented Interfaces

GnlComposition implements GstChildProxy.

Description

GnlComposition are the base class for assembling GnlObject through time. The main objects that can be assembled are GnlSource and GnlOperation , but it can receive any type of GnlObject (GnlComposition, GnlTimeline, ...) that has ONE single output.

The main idea behind GnlComposition is to arrange ONE type of media (audio, or video, or ...) and then those GnlComposition are combined in a GnlTimeline.

Details

GnlComposition

typedef struct _GnlComposition GnlComposition;


GnlCompositionClass

typedef struct {
  GnlObjectClass	parent_class;

  GstClockTime		(*nearest_cover)	(GnlComposition *comp, 
		  				 GstClockTime start, GnlDirection direction);
} GnlCompositionClass;


enum GnlFindMethod

typedef enum
{
  GNL_FIND_AT,
  GNL_FIND_AFTER,
  GNL_FIND_START,
} GnlFindMethod;

GNL_FIND_ATFind a GnlObject present at the given position
GNL_FIND_AFTERFind a GnlObject at or after the given position
GNL_FIND_STARTFind a GnlObject whose start time is the given position

gnl_composition_new ()

GnlComposition* gnl_composition_new         (const gchar *name);

name : the name of the composition
Returns : an initialized GnlComposition

gnl_composition_add_object ()

void        gnl_composition_add_object      (GnlComposition *comp,
                                             GnlObject *object);

comp : The GnlComposition to add an object to
object : The GnlObject to add to the composition

gnl_composition_remove_object ()

void        gnl_composition_remove_object   (GnlComposition *comp,
                                             GnlObject *object);

comp : The GnlComposition to remove an object from
object : The GnlObject to remove from the composition

gnl_composition_set_default_source ()

void        gnl_composition_set_default_source
                                            (GnlComposition *comp,
                                             GnlSource *source);

comp : The GnlComposition
source : The GnlSource we want to set as default source for this composition

gnl_composition_find_object ()

GnlObject*  gnl_composition_find_object     (GnlComposition *comp,
                                             GstClockTime time,
                                             GnlFindMethod method);

comp : The GnlComposition to look into
time : The time to start looking at
method : The GnlFindMethod used to look to the object
Returns : The GnlObject found , or NULL if none