if (self->filter)
gst_bin_remove (GST_BIN (self), self->filter);
self->filter = filter;
- if (filter)
+ if (filter) {
+ gst_object_ref_sink (filter);
_connect_filter_element (self);
+ }
break;
}
default:
/* FIXME: deal with replacing a mixer */
g_return_if_fail (!self->mixer || (self->mixer == mixer));
self->mixer = mixer;
- if (mixer)
+ if (mixer) {
+ gst_object_ref_sink (mixer);
_connect_mixer_element (self);
+ }
break;
}
default:
if (self->src)
gst_bin_remove (GST_BIN (self), self->src);
self->src = src;
- if (src)
+ if (src) {
+ gst_object_ref_sink (src);
_connect_src_element (self);
+ }
break;
}
default: