[gst-devel] spider related discussion
in7y118 at public.uni-hamburg.de
in7y118 at public.uni-hamburg.de
Fri Feb 20 04:00:13 CET 2004
Quoting Stefan Kost <kost at imn.htwk-leipzig.de>:
> Problem 1.)
> The inserting of the spider works (gst_elements_link_many(src,spider,sink)
> returns true), but running the result does not. When setting the pipeline to
> play, I get :
>
> ** (process:13875): CRITICAL **: how to remove plugins?
>
> (process:13875): GStreamer-CRITICAL **: Factory for `volume' has no type
> Segmentation fault (core dumped)
>
gst_element_link_many must be NULL-terminated.
> Problem 2.)
> I am not be able to find out which elements the spider actually inserts (I
> have
> used --gst-debug="*:4", using higher values made it impossible to locate
> anything).
>
Use --gst-debug-help to figure out all of the debugging categories. Spider
debugging categories probably have names starting with "spider".
So something like --gst-debug=spider*:5 should give you a good output.
> Problem 3.)
> How can spider work at all. When I link src->spider it can't yet do anything
> useful as it does not yet know about the sink. So only if the other end
> (siper->sink in our case) has been connected the it can search for required
> elements to insert. Is that the way it works?
>
Correct.
> Problem 4.)
> I've tried to write a simple 'spider' for audio-use only. I've started to
> grab
> the GstCaps from the src and sink pads of the elements I want to link. But
> then
> discovered that the caps are quite dumb objects. At least if I should only
> use
> what is in the API docs (and thus is public).
>
You'Re allowed to use what's in the installed headers.
But you're correct that David should write API docs for the stuff he codes ;)
> Question 1.)
> Wouldn it make sense if one could tell the spider: 'try to link these by
> only
> using elements <a>,<b>,<c>'?
>
I'm not sure if spider even has a property to limit those to certain element
classes, but I don't know.
> Question 2.)
> Now to that point. Which way would you go?
> Should the spider be fixed to handle things like 'sinesrc ! spider ! esdsink'
> (I
> would say so)?
> Would you suggest that I care myself about putting the right converters
> inbetween?
>
The correct way to go is to write a better autoplugger. The current
autoplugger is old and it shows.
David and I have started working on a replacement and it is going to appear
during the 0.8 release cycle. It will not be ready for 0.8.0. And it will most
probably stay as a seperate project, too.
The current code (which doesn't do very much and certainly nothing useful) can
be found in CVS at gst-sandbox/gst-autoplug if anyone wants to have a look at
it, start hacking on it or just wants to read ChangeLog updates.
Benjamin
More information about the gstreamer-devel
mailing list