mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 04:36:20 +00:00
GESCustomTimelineSource: add private structure
This commit is contained in:
parent
2b63a52a6a
commit
a66d8eaf16
3 changed files with 19 additions and 7 deletions
|
@ -380,6 +380,7 @@ FillTrackObjectUserFunc
|
||||||
ges_custom_timeline_source_new
|
ges_custom_timeline_source_new
|
||||||
<SUBSECTION Standard>
|
<SUBSECTION Standard>
|
||||||
ges_cust_timeline_src_get_type
|
ges_cust_timeline_src_get_type
|
||||||
|
GESCustomTimelineSourcePrivate
|
||||||
GES_CUSTOM_TIMELINE_SOURCE
|
GES_CUSTOM_TIMELINE_SOURCE
|
||||||
GES_CUSTOM_TIMELINE_SOURCE_CLASS
|
GES_CUSTOM_TIMELINE_SOURCE_CLASS
|
||||||
GES_CUSTOM_TIMELINE_SOURCE_GET_CLASS
|
GES_CUSTOM_TIMELINE_SOURCE_GET_CLASS
|
||||||
|
|
|
@ -32,6 +32,12 @@
|
||||||
#include "ges-custom-timeline-source.h"
|
#include "ges-custom-timeline-source.h"
|
||||||
#include "ges-timeline-source.h"
|
#include "ges-timeline-source.h"
|
||||||
|
|
||||||
|
struct _GESCustomTimelineSourcePrivate
|
||||||
|
{
|
||||||
|
FillTrackObjectUserFunc filltrackobjectfunc;
|
||||||
|
gpointer user_data;
|
||||||
|
};
|
||||||
|
|
||||||
G_DEFINE_TYPE (GESCustomTimelineSource, ges_cust_timeline_src,
|
G_DEFINE_TYPE (GESCustomTimelineSource, ges_cust_timeline_src,
|
||||||
GES_TYPE_TIMELINE_SOURCE);
|
GES_TYPE_TIMELINE_SOURCE);
|
||||||
|
|
||||||
|
@ -77,6 +83,8 @@ ges_cust_timeline_src_class_init (GESCustomTimelineSourceClass * klass)
|
||||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||||
GESTimelineObjectClass *tlobj_class = GES_TIMELINE_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->get_property = ges_cust_timeline_src_get_property;
|
||||||
object_class->set_property = ges_cust_timeline_src_set_property;
|
object_class->set_property = ges_cust_timeline_src_set_property;
|
||||||
object_class->dispose = ges_cust_timeline_src_dispose;
|
object_class->dispose = ges_cust_timeline_src_dispose;
|
||||||
|
@ -88,6 +96,8 @@ ges_cust_timeline_src_class_init (GESCustomTimelineSourceClass * klass)
|
||||||
static void
|
static void
|
||||||
ges_cust_timeline_src_init (GESCustomTimelineSource * self)
|
ges_cust_timeline_src_init (GESCustomTimelineSource * self)
|
||||||
{
|
{
|
||||||
|
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
|
||||||
|
GES_TYPE_CUSTOM_TIMELINE_SOURCE, GESCustomTimelineSourcePrivate);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
@ -95,13 +105,13 @@ ges_cust_timeline_src_fill_track_object (GESTimelineObject * object,
|
||||||
GESTrackObject * trobject, GstElement * gnlobj)
|
GESTrackObject * trobject, GstElement * gnlobj)
|
||||||
{
|
{
|
||||||
gboolean res;
|
gboolean res;
|
||||||
|
GESCustomTimelineSourcePrivate *priv;
|
||||||
|
|
||||||
GST_DEBUG ("Calling callback (timelineobj:%p, trackobj:%p, gnlobj:%p)",
|
GST_DEBUG ("Calling callback (timelineobj:%p, trackobj:%p, gnlobj:%p)",
|
||||||
object, trobject, gnlobj);
|
object, trobject, gnlobj);
|
||||||
|
|
||||||
res =
|
priv = GES_CUSTOM_TIMELINE_SOURCE (object)->priv;
|
||||||
GES_CUSTOM_TIMELINE_SOURCE (object)->filltrackobjectfunc (object,
|
res = priv->filltrackobjectfunc (object, trobject, gnlobj, priv->user_data);
|
||||||
trobject, gnlobj, GES_CUSTOM_TIMELINE_SOURCE (object)->user_data);
|
|
||||||
|
|
||||||
GST_DEBUG ("Returning res:%d", res);
|
GST_DEBUG ("Returning res:%d", res);
|
||||||
|
|
||||||
|
@ -124,8 +134,8 @@ ges_custom_timeline_source_new (FillTrackObjectUserFunc func,
|
||||||
GESCustomTimelineSource *src;
|
GESCustomTimelineSource *src;
|
||||||
|
|
||||||
src = g_object_new (GES_TYPE_CUSTOM_TIMELINE_SOURCE, NULL);
|
src = g_object_new (GES_TYPE_CUSTOM_TIMELINE_SOURCE, NULL);
|
||||||
src->filltrackobjectfunc = func;
|
src->priv->filltrackobjectfunc = func;
|
||||||
src->user_data = user_data;
|
src->priv->user_data = user_data;
|
||||||
|
|
||||||
return src;
|
return src;
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,6 +44,8 @@ G_BEGIN_DECLS
|
||||||
#define GES_CUSTOM_TIMELINE_SOURCE_GET_CLASS(obj) \
|
#define GES_CUSTOM_TIMELINE_SOURCE_GET_CLASS(obj) \
|
||||||
(G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_CUSTOM_TIMELINE_SOURCE, GESCustomTimelineSourceClass))
|
(G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_CUSTOM_TIMELINE_SOURCE, GESCustomTimelineSourceClass))
|
||||||
|
|
||||||
|
typedef struct _GESCustomTimelineSourcePrivate GESCustomTimelineSourcePrivate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* FillTrackObjectUserFunc:
|
* FillTrackObjectUserFunc:
|
||||||
* @object: the #GESTimelineObject controlling the track object
|
* @object: the #GESTimelineObject controlling the track object
|
||||||
|
@ -73,8 +75,7 @@ struct _GESCustomTimelineSource {
|
||||||
GESTimelineSource parent;
|
GESTimelineSource parent;
|
||||||
|
|
||||||
/*< private >*/
|
/*< private >*/
|
||||||
FillTrackObjectUserFunc filltrackobjectfunc;
|
GESCustomTimelineSourcePrivate *priv;
|
||||||
gpointer user_data;
|
|
||||||
|
|
||||||
/* Padding for API extension */
|
/* Padding for API extension */
|
||||||
gpointer _ges_reserved[GES_PADDING];
|
gpointer _ges_reserved[GES_PADDING];
|
||||||
|
|
Loading…
Reference in a new issue