Source push plugin

Luis dArquer Luis.dArquer at lotusf1team.com
Fri Jan 23 01:14:31 PST 2015


OK, I found the issue finally.

> It seems to hang forever. I could not try the debugger yet, but I ran this:
>
> gst-inspect-1.0 --gst-debug-level=5 libgstoptrissrc.so
>
> And the last line is the output from gst_plugin_load_file() in gstplugin.c:704:
>
>   attempt to load plugin "./libgstoptrissrc.so"
>
> and then hangs. Looking at gstplugin.c, it seems you would be expecting it to either fail and report it, or log "Plugin %p for file "%s"
> prepared..etc." (gstplugin.c:833) -note this is gstreamer 1.2

Well, that was wrong. The reason why the next message "Plugin %p ..." did not come up was because the debug level was 5, and LOG messages seem to need 6 at least.

So I write the solution in case it is ever useful for someone.

After debugging it, the issue was I called G_DEFINE_TYPE with *my class'* GType, not the *parent* GType. When the plugin code loaded my plugin, it got stuck at my plugin init function, which calls gst_element_register() only. It was not obvious at first, but the last argument to the gst_element_register() call is GST_TYPE_MYCLASS_SRC, which is a call to a function (_get_type()) that was not properly defined - since the  G_DEFINE_TYPE declaration was not done properly. And for some reason, it got stuck there -no idea why really, but it never returned from the call to _get_type()

Thanks

Luis



Luis dArquer

Lotus F1 Team

T +44 (0) 1608 678000
M
E Luis.dArquer at lotusf1team.com
www.lotusf1team.com

[http://www.lotusf1team.com/assets/lf1.jpg]

Lotus F1 Team Limited
Enstone - Oxfordshire - OX7 4EE - England

-------------------------------------------
Lotus F1 Team Limited Registered in England no. 1806337 Registered Office: 16 Old Bailey London EC4M 7EG WARNING: please ensure that you have adequate virus protection in place before you open or detach any documents attached to this email. This e-mail may constitute privileged information. If you are not the intended recipient, you have received this confidential email and any attachments transmitted with it in error and you must not disclose, copy, circulate or in any other way use or rely on this information. E-mails to and from Lotus F1 Team are monitored for operational reasons and in accordance with lawful business practices. The contents of this email are those of the individual and do not necessarily represent the views of the company. Please note that this e-mail has been created in the knowledge that Internet e-mail is not a 100% secure communications medium. We advise that you understand and observe this lack of security when e-mailing us. If you have received this email in error please forward to: is.servicedesk at lotusf1team.com quoting the sender, then delete the message and any attached documents
-------------------------------------------


More information about the gstreamer-devel mailing list