PROP_INPOINT,
PROP_DURATION,
PROP_PRIORITY,
+ PROP_ACTIVE
};
static gboolean
case PROP_PRIORITY:
g_value_set_uint (value, tobj->priority);
break;
+ case PROP_ACTIVE:
+ g_value_set_boolean (value, tobj->active);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
}
case PROP_PRIORITY:
ges_track_object_set_priority_internal (tobj, g_value_get_uint (value));
break;
+ case PROP_ACTIVE:
+ ges_track_object_set_active (tobj, g_value_get_boolean (value));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
}
g_param_spec_uint ("priority", "Priority",
"The priority of the object", 0, G_MAXUINT, 0, G_PARAM_READWRITE));
+ /**
+ * GESTrackObject:active
+ *
+ * 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.
+ */
+ g_object_class_install_property (object_class, PROP_ACTIVE,
+ g_param_spec_boolean ("active", "Active", "Use object in output",
+ TRUE, G_PARAM_READWRITE));
+
klass->create_gnl_object = ges_track_object_create_gnl_object_func;
}
return TRUE;
}
+gboolean
+ges_track_object_set_active (GESTrackObject * object, gboolean active)
+{
+ GST_DEBUG ("object:%p, active:%d", object, active);
+
+ g_return_val_if_fail (object->gnlobject, FALSE);
+
+ if (G_UNLIKELY (active == object->active))
+ return FALSE;
+
+ g_object_set (object->gnlobject, "active", active, NULL);
+ return TRUE;
+}
+
/* default 'create_gnl_object' virtual method implementation */
static gboolean
ges_track_object_create_gnl_object_func (GESTrackObject * object)
guint64 inpoint;
guint64 duration;
guint32 priority;
+ gboolean active;
GstElement *gnlobject;
};
gboolean ges_track_object_set_inpoint_internal (GESTrackObject * object, guint64 inpoint);
gboolean ges_track_object_set_duration_internal (GESTrackObject * object, guint64 duration);
gboolean ges_track_object_set_priority_internal (GESTrackObject * object, guint32 priority);
-
+gboolean ges_track_object_set_active (GESTrackObject * object, gboolean active);
G_END_DECLS
#endif /* _GES_TRACK_OBJECT */