GESTrackObject

GESTrackObject — Base Class for objects contained in a GESTrack

Functions

Properties

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

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GESTrackObject
            ├── GESTrackSource
            ╰── GESTrackOperation

Includes

#include <ges/ges.h>

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.

Functions

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'

Parameters

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

Parameters

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).

Parameters

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.

Parameters

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.

Parameters

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.

Parameters

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).

Parameters

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.

Parameters

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

Parameters

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.

Parameters

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.

Parameters

object

a GESTrackObject

 

Returns

the GstElement this track object is controlling within GNonLin.

[transfer none]

Types and Values

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.

Members

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

 

Property Details

The “active” property

  “active”                   gboolean

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.

Flags: Read / Write

Default value: TRUE


The “duration” property

  “duration”                 guint64

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

Flags: Read / Write

Default value: 1000000000


The “in-point” property

  “in-point”                 guint64

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.

Flags: Read / Write

Default value: 0


The “priority” property

  “priority”                 guint

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).

Flags: Read / Write

Default value: 0


The “start” property

  “start”                    guint64

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

Flags: Read / Write

Default value: 0