[gst-devel] a few lib issues
Thomas Vander Stichele
thomas at urgent.rug.ac.be
Fri Jul 12 03:01:06 CEST 2002
Hi everyone,
so we have a few lib issues which I would like to solve on a relatively
short term.
a) libgstcontrol.so
This is currently a plug-in as well as a library. Other plug-ins load it
as a supporting lib in the plug-in code so they can use the functions.
Linking of plug-ins using it succeeds obviously without adding
-lgstcontrol since they dlopen the lib themselves.
Some apps also need to link to it explicitly. Consider gst-player.
gst-player uses an internal lib, libplay, which contains the gstcontrol
functions it needs. Linking of libplay.so succeeds without problems, just
like a plug-in would be able to be linked.
However, at the moment you link the app *without* gstcontrol as a lib,
linking fails because of missing symbols. There is no way around this
that I know of.
If you link the app with -lgstcontrol, the final linking works (because
the right lib location is on the link line), but execution of the
resulting binary can fail (because it hasn't been added with -rpath, but
that's something we won't discuss here).
Ok, some people seem to be saying that there is a way to make this last
problem go away, but both steveb and I couldn't figure out how. I also
think that this only worked because we all compile stuff for gstreamer all
with the same prefix, which makes this work by accident. I could detail
more why this is but it's not relevant right now. If anyone thinks this
can be done, *please* explain me how or provide a sample that does it
and succeeds with the core being configured for a different prefix than
the player.
Personally, I think it can't be done, and we have to figure some other
way.
Here's a set of possibilities :
1) make a wrapper lib around the plug-in and put that in prefix/lib
2) the reverse, make a lib and a wrapper plug-in
3) symlinking the plugin lib to prefix/lib (this works)
Let me know which you would prefer.
b) libgstgconf.so
Steveb and I have been working a little with this, and I've come to the
conclusion that there's no reason for this to be a plug-in at all.
It's a pure helper lib.
So I've moved the installation location to prefix/lib.
Also, it's time to start thinking about a set of helper routines which
wtay wants out of the core for bloat reasons, but which I'd like to put in
and promote to app developers to help.
steveb suggested a library for parsing routines, one function for which I
currently put in the gstgconf library, to render a partial description to
a bin and ghost the unconnected src and sink pads.
I'm sure there'll be more in the future like this.
I'm wondering where this code should be going. Wim wants it out of the
core (as well as some other code in gstutils), which is ok for me.
I'd be inclined to move gstgconf along with it, as well as some of the
parsing code maybe, or parsing helper code, to a separate module.
This module would probably also provide the gconf schema's, and
consequently required by all actual apps using some of this stuff.
We should decide where we want these bits of code, so we can start working
on them. What do you guys think ?
Thomas
--
The Dave/Dina Project : future TV today ! - http://davedina.apestaart.org/
<-*- -*->
The blood before me makes me open up my heart again
And I feel it coming over like a storm again
<-*- thomas at apestaart.org -*->
URGent, the best radio on the Internet - 24/7 ! - http://urgent.rug.ac.be/
More information about the gstreamer-devel
mailing list