#include "ges-custom-timeline-source.h"
#include "ges-timeline-source.h"
+struct _GESCustomTimelineSourcePrivate
+{
+ FillTrackObjectUserFunc filltrackobjectfunc;
+ gpointer user_data;
+};
+
G_DEFINE_TYPE (GESCustomTimelineSource, ges_cust_timeline_src,
GES_TYPE_TIMELINE_SOURCE);
GObjectClass *object_class = G_OBJECT_CLASS (klass);
GESTimelineObjectClass *tlobj_class = GES_TIMELINE_OBJECT_CLASS (klass);
+ g_type_class_add_private (klass, sizeof (GESCustomTimelineSourcePrivate));
+
object_class->get_property = ges_cust_timeline_src_get_property;
object_class->set_property = ges_cust_timeline_src_set_property;
object_class->dispose = ges_cust_timeline_src_dispose;
static void
ges_cust_timeline_src_init (GESCustomTimelineSource * self)
{
+ self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
+ GES_TYPE_CUSTOM_TIMELINE_SOURCE, GESCustomTimelineSourcePrivate);
}
static gboolean
GESTrackObject * trobject, GstElement * gnlobj)
{
gboolean res;
+ GESCustomTimelineSourcePrivate *priv;
GST_DEBUG ("Calling callback (timelineobj:%p, trackobj:%p, gnlobj:%p)",
object, trobject, gnlobj);
- res =
- GES_CUSTOM_TIMELINE_SOURCE (object)->filltrackobjectfunc (object,
- trobject, gnlobj, GES_CUSTOM_TIMELINE_SOURCE (object)->user_data);
+ priv = GES_CUSTOM_TIMELINE_SOURCE (object)->priv;
+ res = priv->filltrackobjectfunc (object, trobject, gnlobj, priv->user_data);
GST_DEBUG ("Returning res:%d", res);
GESCustomTimelineSource *src;
src = g_object_new (GES_TYPE_CUSTOM_TIMELINE_SOURCE, NULL);
- src->filltrackobjectfunc = func;
- src->user_data = user_data;
+ src->priv->filltrackobjectfunc = func;
+ src->priv->user_data = user_data;
return src;
}
#define GES_CUSTOM_TIMELINE_SOURCE_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_CUSTOM_TIMELINE_SOURCE, GESCustomTimelineSourceClass))
+typedef struct _GESCustomTimelineSourcePrivate GESCustomTimelineSourcePrivate;
+
/**
* FillTrackObjectUserFunc:
* @object: the #GESTimelineObject controlling the track object
GESTimelineSource parent;
/*< private >*/
- FillTrackObjectUserFunc filltrackobjectfunc;
- gpointer user_data;
+ GESCustomTimelineSourcePrivate *priv;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];