G_OBJECT_CLASS (parent_class)->dispose (object);
- if (GST_ELEMENT_SCHED (pipeline)) {
- gst_object_unref (GST_OBJECT (GST_ELEMENT_SCHED (pipeline)));
- GST_ELEMENT_SCHED (pipeline) = NULL;
- }
+ gst_object_swap ((GstObject **)&GST_ELEMENT_SCHED (pipeline), NULL);
}
/**
{
GstSchedulerFactory *factory;
- g_return_val_if_fail(name != NULL, NULL);
+ g_return_val_if_fail (name != NULL, NULL);
factory = gst_scheduler_factory_find (name);
{
GstPluginFeature *feature;
- g_return_val_if_fail(name != NULL, NULL);
+ g_return_val_if_fail (name != NULL, NULL);
GST_DEBUG (0,"gstscheduler: find \"%s\"", name);
GstScheduler *new = NULL;
g_return_val_if_fail (factory != NULL, NULL);
- g_return_val_if_fail (parent != NULL, NULL);
+ g_return_val_if_fail (GST_IS_ELEMENT (parent), NULL);
+ g_return_val_if_fail (GST_ELEMENT_SCHED (parent) == NULL, NULL);
if (gst_plugin_feature_ensure_loaded (GST_PLUGIN_FEATURE (factory))) {
g_return_val_if_fail (factory->type != 0, NULL);
g_cond_free (thread->cond_t);
g_cond_free (thread->cond_m);
- G_OBJECT_CLASS (parent_class)->dispose (object);
+ gst_object_swap ((GstObject **)&GST_ELEMENT_SCHED (thread), NULL);
- if (GST_ELEMENT_SCHED (thread)) {
- gst_object_unref (GST_OBJECT (GST_ELEMENT_SCHED (thread)));
- }
+ G_OBJECT_CLASS (parent_class)->dispose (object);
}
/**