[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