Re: Next stable Rygel release



On 09/22/2010 01:20 PM, Zeeshan Ali (Khattak) wrote:
Hi,

It is running on Linux actually, but a modified Linux for MMU'less (memory
management unit) processors. My company is Ubicom. I think you already know
us from a previous project. My colleagues have used Rygel as a renderer in a
media project.
   Yes I do but I had forgotten that you were using it as a renderer only.

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.



We also had to add some
patches for fork-vfork conversion, etc.
   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.
Do you know about OpenWrt platform?
   I've heard of it but don't know/remember much about it.

Can we use 0.7.8 or should we
wait for  0.8.0 (or next stable)?
Why can't you do both? :) The unstable releases aren't for fun but to
get larger testing before the stable release. Anyway, 0.8 should be out
soon so its your choice. :)
OK. I will upgrade to 0.7.8 first. It will be easier to upgrade to 0.8.0
then anyway.
   Good decision. :)

One issue we have with Rygel is its huge size. It requires a minimum of 5 MB
flash and we cannot fit into our 8 MB flash when we add it to our router. We
have also ported uShare and it only requires 500 KB, but we want to use
Rygel, because it looks like more DLNA compliant and actively being
developed. Do you know anyone using Rygel DMS in an embedded system? We will
need to use 16 MB flash just for Rygel.
   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. BTW, I want to ask a question. Does Rygel use the codec plugins (gst-plugins-good, etc) for metadata parsing or just for transcoding? 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? Still I need a minimum of about 6MB flash space though.

rygel: 558 KB
librygel-media-export: 242 KB
libdbus: 246 KB
libdbus-glib: 122 KB
libgee: 293 KB
libgio: 551 KB
libglib: 782 KB
libgmodule: 10 KB
libgobject: 193 KB
libgstreamer: 627 KB
libgthread: 15 KB
libgupnp: 143 KB
libsqlite: 453 KB
libuuid: 17 KB
libsoup: 321 KB
liboil: 398 KB
		
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


Thanks,
Alper


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