res =
GES_CUSTOM_TIMELINE_SOURCE (object)->filltrackobjectfunc (object,
- trobject, gnlobj);
+ trobject, gnlobj, GES_CUSTOM_TIMELINE_SOURCE (object)->user_data);
GST_DEBUG ("Returning res:%d", res);
}
GESCustomTimelineSource *
-ges_custom_timeline_source_new (FillTrackObjectFunc func)
+ges_custom_timeline_source_new (FillTrackObjectUserFunc func,
+ gpointer user_data)
{
GESCustomTimelineSource *src;
src = g_object_new (GES_TYPE_CUSTOM_TIMELINE_SOURCE, NULL);
src->filltrackobjectfunc = func;
+ src->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 gboolean (*FillTrackObjectUserFunc) (GESTimelineObject * object,
+ GESTrackObject * trobject,
+ GstElement * gnlobj,
+ gpointer user_data);
+
+
struct _GESCustomTimelineSource {
GESTimelineSource parent;
- FillTrackObjectFunc filltrackobjectfunc;
+ FillTrackObjectUserFunc filltrackobjectfunc;
+ gpointer user_data;
};
struct _GESCustomTimelineSourceClass {
GType ges_cust_timeline_src_get_type (void);
GESCustomTimelineSource*
-ges_custom_timeline_source_new (FillTrackObjectFunc);
+ges_custom_timeline_source_new (FillTrackObjectUserFunc,
+ gpointer user_data);
G_END_DECLS
static gboolean
my_fill_track_func (GESTimelineObject * object,
- GESTrackObject * trobject, GstElement * gnlobj)
+ GESTrackObject * trobject, GstElement * gnlobj, gpointer user_data)
{
GstElement *src;
/* Create a source and add it to the Layer */
- source = ges_custom_timeline_source_new (my_fill_track_func);
+ source = ges_custom_timeline_source_new (my_fill_track_func, NULL);
fail_unless (source != NULL);
fail_unless (ges_timeline_layer_add_object (layer,