Milosz Derezynski wrote:
I tested things yesterday using both wrap(..., false) and wrap(..., true) and the output is the same: the element is *not* successfully created. I debugged a little and truly, using wrap(..., true) shows that the reference count is 2 as opposed to using wrap(..., false) which produces a count of 1 in the flow of the following code (from "gstmm/element.cc"):The SVN should be back into the original place now, we were about to loose the domain, but it then so happened that we were given it back to keep it; it's still at: https://svn.beep-media-player.org/gstreamermm/trunk As for the reference, i have almost no explanation why the element creation wouldn't work; iit's right what you said withAlthough the documentation http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElementFactory.html#gst-element-factory-make is not explicitly clear about this, newly-created instances usually provide a reference already.but the code of creating an element the C++ way is so trivial, that i wouldn't know what's wrong there; it's almost already like a testcase in itself. I'm not sure if i can get around it this day still but i'll try to write some finer grained tests to see what's going on.
namespace Gst
{
Glib::RefPtr<Gst::Element> wrap(GstElement* object, bool take_copy)
{
return Glib::RefPtr<Gst::Element>( dynamic_cast<Gst::Element*>
(Glib::wrap_auto ((GObject*)(object), take_copy)) );
//We use dynamic_cast<> in case of multiple inheritance. } } /* namespace Gst */What I'm trying to do is run the debugger across all the code and see where I'm encountering the problem. I can see the gstreammermm code, but I can't see the glibmm, gstreamer and other library code because my distribution has separated the libraries (like glibmm, gtkmm, gstreamer) from the symbols (by stripping). They provide debugging packages with the symbols, but I can't figure out how to get gdb to show me the source code using the debugging packages.
I will post in the gdb list and see if someone there can give me some guidance, but yes, Murray is right about the wrap(...) and I still cannot get a Gst::Element to be created. Anyone have an idea as to how I can have access to the source of libraries when debugging? Thanks.
-Jose