ges: Add padding to all public structures

This will give us margin for API expansion without breaking ABI.

The ABI restriction will only come in place once we do the first
official release (i.e. 0.x.0).
This commit is contained in:
Edward Hervey 2010-11-29 13:24:13 +01:00
parent 284b956654
commit 849d6ab872
29 changed files with 210 additions and 37 deletions

View file

@ -75,6 +75,9 @@ struct _GESCustomTimelineSource {
/*< private >*/ /*< private >*/
FillTrackObjectUserFunc filltrackobjectfunc; FillTrackObjectUserFunc filltrackobjectfunc;
gpointer user_data; gpointer user_data;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -85,6 +88,10 @@ struct _GESCustomTimelineSource {
struct _GESCustomTimelineSourceClass { struct _GESCustomTimelineSourceClass {
GESTimelineSourceClass parent_class; GESTimelineSourceClass parent_class;
/*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_cust_timeline_src_get_type (void); GType ges_cust_timeline_src_get_type (void);

View file

@ -54,7 +54,8 @@ struct _GESFormatter {
gchar *data; gchar *data;
gsize length; gsize length;
gpointer _ges_reserved[GST_PADDING]; /* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
typedef gboolean (*GESFormatterCanLoadURIMethod) (gchar * uri); typedef gboolean (*GESFormatterCanLoadURIMethod) (gchar * uri);
@ -125,7 +126,9 @@ struct _GESFormatterClass {
GESFormatterSaveMethod save; GESFormatterSaveMethod save;
GESFormatterLoadMethod load; GESFormatterLoadMethod load;
gpointer _ges_reserved[GST_PADDING]; /*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_formatter_get_type (void); GType ges_formatter_get_type (void);

View file

@ -50,7 +50,9 @@
struct _GESKeyfileFormatter { struct _GESKeyfileFormatter {
GESFormatter parent; GESFormatter parent;
/*< public >*/ /*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -61,7 +63,9 @@ struct _GESKeyfileFormatter {
struct _GESKeyfileFormatterClass { struct _GESKeyfileFormatterClass {
GESFormatterClass parent_class; GESFormatterClass parent_class;
/*< public >*/ /*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_keyfile_formatter_get_type (void); GType ges_keyfile_formatter_get_type (void);

View file

@ -58,6 +58,9 @@ struct _GESSimpleTimelineLayer {
gboolean adding_object; gboolean adding_object;
gboolean valid; gboolean valid;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -73,6 +76,9 @@ struct _GESSimpleTimelineLayerClass {
void (*object_moved) (GESTimelineLayer * layer, GESTimelineObject * object, void (*object_moved) (GESTimelineLayer * layer, GESTimelineObject * object,
gint old_position, gint new_position); gint old_position, gint new_position);
/*< private >*/ /*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_simple_timeline_layer_get_type (void); GType ges_simple_timeline_layer_get_type (void);

View file

@ -64,6 +64,9 @@ struct _GESTimelineFileSource {
/* The formats supported by this filesource /* The formats supported by this filesource
* TODO : Could maybe be moved to a parent class */ * TODO : Could maybe be moved to a parent class */
GESTrackType supportedformats; GESTrackType supportedformats;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -74,7 +77,10 @@ struct _GESTimelineFileSource {
struct _GESTimelineFileSourceClass { struct _GESTimelineFileSourceClass {
GESTimelineSourceClass parent_class; GESTimelineSourceClass parent_class;
/*< public >*/ /*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_tl_filesource_get_type (void); GType ges_tl_filesource_get_type (void);

View file

@ -52,8 +52,7 @@ struct _GESTimelineLayer {
/*< public >*/ /*< public >*/
GESTimeline *timeline; /* The timeline where this layer is being used GESTimeline *timeline;
*/
/*< private >*/ /*< private >*/
GSList * objects_start; /* The TimelineObjects sorted by start and GSList * objects_start; /* The TimelineObjects sorted by start and
@ -63,21 +62,33 @@ struct _GESTimelineLayer {
* containing timeline */ * containing timeline */
guint32 min_gnl_priority, max_gnl_priority; guint32 min_gnl_priority, max_gnl_priority;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
* GESTimelineLayerClass: * GESTimelineLayerClass:
* @parent_class: parent class * @parent_class: layer parent class
* @get_objects: method to get the objects contained in the layer
* *
* Subclasses can override the @get_objects if they can provide a more
* efficient way of providing the list of contained #GESTimelineObject(s).
*/ */
struct _GESTimelineLayerClass { struct _GESTimelineLayerClass {
GObjectClass parent_class; GObjectClass parent_class;
/*< public >*/
/* virtual methods for subclasses */
GList *(*get_objects) (GESTimelineLayer * layer); GList *(*get_objects) (GESTimelineLayer * layer);
/*< signals >*/ /*< private >*/
/* Signals */
void (*object_added) (GESTimelineLayer * layer, GESTimelineObject * object); void (*object_added) (GESTimelineLayer * layer, GESTimelineObject * object);
void (*object_removed) (GESTimelineLayer * layer, GESTimelineObject * object); void (*object_removed) (GESTimelineLayer * layer, GESTimelineObject * object);
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_timeline_layer_get_type (void); GType ges_timeline_layer_get_type (void);

View file

@ -158,6 +158,9 @@ struct _GESTimelineObject {
guint32 height; /* the span of priorities this object needs */ guint32 height; /* the span of priorities this object needs */
guint64 fullduration; /* Full usable duration of the object (-1: no duration) */ guint64 fullduration; /* Full usable duration of the object (-1: no duration) */
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -174,12 +177,17 @@ struct _GESTimelineObject {
struct _GESTimelineObjectClass { struct _GESTimelineObjectClass {
GObjectClass parent_class; GObjectClass parent_class;
/*< public >*/
CreateTrackObjectFunc create_track_object; CreateTrackObjectFunc create_track_object;
CreateTrackObjectsFunc create_track_objects; CreateTrackObjectsFunc create_track_objects;
/* FIXME : might need a release_track_object */ /* FIXME : might need a release_track_object */
FillTrackObjectFunc fill_track_object; FillTrackObjectFunc fill_track_object;
gboolean need_fill_track; gboolean need_fill_track;
/*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_timeline_object_get_type (void); GType ges_timeline_object_get_type (void);

View file

@ -50,7 +50,10 @@ G_BEGIN_DECLS
struct _GESTimelineOverlay { struct _GESTimelineOverlay {
GESTimelineObject parent; GESTimelineObject parent;
/*< public >*/
/*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -60,7 +63,10 @@ struct _GESTimelineOverlay {
struct _GESTimelineOverlayClass { struct _GESTimelineOverlayClass {
GESTimelineObjectClass parent_class; GESTimelineObjectClass parent_class;
/*< public >*/
/*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_timeline_overlay_get_type (void); GType ges_timeline_overlay_get_type (void);

View file

@ -70,7 +70,7 @@ typedef enum {
struct _GESTimelinePipeline { struct _GESTimelinePipeline {
GstPipeline parent; GstPipeline parent;
/* <private> */ /*< private >*/
GESTimeline * timeline; GESTimeline * timeline;
GstElement * playsink; GstElement * playsink;
GstElement * encodebin; GstElement * encodebin;
@ -82,6 +82,9 @@ struct _GESTimelinePipeline {
GList *chains; GList *chains;
GstEncodingProfile *profile; GstEncodingProfile *profile;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -92,7 +95,10 @@ struct _GESTimelinePipeline {
struct _GESTimelinePipelineClass { struct _GESTimelinePipelineClass {
GstPipelineClass parent_class; GstPipelineClass parent_class;
/* <public> */
/*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_timeline_pipeline_get_type (void); GType ges_timeline_pipeline_get_type (void);

View file

@ -53,12 +53,14 @@ G_BEGIN_DECLS
struct _GESTimelineSource { struct _GESTimelineSource {
GESTimelineObject parent; GESTimelineObject parent;
/*< private *>*/ /*< private >*/
gchar *text; gchar *text;
gchar *font_desc; gchar *font_desc;
GESTextHAlign halign; GESTextHAlign halign;
GESTextVAlign valign; GESTextVAlign valign;
/*< public >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -68,7 +70,10 @@ struct _GESTimelineSource {
struct _GESTimelineSourceClass { struct _GESTimelineSourceClass {
GESTimelineObjectClass parent_class; GESTimelineObjectClass parent_class;
/*< public >*/
/*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_timeline_source_get_type (void); GType ges_timeline_source_get_type (void);

View file

@ -59,6 +59,9 @@ struct _GESTimelineTestSource {
GESVideoTestPattern vpattern; GESVideoTestPattern vpattern;
gdouble freq; gdouble freq;
gdouble volume; gdouble volume;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -69,7 +72,9 @@ struct _GESTimelineTestSource {
struct _GESTimelineTestSourceClass { struct _GESTimelineTestSourceClass {
GESTimelineSourceClass parent_class; GESTimelineSourceClass parent_class;
/*< public >*/ /*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_timeline_test_source_get_type (void); GType ges_timeline_test_source_get_type (void);

View file

@ -59,6 +59,9 @@ struct _GESTimelineTextOverlay {
gchar *font_desc; gchar *font_desc;
GESTextHAlign halign; GESTextHAlign halign;
GESTextVAlign valign; GESTextVAlign valign;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -70,6 +73,9 @@ struct _GESTimelineTextOverlayClass {
GESTimelineOverlayClass parent_class; GESTimelineOverlayClass parent_class;
/*< public >*/ /*< public >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_tl_text_overlay_get_type (void); GType ges_tl_text_overlay_get_type (void);

View file

@ -59,6 +59,9 @@ struct _GESTimelineTitleSource {
gchar *font_desc; gchar *font_desc;
GESTextVAlign halign; GESTextVAlign halign;
GESTextHAlign valign; GESTextHAlign valign;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -69,7 +72,9 @@ struct _GESTimelineTitleSource {
struct _GESTimelineTitleSourceClass { struct _GESTimelineTitleSourceClass {
GESTimelineSourceClass parent_class; GESTimelineSourceClass parent_class;
/*< public >*/ /*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_tl_title_src_get_type (void); GType ges_tl_title_src_get_type (void);

View file

@ -51,8 +51,13 @@ G_BEGIN_DECLS
*/ */
struct _GESTimelineTransition { struct _GESTimelineTransition {
GESTimelineObject parent; GESTimelineObject parent;
/*< public >*/ /*< public >*/
GESVideoTransitionType vtype; GESVideoTransitionType vtype;
/*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -63,7 +68,10 @@ struct _GESTimelineTransition {
struct _GESTimelineTransitionClass { struct _GESTimelineTransitionClass {
GESTimelineObjectClass parent_class; GESTimelineObjectClass parent_class;
/*< public >*/
/*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_timeline_transition_get_type (void); GType ges_timeline_transition_get_type (void);

View file

@ -62,6 +62,9 @@ struct _GESTimeline {
GList *pendingobjects; GList *pendingobjects;
/* Whether we are changing state asynchronously or not */ /* Whether we are changing state asynchronously or not */
gboolean async_pending; gboolean async_pending;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -78,6 +81,9 @@ struct _GESTimelineClass {
void (*track_removed) (GESTimeline *timeline, GESTrack * track); void (*track_removed) (GESTimeline *timeline, GESTrack * track);
void (*layer_added) (GESTimeline *timeline, GESTimelineLayer *layer); void (*layer_added) (GESTimeline *timeline, GESTimelineLayer *layer);
void (*layer_removed) (GESTimeline *timeline, GESTimelineLayer *layer); void (*layer_removed) (GESTimeline *timeline, GESTimelineLayer *layer);
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_timeline_get_type (void); GType ges_timeline_get_type (void);

View file

@ -55,6 +55,9 @@ struct _GESTrackAudioTestSource {
/*< private >*/ /*< private >*/
gdouble freq; gdouble freq;
gdouble volume; gdouble volume;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -66,7 +69,9 @@ struct _GESTrackAudioTestSource {
struct _GESTrackAudioTestSourceClass { struct _GESTrackAudioTestSourceClass {
GESTrackSourceClass parent_class; GESTrackSourceClass parent_class;
/*< public >*/ /*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_track_audio_test_source_get_type (void); GType ges_track_audio_test_source_get_type (void);

View file

@ -61,7 +61,8 @@ struct _GESTrackAudioTransition {
GstController *b_controller; GstController *b_controller;
GstInterpolationControlSource *b_control_source; GstInterpolationControlSource *b_control_source;
/*< public >*/ /* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -73,7 +74,9 @@ struct _GESTrackAudioTransition {
struct _GESTrackAudioTransitionClass { struct _GESTrackAudioTransitionClass {
GESTrackTransitionClass parent_class; GESTrackTransitionClass parent_class;
/*< public >*/ /*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_track_audio_transition_get_type (void); GType ges_track_audio_transition_get_type (void);

View file

@ -53,6 +53,10 @@ struct _GESTrackFileSource {
/*< public >*/ /*< public >*/
gchar *uri; gchar *uri;
/*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -63,7 +67,9 @@ struct _GESTrackFileSource {
struct _GESTrackFileSourceClass { struct _GESTrackFileSourceClass {
GESTrackSourceClass parent_class; GESTrackSourceClass parent_class;
/* <public> */ /*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_track_filesource_get_type (void); GType ges_track_filesource_get_type (void);

View file

@ -53,6 +53,9 @@ struct _GESTrackImageSource {
/*< public >*/ /*< public >*/
gchar *uri; gchar *uri;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -64,6 +67,9 @@ struct _GESTrackImageSourceClass {
GESTrackSourceClass parent_class; GESTrackSourceClass parent_class;
/* <public> */ /* <public> */
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_track_image_source_get_type (void); GType ges_track_image_source_get_type (void);

View file

@ -132,6 +132,9 @@ struct _GESTrackObject {
GstElement *gnlobject; GstElement *gnlobject;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -150,10 +153,6 @@ struct _GESTrackObject {
struct _GESTrackObjectClass { struct _GESTrackObjectClass {
GObjectClass parent_class; GObjectClass parent_class;
/*< private >*/
/* signals */
void (*changed) (GESTrackObject * object);
/*< public >*/ /*< public >*/
/* virtual methods for subclasses */ /* virtual methods for subclasses */
gboolean (*create_gnl_object) (GESTrackObject * object); gboolean (*create_gnl_object) (GESTrackObject * object);
@ -163,6 +162,13 @@ struct _GESTrackObjectClass {
void (*gnl_priority_changed) (GESTrackObject *object, guint priority); void (*gnl_priority_changed) (GESTrackObject *object, guint priority);
void (*duration_changed) (GESTrackObject *object, guint64 duration); void (*duration_changed) (GESTrackObject *object, guint64 duration);
void (*active_changed) (GESTrackObject *object, gboolean active); void (*active_changed) (GESTrackObject *object, gboolean active);
/*< private >*/
/* signals */
void (*changed) (GESTrackObject * object);
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_track_object_get_type (void); GType ges_track_object_get_type (void);

View file

@ -54,10 +54,13 @@ G_BEGIN_DECLS
*/ */
struct _GESTrackOperation { struct _GESTrackOperation {
/*< public >*/
GESTrackObject parent; GESTrackObject parent;
/*< private >*/ /*< private >*/
GstElement *element; GstElement *element;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -69,7 +72,12 @@ struct _GESTrackOperation {
struct _GESTrackOperationClass { struct _GESTrackOperationClass {
GESTrackObjectClass parent_class; GESTrackObjectClass parent_class;
GstElement *(*create_element) (GESTrackOperation *); GstElement *(*create_element) (GESTrackOperation *);
/*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_track_operation_get_type (void); GType ges_track_operation_get_type (void);

View file

@ -54,10 +54,13 @@ G_BEGIN_DECLS
*/ */
struct _GESTrackSource { struct _GESTrackSource {
/*< public >*/
GESTrackObject parent; GESTrackObject parent;
/*< private >*/ /*< private >*/
GstElement *element; GstElement *element;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -70,7 +73,12 @@ struct _GESTrackSource {
struct _GESTrackSourceClass { struct _GESTrackSourceClass {
GESTrackObjectClass parent_class; GESTrackObjectClass parent_class;
GstElement *(*create_element) (GESTrackSource *); GstElement *(*create_element) (GESTrackSource *);
/*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_track_source_get_type (void); GType ges_track_source_get_type (void);

View file

@ -58,6 +58,9 @@ struct _GESTrackTextOverlay {
GESTextHAlign halign; GESTextHAlign halign;
GESTextVAlign valign; GESTextVAlign valign;
GstElement *text_el; GstElement *text_el;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -69,6 +72,9 @@ struct _GESTrackTextOverlayClass {
GESTrackOperationClass parent_class; GESTrackOperationClass parent_class;
/*< private >*/ /*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_track_text_overlay_get_type (void); GType ges_track_text_overlay_get_type (void);

View file

@ -58,6 +58,9 @@ struct _GESTrackTitleSource {
GESTextVAlign valign; GESTextVAlign valign;
GstElement *text_el; GstElement *text_el;
GstElement *background_el; GstElement *background_el;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -69,6 +72,9 @@ struct _GESTrackTitleSourceClass {
GESTrackSourceClass parent_class; GESTrackSourceClass parent_class;
/*< private >*/ /*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_track_title_src_get_type (void); GType ges_track_title_src_get_type (void);

View file

@ -62,7 +62,9 @@ struct _GESTrackTransition
{ {
GESTrackObject parent; GESTrackObject parent;
/*< public >*/ /*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -71,10 +73,14 @@ struct _GESTrackTransition
*/ */
struct _GESTrackTransitionClass { struct _GESTrackTransitionClass {
GESTrackObjectClass parent_class; GESTrackObjectClass parent_class;
/*< public >*/
GstElement* (*create_element) (GESTrackTransition *self);
/* <public> */ /*< private >*/
GstElement* (*create_element) (GESTrackTransition *self); /* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_track_transition_get_type (void); GType ges_track_transition_get_type (void);

View file

@ -53,6 +53,9 @@ struct _GESTrackVideoTestSource {
/*< private >*/ /*< private >*/
GESVideoTestPattern pattern; GESVideoTestPattern pattern;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -63,7 +66,9 @@ struct _GESTrackVideoTestSource {
struct _GESTrackVideoTestSourceClass { struct _GESTrackVideoTestSourceClass {
GESTrackSourceClass parent_class; GESTrackSourceClass parent_class;
/* <public> */ /*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_track_video_test_source_get_type (void); GType ges_track_video_test_source_get_type (void);

View file

@ -69,7 +69,8 @@ struct _GESTrackVideoTransition {
gdouble start_value; gdouble start_value;
gdouble end_value; gdouble end_value;
/*< public >*/ /* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -81,7 +82,9 @@ struct _GESTrackVideoTransition {
struct _GESTrackVideoTransitionClass { struct _GESTrackVideoTransitionClass {
GESTrackTransitionClass parent_class; GESTrackTransitionClass parent_class;
/*< public >*/ /*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_track_video_transition_get_type (void); GType ges_track_video_transition_get_type (void);

View file

@ -54,7 +54,8 @@ G_BEGIN_DECLS
struct _GESTrack { struct _GESTrack {
GstBin parent; GstBin parent;
/*< public >*/ /* READ-ONLY */ /*< public >*/
/* READ-ONLY */
GESTrackType type; GESTrackType type;
/*< private >*/ /*< private >*/
@ -65,6 +66,9 @@ struct _GESTrack {
GstElement * composition; /* The composition associated with this track */ GstElement * composition; /* The composition associated with this track */
GstPad * srcpad; /* The source GhostPad */ GstPad * srcpad; /* The source GhostPad */
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
/** /**
@ -74,6 +78,10 @@ struct _GESTrack {
struct _GESTrackClass { struct _GESTrackClass {
GstBinClass parent_class; GstBinClass parent_class;
/*< private >*/
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
}; };
GType ges_track_get_type (void); GType ges_track_get_type (void);

View file

@ -21,6 +21,11 @@
#ifndef __GES_TYPES_H__ #ifndef __GES_TYPES_H__
#define __GES_TYPES_H__ #define __GES_TYPES_H__
/* Padding */
#define GES_PADDING 4
/* Type definitions */
typedef struct _GESCustomTimelineSource GESCustomTimelineSource; typedef struct _GESCustomTimelineSource GESCustomTimelineSource;
typedef struct _GESCustomTimelineSourceClass GESCustomTimelineSourceClass; typedef struct _GESCustomTimelineSourceClass GESCustomTimelineSourceClass;