GESTrackObject

GESTrackObject — Base Class for objects contained in a GESTrack

Synopsis

#include <ges/ges.h>

                    GESTrackObject;
                    GESTrackObjectClass;
void                ges_track_object_set_duration       (GESTrackObject *object,
                                                         guint64 duration);
void                ges_track_object_set_inpoint        (GESTrackObject *object,
                                                         guint64 inpoint);
void                ges_track_object_set_priority       (GESTrackObject *object,
                                                         guint32 priority);
void                ges_track_object_set_start          (GESTrackObject *object,
                                                         guint64 start);
gboolean            ges_track_object_set_active         (GESTrackObject *object,
                                                         gboolean active);
void                ges_track_object_set_locked         (GESTrackObject *object,
                                                         gboolean locked);
gboolean            ges_track_object_is_locked          (GESTrackObject *object);
GESTrack *          ges_track_object_get_track          (GESTrackObject *object);
GESTimelineObject * ges_track_object_get_timeline_object
                                                        (GESTrackObject *object);
GstElement *        ges_track_object_get_gnlobject      (GESTrackObject *object);
GstElement *        ges_track_object_get_element        (GESTrackObject *object);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GESTrackObject
               +----GESTrackSource
               +----GESTrackOperation

Properties

  "active"                   gboolean              : Read / Write
  "duration"                 guint64               : Read / Write
  "in-point"                 guint64               : Read / Write
  "priority"                 guint                 : Read / Write
  "start"                    guint64               : Read / Write

Description

GESTrackObject is the Base Class for any object that can be contained in a GESTrack.

It contains the basic information as to the location of the object within its container, like the start position, the in-point, the duration and the priority.

Details

GESTrackObject

typedef struct _GESTrackObject GESTrackObject;

The GESTrackObject base class.


GESTrackObjectClass

typedef struct {
  /* virtual methods for subclasses */
  const gchar *gnlobject_factorytype;
  GstElement* (*create_gnl_object) (GESTrackObject * object);
  GstElement* (*create_element) (GESTrackObject * object);

  void (*start_changed) (GESTrackObject *object, guint64 start);
  void (*media_start_changed) (GESTrackObject *object, guint64 media_start);
  void (*gnl_priority_changed) (GESTrackObject *object, guint priority);
  void (*duration_changed) (GESTrackObject *object, guint64 duration);
  void (*active_changed) (GESTrackObject *object, gboolean active);
} GESTrackObjectClass;

Subclasses can override the create_gnl_object method to override what type of GNonLin object will be created.

const gchar *gnlobject_factorytype;

name of the GNonLin GStElementFactory type to use.

create_gnl_object ()

method to create the GNonLin container object. The default implementation will create an object of type gnlobject_factorytype and call create_element.

create_element ()

method to return the GstElement to put in the gnlobject.

start_changed ()

start property of gnlobject has changed

media_start_changed ()

media-start property of gnlobject has changed

gnl_priority_changed ()

duration property glnobject has changed

duration_changed ()

duration property glnobject has changed

active_changed ()

active property of gnlobject has changed

ges_track_object_set_duration ()

void                ges_track_object_set_duration       (GESTrackObject *object,
                                                         guint64 duration);

Set the duration which will be used in the container GESTrack starting from the 'in-point'

object :

a GESTrackObject

duration :

the duration (in GstClockTime)

ges_track_object_set_inpoint ()

void                ges_track_object_set_inpoint        (GESTrackObject *object,
                                                         guint64 inpoint);

Set the offset within the contents of this GESTrackObject

object :

a GESTrackObject

inpoint :

the in-point (in GstClockTime)

ges_track_object_set_priority ()

void                ges_track_object_set_priority       (GESTrackObject *object,
                                                         guint32 priority);

Sets the priority of the object withing the containing GESTrack. If two objects intersect over the same region of time, the priority property is used to decide which one takes precedence.

The highest priority (that supercedes everything) is 0, and then lowering priorities go in increasing numerical value (with G_MAXUINT32 being the lowest priority).

object :

a GESTrackObject

priority :

the priority

ges_track_object_set_start ()

void                ges_track_object_set_start          (GESTrackObject *object,
                                                         guint64 start);

Sets the position of the object in the container GESTrack.

object :

a GESTrackObject

start :

the start position (in GstClockTime)

ges_track_object_set_active ()

gboolean            ges_track_object_set_active         (GESTrackObject *object,
                                                         gboolean active);

Sets the usage of the object. If active is TRUE, the object will be used for playback and rendering, else it will be ignored.

object :

a GESTrackObject

active :

visibility

Returns :

TRUE if the property was toggled, else FALSE

ges_track_object_set_locked ()

void                ges_track_object_set_locked         (GESTrackObject *object,
                                                         gboolean locked);

Set the locking status of the object in relationship to its controlling GESTimelineObject. If locked is TRUE, then this object will move synchronously with its controlling GESTimelineObject.

object :

a GESTrackObject

locked :

whether the object is lock to its parent

ges_track_object_is_locked ()

gboolean            ges_track_object_is_locked          (GESTrackObject *object);

Let you know if object us locked or not (moving synchronously).

object :

a GESTrackObject

Returns :

TRUE if the object is moving synchronously to its controlling GESTimelineObject, else FALSE.

ges_track_object_get_track ()

GESTrack *          ges_track_object_get_track          (GESTrackObject *object);

Get the GESTrack to which this object belongs.

object :

a GESTrackObject

Returns :

The GESTrack to which this object belongs. Can be NULL if it is not in any track. [transfer none]

ges_track_object_get_timeline_object ()

GESTimelineObject * ges_track_object_get_timeline_object
                                                        (GESTrackObject *object);

Get the GESTimelineObject which is controlling this track object

object :

a GESTrackObject

Returns :

the GESTimelineObject which is controlling this track object. [transfer none]

ges_track_object_get_gnlobject ()

GstElement *        ges_track_object_get_gnlobject      (GESTrackObject *object);

Get the GNonLin object this object is controlling.

object :

a GESTrackObject

Returns :

the GNonLin object this object is controlling. [transfer none]

ges_track_object_get_element ()

GstElement *        ges_track_object_get_element        (GESTrackObject *object);

Get the GstElement this track object is controlling within GNonLin.

object :

a GESTrackObject

Returns :

the GstElement this track object is controlling within GNonLin. [transfer none]

Property Details

The "active" property

  "active"                   gboolean              : Read / Write

Whether the object should be taken into account in the GESTrack output. If FALSE, then its contents will not be used in the resulting track.

Default value: TRUE


The "duration" property

  "duration"                 guint64               : Read / Write

The duration (in nanoseconds) which will be used in the container GESTrack starting from 'in-point'.

Default value: 1000000000


The "in-point" property

  "in-point"                 guint64               : Read / Write

The in-point at which this GESTrackObject will start outputting data from its contents (in nanoseconds).

Ex : an in-point of 5 seconds means that the first outputted buffer will be the one located 5 seconds in the controlled resource.

Default value: 0


The "priority" property

  "priority"                 guint                 : Read / Write

The priority of the object within the containing GESTrack. If two objects intersect over the same region of time, the priority property is used to decide which one takes precedence.

The highest priority (that supercedes everything) is 0, and then lowering priorities go in increasing numerical value (with G_MAXUINT64 being the lowest priority).

Default value: 0


The "start" property

  "start"                    guint64               : Read / Write

The position of the object in the container GESTrack (in nanoseconds).

Default value: 0