On Mon, 2007-12-03 at 23:51 -0500, José Alburquerque wrote:
>  Glib::RefPtr<Pipeline> Pipeline::create(const std::string& name)
>  {
> -  GstElement* pipeline = gst_pipeline_new(name.c_str());
> -  return Glib::wrap((GstPipeline*) pipeline);
> +  GstElement* gstPipeline = gst_pipeline_new(name.c_str());
> +  Glib::RefPtr<Pipeline> pipeline = Glib::wrap((GstPipeline*)
> gstPipeline);
> +  Glib::RefPtr<Bus> bus = pipeline->get_bus();
> +  gst_bus_add_signal_watch(bus->gobj());
> +  bus->unreference();
> +  return pipeline;
>  }

What is happening here? You should never need to do a manual
reference(). And you should add a comment near the extra
gst_bus_add_signal_watch() because we can't otherwise know what is
happening.

-- 
[EMAIL PROTECTED]
www.murrayc.com
www.openismus.com

_______________________________________________
gtkmm-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtkmm-list

Reply via email to