Re: Next stable Rygel release



Hi Zeeshan,

On 09/22/2010 02:29 PM, Zeeshan Ali (Khattak) wrote:
Hi,

On Wed, Sep 22, 2010 at 2:10 PM, Alper Guler<aguler ubicom com>  wrote:
On 09/22/2010 01:20 PM, Zeeshan Ali (Khattak) wrote:
Now we want to use it as a DMS. The porting we have done is
mostly about writing the makefiles for Rygel and the required libraries
on
OpenWrt, which is the router platform we are using.

    Hm.. Interesting. Doesn't autotools support that platform or aren't
there any modified version of autotools that supports OpenWrt? I would
really love to have rygel be buildable/working out of the box on as
many platforms as possible so if you could contribute patches to rygel
for that, it'll be very much appreciated.

This is not about Rygel. The thing is OpenWrt has a different structure. It
is based on buildroot and it does not contain any source code. When you
build OpenWrt, it reads makefiles of packages and firstly downloads the
package (app or lib) source from a server in the web. So, you have to write
an Openwrt makefile to add a new package to OpenWrt. This makefile contains
the URL of the package source and tells Openwrt how to build the package.
This is what we have done. We wrote makefiles for rygel and some other
libraries, for which OpenWrt does not have support yet. Some of the
dependencies were already supported by Openwrt, like gstreamer,
gst-plugins-base,good,ugly and we used them with some modifications.

An Openwrt package also consists of  a "files" folder to put script and
config files, etc. in and "patches" folder for your patches to be applied to
the original package after it is  downloaded from its URL.

We can add Rygel and other new packages we have added in our local distro to
OpenWrt upstream later. Actually, we have a plan for uploading all our
modifications on OpenWrt to OpenWrt upstream, and we had even started
discussions with the OpenWrt team, but the fact that we are the first
OpenWrt target with no MMU has made things very difficult to integrate and
we have postponed this effort for now.
   Thanks for the detailed explanation. :)

   Hm.. that makes me a bit more curious, We are not using fork in
rygel so why you need that?

Rygel does not use fork, but some dependencies do, for example glib and
dbus.
   Ah ok but you don't actually need D-Bus but only libdbus. Regarding
glib, read below.

   Rygel itself takes less than an MB (~ 5K) both on the disk and when
running and plugins don't take much of memory at all so I assume you
are talking about all its dependencies. The thing is Rygel is designed
for GNOME Mobile and hence it makes maximum use of core GNOME
libraries. Having said that, you might want to strip all the binaries
(if you haven't done that already).

Yes, I am talking about Rygel together with all its dependencies and when
they are stripped.
Below is what I get when I build Rygel with media-export plugin for ubicom
IP7K processor.
    Have you looked into the '--gc-sections' option of gcc? If you
could make use of that, that'll greatly help you reduce the memory
footprint.

http://blog.flameeyes.eu/2008/03/14/how-to-avoid-unused-functions-to-creep-into-final-binaries
http://blog.flameeyes.eu/2009/11/21/garbage-collecting-sections-is-not-for-production

BTW, I want to ask a question. Does Rygel use the codec plugins
(gst-plugins-good, etc) for metadata parsing or just for transcoding?
    Yes, media-export plugin (gupnp-dlna actually) uses gstreamer for
metadata extraction.

If I
don`t want to do any transcoding, do I still have to use gst-plugins-good,
bad, ugly to serve many different types of media or is it enough to use only
gst-plugins-base?
   These packages are not so indivisible and you can easily
build/install only the plugins that you actually need. Rygel core only
needs a few plugins and for metadata extraction, it all depends on
which codecs you want to support.

Total size of Rygel without any plugins: 4518 KB

size of gst-plugins-base library, which is a must: ~1400 KB

So, total minimum size of Rygel is: 5918 KB
    I really don't think its fair to include the size of dependencies
when specifying the size of Rygel. You might as well include the size
of Linux kernel then.

No offense :-) My point of view is how much flash space do I need to run Rygel on my board and this adds the dependency sizes as well, because I don`t need those libraries for any other application. I will add them to my system just for Rygel, so I have to count them in. But thanks for you suggestions. I will try to optimize the size as much as possible by removing anything which is not really needed.

Regards,
Alper



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]