Posts

Showing posts with the label Rygel

Rygel 0.4.8 (Till the Blood Runs Clear) is out!

Here goes the release log: A bug-fix release in stable 0.4.x series to fix seeking in general and playback for clients that always seek (Sony PS3). Dependency-related changes: - Require valac >= 0.7.10. All contributors to this release: Zeeshan Ali (Khattak) Download source tarball from here .

Rygel 0.4.4 (Green & Mean) is out!

Here goes the release log: Brief summary of changes since 0.4.2: - Provide a gstreamer-based MediaRenderer plugin. This is mostly code stolen ( and heavily adapted) from gupnp-media-renderer except that it doesn't depend on libowl-av and/or gtk+. - More ease for MediaServer implementors. - Better error handling. - Make sure no message is suppressed until we know what level of console output user wants. - Make use of vala's async support to simplify code quite a bit. - Plugins should load xml files from source tree when built with '--enable-uninstalled' configure flag. - Build with no optimizations in debug mode. - Use closure table to speed up object lookup and deletion. - Add build option for SQL debugging. - Workaround a crasher bug (#3774) in sqlite 3.6.12. - Use vala's static client D-Bus syntax. - Early ignorance of disabled plugins. This not only speeds-up startup a bit but also rids us of redundant debug messages. - MediaExport: - Nicely handle

Rygel 0.4.2 (Thank God It's Friday, Again)

I always forget to announce the micro releases here. Here it is now: Brief summary of changes since 0.4.1: - Ability to specify verbosity of console messages by a number between 0 to 5. - Be able to survive unavailability of D-Bus session bus. This should make it easier to setup Rygel on headless NAS machines. - MediaExport: - Provide duration and date of media. - Improved guessing for type (UPnP class) of media. - Re-harvest metadata when a file/directory is modified. - Speed-up browsing (twice as before). - rygel-preferences: - Fix enabling/disabling of widgets. - Copy the desktop file from correct location. - Mediathek and GstLaunch disabled by default in the user configuration. - Add GstLaunch to maemo configuration (disabled by default though). - Put dbus-glib-1 to the list of vala API dependencies. - Fix seek headers. - Be more verbose at the end of configure. Bugs fixed in this release: 596500 - Mpeg TS video files are mistaken for audio files 596213 - Wrong state for

Rygel 0.4.1 (Even more fascinating!)

Soon after Rygel 0.4 was released , Peter Robinson pushed it for F12 and our good friend Bastien Nocera started testing it immediately. He found many issues and some of them were so critical that we immediately had to make a another release with fixes for those issues. Thanks Bastien!

Rygel 0.4 (Fascinating!) is out!

Rygel 0.4 (Fascinating!) is out! As usual, the release announcement: Brief summary of changes since 0.3: - Rygel is no more just a MediaServer but rather a collection of DLNA (UPnP AV) services (devices in UPnP speak). - Port to new GUPnP APIs. The biggest advantage of that is that we now have dynamic network support, i-e Rygel can attach/detach to/from a network interface as it goes up/down. - Support for time-based seeking in transcoded streams. - Random tweaks to transcoding pipelines. - Provide a DBus service providing two functionalities: * Ability to tell Rygel to shutdown. Starting of Rygel is automatically handled by D-Bus since a .service file is provided by Rygel. * Ability to tell Rygel (MediaExport plugin actually) to (un)export URIs on the fly. - Implement enabling/disabling of UPnP in the preferences. - Configuration through command-line options. - Use a .ini configuration file rather than gconf. - Special default configuration for Maemo. - Don

We got thumbnails

I got thumbnails working in Rygel. :) Right now rygel doesn't generate the thumbnails on it's own but provide thumbnails if already generated by another application (e.g nautilus) and stored in the freedesktop or maemo (they are almost the same) standard location. It works on both desktop and N900 and now that gupnp stack has been released, a rygel release with this and some other cool features will arrive shortly. :) Now it's very easy for me to find the videos of my friends .

Rygel 0.3 (Berlin is cool if it doesn't rain) is out

Image
Rygel 0.3 (Berlin is cool if it doesn't rain) is out! Here are is relase announcement: Brief summary of changes since 0.2.2: - Transcoding from any format (that gstreamer's decodebin2 can handle) to mp3, linear PCM and mpeg transport stream containing mpeg 2 video and mp2 audio. - Plugin API to deal with user preferences. - User preferences UI: rygel-preferences. - New plugins: * Folder: Recursively exports folders specified in the user preferences. * ZDFMediathek: Exports online media from 2nd German TV station. * External: Exports media hierarchies provided by external applications through implementation of this spec: http://live.gnome.org/Rygel/MediaServer. The first application that utilizes this feature is PulseAudio. - Drop xbox support. It didn't work anyway and we better concentrate on implementing standard stuff that it at least worthy of being called "UPnP" ( at least for now). - Tracker and DVB plugins are only loaded if their corre

We have transcoding!

Since transcoding is one of the hottest feature almost every user expects from a decent modern MediaServer, I finally manged to put some time into implementing it. After two weeks of hacking, I finally have transcoding implemented in Rygel . Yay! The source format/codec could be anything that gstreamer's decodebin2 can handle. The target format/codec had to be specific and I currently support mp3, PCM and mp2 video + mp2 audio encapsulated in mpeg transport stream. Before you ask, no! none of the above transcoding classes work against PS3 but PCM. So you can listen to your OGG vorbis file on your PS3, yes but no videos that are in format alien to PS3. With transcoding working with PCM, I don't think any PS3 user will miss transcoding to mp3 (especially keeping in mind the inevitable loss in quality because of transcoding from one lossy codec to another) but transcoding of videos is something users would want/need so I will look into why PS3 refuses the mpeg ts stream from Ryg

Rygel 0.2.2 is out

Changes since 0.2: - Use the new (0.6.9) Tracker API. - Priority of gio-based streams are based on requested DLNA transfer mode. - GIO-based/like asynchronous plugin API. - Adapt to latest changes in gupnp-vala API. - Serialization of media objects isn't done by media objects themselves anymore, but by a new separate class, Rygel.DIDLLiteWriter. - Internal API is marked 'internal' so it doesn't get to our (Vala) API. - MediaObject now derives from GLib.Object. - Generic AsyncResult implementation, SimpleAsyncResult. - StateMachine interface that all state machines classes implement. - Visible performance improvements in Tracker plugin by proper use of Tracker APIs. - Use Filename.to_string() and therefore make Bastien happy. - Require lastest version (0.1.5) of libgee to use List.slice(). - Don't limit the number of objects returned to a client, let it decide that on it's own. - Proper handling of update notification to the client by use of a very simple bubble-

Writing Rygel plugins

While I had been trying my best to make sure writing Rygel plugins is easier than frying eggs before my FOSDEM presentation, I was quite disappointed about how the presentation actually went. I thought I simply lost everyone in there by the end of th presentation and didn't get to make a very good impression. But seems the ease of writing Rygel plugins didn't go unnoticed in that presentation after all since I happen to catch the attention of at least one developer, Jens Georg who is working on two plugins for Rygel and you can follow the progress on his blog .

FOSDEM2009

Like many other Hacker fellows, I'll also be attending FOSDEM this year. I even have a talk at the GNOME devroom just like last year but this time I'll be mostly talking about Rygel rather than GUPnP . If you are coming to FOSDEM and happen to have any interest in Rygel, especially in how to write plugins for it don't forget to attend it.

Rygel 0.2 is out

Rygel 0.2 is out. Here is the release announcement: The major change after last release (as gupnp-media-server) is the introduction of a simple yet powerful plugin-based architecture/api: Everyone plugin: - is loaded into a separate MediaServer instance. - can implement any kind and number of resources (currently only services). - can export an icon file. - inherit it's ContentDirectory implementation from a base class that does most of the UPnP-related work. More improvements on this planned for next release. - use an intuitive API to easily export media from URIs and live GStreamer source elements over HTTP. Other changes: - Relicense under LGPL to allow proprietary plugins and ease of moving code from/to gupnp libraries. - DVB Daemon integration though a plugin. Now you can watch live channels from your PC on your PS3 for example. - Test plugin that exports one audio and video item, streaming contents from GStreamer's audiotestsrc and videotestsrc elements respect

Rygel and DVB

Image
I had been working on adding a DVB plugin to Rygel lately so that people can easily watch TV on all their UPnP-capable Renderers without having to swap DVB cards around (people typically have one). Although I had finished the basic version of the plugin 1-2 weeks ago, the live streams never worked for me. Yesterday, I realized my mistake (wasn't handling the dynamic pads from the gst source element) and when i corrected that, here is what happend: There are still some issues to fix, especially the artifacts that happen because RTP headers are not getting stripped off when Rygel proxies the RTSP stream over HTTP but I am hopeful I'll be able to fix them soon. UPDATE: The artifects issue i mentioned above has already been fixed in the trunk so now you can enjoy a smooth live tv experience. :) Also! before you ask, no this doesn't work with PS3 yet (most probably because of some missing metadata in the DIDL-Lite fragments).

Rygel now part of maemo plan

So it is no secret anymore that Rygel will be part of maemo platform . If you are interested in contributing to maemo, here is yet another chance. I have a big pile of TODO for Rygel so if you are interested, do contact me. In case you prefer IRC like I do, I am always on #gupnp on irc.gimp.org.

DVB-T on Linux

One of the excuses I had to not implement DVB-Daemon integration in Rygel was that I didn't have the needed hardware to do so. Some days ago, I decided to get rid of this excuse by buying myself a Hauppauge Nova-T DVB-T stick. After a few days of trying different things, fiddling around and filing ivalid bugs , I finally manged to get it working with both DVB Daemon and Totem . Here is some advice based on my experience so far: If you happen to have the same DVB card as I do, make sure you have the recent enough (>= 2.6.25) Linux kernel that provides the needed driver (dib0700) out of the box. Get yourself the latest firmware from here and place it under /lib/firmware. The driver still looks for it by it's old filename so make a symlink in the same directory to this file by the name "dvb-usb-dib0700-1.10.fw". Unless you know exactly what kind of channels file needs to be created, DO NOT use w_scan for creating a channels file. Use gnome-dvb-setup.py (part of DVB

Rygel update

Image
For the past few weeks I have been cleaning-up and lately re-designing the source code. I am mostly finished with that and I can hopefully focus mostly on functional features piled in my todo now. The biggest change has been that plugins are now loaded into separate Media Servers and allowed to implement all kinds of resources (currently only service implementation is possible) instead of just providing a Media Provider interface. I decided to make it so when I realized that some plugins will need to implement additional services. For example a DVB plugin will want to implement a UPnP ScheduledRecording service rather than just exporting the channels. On a side-note, our brave user (and now a contributor) Florian Steinel has got Rygel working with his PS3 already. According to him all his audio and image files are discovered and played/rendered without any problems but not all of his video files. Yes, there is still room for improvements but I was expecting quite a lot of work on mak

Rygel the GNOME UPnP Media Server

I am pleased to announce that gupnp-media-server project has been moved to GNOME SVN under the new name, Rygel . Currently it's a basic implementation on top of GUPnP and Tracker but I'll be putting a lot of time and love staring from next week to turn it into a very great project. Special emphases will be put into making it fit the UPnP needs of GNOME. This would be a very good time to convince me to implement all the features you would want to see in a UPnP Media Server so I can add them to my TODO file. :) UPDATE : While updating the jhbuild moduleset, I found out that rygel isn't buildable with latest vala/bindings. I'll try to correct the issue(s) tommorrow so don't panic if it doesn't build for you. It's just the demo effect. :)