Source push plugin

Luis dArquer Luis.dArquer at lotusf1team.com
Thu Jan 15 01:10:03 PST 2015


Hi Tim,

Thanks for your answer.

> You usually don't have to do anything in start but reset your state, so
> not sure this is needed. If you have a push source, the block size is
> pretty much ignored anyway (note how GstPushSrc::create() doesn't have a
> size parameter compared to GstBaseSrc::create()).

OK. I though I needed that because if I remember right, GstPushSrc overrides GstBaseSrc::create(), and then as you say, ignores offset and size and calls its own create() method. Where I though the problem was, once you create your buffer, GstPushSrc returns it to GstBaseSrc. Which means GstBaseSrc made a call to its method create() with some "size" argument, and gets a buffer back with a size different to "size". Does it mean then that, if I was deriving my class directly from GstBaseSrc, would it be safe to ignore the "size" argument in my "create" vmethod just like GstPushSrc does? Is the size arg just a "hint"?

> Try providing an absolute path to gst-inspect-1.0 (...)

No difference

> How long does it 'hang'? It might just create the GStreamer plugin cache
> for the first time. If you're on a very slow / embedded system this
> might take some time. On a normal laptop/desktop it should be quite fast
> though.
>
> Just run it in gdb and after it hung for a while, press control-C and
> then type
>
 > (gdb) thread apply all bt
>
> That might give us a better idea of where it's stuck.

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

Could it be that any of
 g_stat(), g_module_open(), g_module_symbol()
hangs?

Running gst-inspect-1.0 otherwise works fine, so g_module_supported() should do OK.

Finally, from objdump, it shows the .so file has the gst_plugin_desc symbol (size 3c), and the plugin init function (optrissrc_init) symbol too -although doesn't seem to be called anyway.

Maybe it is time to put the files on Bugzilla?

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