"max-size-bytes", 0, "max-size-time", (gint64) 0,
"silent", TRUE, NULL);
gst_bin_add (bin, element);
- gst_element_link_pads_full (element, "src", chain->overlay,
- "subtitle_sink", GST_PAD_LINK_CHECK_TEMPLATE_CAPS);
- textsinkpad = gst_element_get_static_pad (element, "sink");
- srcpad = gst_element_get_static_pad (chain->overlay, "src");
+ if (gst_element_link_pads_full (element, "src", chain->overlay,
+ "subtitle_sink", GST_PAD_LINK_CHECK_TEMPLATE_CAPS)) {
+ textsinkpad = gst_element_get_static_pad (element, "sink");
+ srcpad = gst_element_get_static_pad (chain->overlay, "src");
+ } else {
+ gst_bin_remove (bin, chain->sink);
+ gst_bin_remove (bin, chain->overlay);
+ chain->sink = NULL;
+ chain->overlay = NULL;
+ gst_object_unref (videosinkpad);
+ videosinkpad = NULL;
+ }
}
}
}