diff options
Diffstat (limited to 'gst/autoplug/gststaticautoplugrender.c')
-rw-r--r-- | gst/autoplug/gststaticautoplugrender.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/gst/autoplug/gststaticautoplugrender.c b/gst/autoplug/gststaticautoplugrender.c index 0c71fffc08..d4c9ad1a54 100644 --- a/gst/autoplug/gststaticautoplugrender.c +++ b/gst/autoplug/gststaticautoplugrender.c @@ -95,6 +95,9 @@ plugin_init (GModule *module, GstPlugin *plugin) if (factory != NULL) { gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (factory)); } + else { + g_warning ("could not register autoplugger: staticrender"); + } return TRUE; } @@ -232,8 +235,6 @@ gst_autoplug_pads_autoplug (GstElement *src, GstElement *sink) GST_ELEMENT_NAME(src), GST_ELEMENT_NAME(sink)); g_signal_connect (G_OBJECT(src),"new_pad", G_CALLBACK (gst_autoplug_pads_autoplug_func), sink); - g_signal_connect (G_OBJECT(src),"new_ghost_pad", - G_CALLBACK (gst_autoplug_pads_autoplug_func), sink); } } @@ -398,7 +399,7 @@ next: GST_DEBUG (0,"common factory \"%s\"\n", GST_OBJECT_NAME (factory)); - element = gst_elementfactory_create (factory, GST_OBJECT_NAME (factory)); + element = gst_elementfactory_create (factory, g_strdup (GST_OBJECT_NAME (factory))); gst_bin_add (GST_BIN(result), element); if (srcelement != NULL) { @@ -457,7 +458,7 @@ differ: factory = (GstElementFactory *)(factories[i]->data); GST_DEBUG (0,"factory \"%s\"\n", GST_OBJECT_NAME (factory)); - element = gst_elementfactory_create(factory, GST_OBJECT_NAME (factory)); + element = gst_elementfactory_create(factory, g_strdup (GST_OBJECT_NAME (factory))); } else { element = sinkelement; @@ -468,6 +469,7 @@ differ: if (GST_ELEMENT_IS_THREAD_SUGGESTED(element) || use_thread) { GstElement *queue; GstPad *srcpad; + GstElement *current_bin = thebin; use_thread = FALSE; @@ -491,7 +493,7 @@ differ: gst_bin_add(GST_BIN(thebin), element); gst_autoplug_signal_new_object (GST_AUTOPLUG (autoplug), GST_OBJECT (element)); GST_DEBUG (0,"adding element %s\n", GST_ELEMENT_NAME (thebin)); - gst_bin_add(GST_BIN(result), thebin); + gst_bin_add(GST_BIN(current_bin), thebin); gst_autoplug_signal_new_object (GST_AUTOPLUG (autoplug), GST_OBJECT (thebin)); thesrcelement = queue; } |