Showing posts from 2010

Rygel 0.7.6 (A Kiss is But a Kiss)

Rygel 0.7.6 (A Kiss is But a Kiss) is out! Another micro release to fix the critical regression in 'Year' hierarchy of Tracker plugin. All contributors to this release: Zeeshan Ali (Khattak) Download source tarball from here

Rygel 0.7.4 (Look at the Princess)

Rygel 0.7.4 (Look at the Princess) released! A new release in the current unstable 0.7.x series for upcoming GNOME 2.32.0 release. - Fix wildcard handling in search request. - Distribute correct copy of scallable icons. - Provide icons in DLNA standard sizes. - Provide icons in JPEG format as well. - Don't offer transcoding from video to audio and viceversa. This makes sense anyway and reduces network traffic. - Only offer time seeking if duration is known. - Report correct DLNA profile for MPEG-TS HD and WMV transcoder. - List DLNA formats first in the list of supported formats. - Provide correct values for out parameters of GetCurrentConnectionInfo action. - Correctly handle HTTP 'POST' requests. - Correct checks for vala bindings. - Use new 64-bit size property in GUPnP resource API so that we can deal with resources bigger than 2GB. - Fix some (potential) crashes. - Correctly handle a translated string involving plurals. - Don't use deprecated libsoup API. -

GUPnP DLNA 0.3.0 & GUPnP Vala 0.6.11

GUPnP DLNA 0.3.0 released! Changes since 0.2.1: - New API and tool (gupnp-dlna-ls-profiles) to list all supported profiles - Move API to get a profile to the DLNADiscoverer namespace - Make GUPnPDLNAProfile opaque, add to API documentation - Add support for several AVC_MP4_MP profiles - Print stream topology instead of a simple list in gupnp-dlna-info - Add debug output controlled by an environment variable for eaesier debugging - Beginnings of an automated testing infrastructure - Add relaxed/extended mode properties (more details in the next release) - Use 'bitrate' instead of 'maximum-bitrate' while matching streams - Various bug fixes All contributors to this release: Arun Raghavan Parthasarathi Susarla Zeeshan Ali (Khattak) GUPnP Vala 0.6.11 released! Changes since 0.6.10: - Require and adapt to gupnp-av 0.3.0. All contributors: Arun Raghavan Parthasarathi Susarla Zeeshan Ali (Khattak) Download source tarballs from here

Rygel 0.7.3 (Out of Their Minds)

Rygel 0.7.3 (Out of Their Minds) is out! A new release in the current unstable 0.7.x series for upcoming GNOME 2.31.6 release. - Add Album-art support. - Add support for sorted Browse/Search. - Don't push data after HTTP response is cancelled. - Advertise support for search by "createClass". - Revive accidently removed XBox hacks. - Fix icon export for uninstalled case. - Simplify plugin APIs to further abstract plugin developers from UPnP details. - Add convenient MediaRenderer APIs for plugins. This involved moving most of the GstRenderer code to core. - Fix seeking once again. - Improve error handling in HTTP request handling code. - Port to new DIDL-Lite contributor APIs. - Port to Vala 0.9.3 and 0.9.4. - Clean-up README and specify build and run-time dependencies. - More debug output. - MediaExport: - Make use of gupnp-dlna for faster, more complete and reliable metadata extraction. - Print a debug message if extraction fails for a file. - Add windows f

GUPnP A/V 0.5.8 released!

Changes since 0.5.7: - Fix crashes in DIDLLiteContributor API. - Remove incomplete and broken DLNA guessing code. Applications should use gupnp-dlna now for all their DLNA needs. - Do set the 'dlna:profileID' property of 'albumArtURI' node and treat it as mandatory as per DLNA guidelines ( - Prefer non-transcoded resources over transcoded ones when choosing compatible resources for a particular MediaRenderer. - Minor correction to DIDL filtering code. - Some other minor improvements/fixes. Bug fixed in this release: 2187 - GUPnPDIDLLiteContributor class doesn't work All contributors to this release: Zeeshan Ali (Khattak) Download source tarball from here

Rygel 0.7.2 (Dream A Little Dream)

Rygel 0.7.2 (Dream A Little Dream) is out! A new release in the current unstable 0.7.x series for upcoming GNOME 2.31.5 release. * MediaExport: * Support DLNA's 'AnyContainer' upload extenstion. * Only harvest media files. We use a positive list for file extensions to include in the metadata extraction. * Implement fallback to the default (slow) search implementation. * Lower severity for some of the console messages. * Update code according to latest GStreamer Vala API fixes. * Tracker: * Improve Sparql query builder to achieve much better performance and reduced D-Bus traffic. * GstRenderer: * Relicense from GPL to LGPL. * More descriptive default title. - Localization: - Add Simplified Chinese translation. - Add Traditional Chinese translation (Hong Kong and Taiwan). - Updated Spanish translation. - Various non-functional improvements to core and plugins. All contributors to this release: Aron Xu Chao-Hsiung Liao Jens Georg Jorge Go

Rygel 0.7.1 (Home on the Remains)

Rygel 0.7.1 (Home on the Remains) is out! A new release in the current unstable 0.7.x series for upcoming GNOME 2.31.4 release. - Implement DLNA's 'AnyContainer' upload extenstion. This allows clients to upload items without having to specify target container. Currently it only works for the Tracker backend. - Report types of items that could be created/uploaded in a container and allow clients to search containers by this property. - Port last bits of C code to Vala. Now Rygel is completely written in Vala. - Make Rygel build/work against both current stable and unstable Vala releases. - Offer SD transcoding in EU profile. Seems certain Sony Bravia TVs only support EU profiles. With this change, they should at least be able to use the SD transcoding. - Two more unit tests. - Provide default configuration for WMV transcoding. - Correctly handle boolean commandline option for disabling WMV transcoder. - External: - Port the external plugin to use the new D-Bu

Bridging UPnP Networks

As part of this years Google Summer of Code, Sunil Ghai (a student from India) has taken-up the task of securely bridging multiple UPnP networks across the internet. You can follow the progress of the project through Sunil's blog . Before you say it, yes! I did get the idea from my "competitors" but unlike them, we are going to do it the (UPnP) standard and efficient (as usual) way.

GUPnP 0.13.4 & GUPnP AV 0.5.6 released!

GUPnP 0.13.4 released! Changes since 0.13.3: - GUPnPService should remove all handlers installed on the shared SoupServer instance when it is disposed. - Fixate subscription timeout to be 300s as per DLNA requirement ( - Correct type of action argument of GUPnPService::action-invoked. - Remove redundant copying of GValue content in a few places. - Handle multiple variables inside property node in event notifications to be compatible with server-side implementations using older GUPnP - Fix syntax of event notifications with multiple properties. - Add/fix gobject-introspection annotations for various functions. - Some non-functional improvements. Bugs fixed in this release: 2084 - Add scope annotations to various functions 2131 - GUPnPServiceAction is a boxed, not a pointer 2086 - Fix gtk-doc format on all functions in public GUPnP API All contributors: Sven Neumann Zeeshan Ali (Khattak) Zach Goldberg Download source tarball from here ----------- GUPnP AV 0.5.6

Roommate for GUADEC

I am looking for someone to share a room with in a hostel/hotel in Hague during GUADEC. If you are interested, please send me a mail.

Rygel 0.7.0 (Picture if You Will) is out!

Rygel 0.7.0 (Picture if You Will) is out! This release marks the start of the new unstable release-cycle. This is also the release cycle that will be integrated into GNOME 2.31 (and 3.0 eventually). Changes since 0.6.0: - Exit on failure to load any plugins in 5 seconds. - Add icon to preferences UI's desktop file. - Correct error on missing 'Elements' node in 'CreateObject' action from client. - Advertize upload features in 'X_DLNACAP' in device description. - Remove comments from description files as per DLNA requirement ( - Don't allow comments in DIDL-Lite from client either. This is to satisfy the DLNA Confirmation Test Tool rather than DLNA itself. - Don't advertize unimplemented actions. - should create m4 directory if it doesn't exist already. - Correct Icon path in preferences UI for uninstalled case. - Specify on debug log where rygel is currently looking for plugins. - Localization: - Don't translate al

Part of GNOME 3.0

The decision for inclusion of modules into GNOME (3.0) just came-in and proposal for Rygel was approved. \o/ Now I better get it working. :)


So last saturday I got married to this amazing woman I've been in love with for the last 3 years of my life. Except for the start of the wedding (when I was extremely nervous) I enjoyed the whole event a lot. That includes the bachelor's party that my awesome friends threw me 2 days before the wedding. Here are some pictures worth sharing, the first one being from Bachelor's party, as you can guess: Although many people helped in different ways, three people that deserve the most appreciation are Timo (my best man) who arranged the Bachelor's party, Anna Haukka who was the main official photographer and Tiina Taxell (Bride's maid). Also special Thanks to Edward to arrange some important things before the wedding and Christian (also my best man) for bringing Edward so early in the morning and the rings. :) One of the weird things about my wedding was that it brought many hackers from all around Europe to Helsinki for a few days. :)

Rygel 0.6.0 (The Way We Weren't) is out!

Rygel 0.6.0 (The Way We Weren't) is out! This release marks the start of the new stable release-cycle. Changes since 0.5.2: - Localization: - Fix translation framework. - Mark all (possibly) user-visible string for translation. - Use more translator-friendly language. - Provide comments for translators. - Correctly case abbreviations. - Translations: - German (de) 100% - Slovenian (sl): 100% - Spanish (es): 57% - Fix time-seeking. - Fix a potential race-condition in aborted HTTP requests. - Don't stream if request is for subtitles. - Use bigger (64Ki) buffers when streaming from gstreamer source element. - Remux only if transcoding is not needed. - Configuration option for specifying plugin load path. - Add configuration from Environment. - Fix port specification through commandline. - Add and expose Rygel logo. - Pause streaming pipeline when/if client isn't reading fast enough. - Add more unit tests. - Use - Add missing libuui

Rygel logo v2

So based on comments received on the Rygel logo in the last blog entry , Klaus did some adjustments and came-up with even more improved version: 256x256: 32x32:

Future of Rygel

While you can follow the progress of Rygel through the release announcements on my blog, mailing-lists and even git log, I feel that I am not providing enough information about the future plans. Also there are some things that are not (or so far have not been) in a shape to be part of a release so here is some of what is coming: Logo I've been looking for an artist to make me a nice logo ever since the start of the project. A few artists gave it a try but they didn't succeed in creating anything worth showing to anyone. I couldn't possibly blame them since: Its not very clear to everyone what Rygel is and I suck at explaining things. Its hard to represent it even when you learn what it is. So what happened was that I told Sebastian that I was so jealous of his new logo , he asked Klaus to attempt to do the same for Rygel. He did and after a bit of talking and him trying different ideas, we finally agreed on this: 64x64: 32x32: 16x16: Some people like it, s

Rygel 0.5.2 released!

Rygel 0.5.2 (Crackers Don't Matter) is out! Another release in the unstable 0.5.x series. Changes since 0.5.0: - Add support for Xbox 360 and Window Media Player 11. - Add support for subtitles. Currently only useful for certain Samsung DLNA TVs. - Add Windows Media Video (WMV) transcoder. - Add unit tests for a few modules. - Fix some (potential) crashes. - Make database operations cancellable. - Throw error on database creation failure. - Simpler (hopefully) build rules. - Fix race-condition in streaming code so we don't terminate the connection before all the bytes are sent to the client. - Fix leaking of HTTP messages of live streams on termination. - Fix 'Content-Length' header values for partial requests. - Fix parsing of search expression containing characters not within the original latin1 range. - Use bigger (64Ki) buffers when streaming media to reduce cpu usage and therefore improve battery life. - Include spec version in description document. - Remo

GSSDP 0.7.2, GUPnP 0.13.3, GUPnP AV 0.5.5 & GUPnP Vala 0.6.5

GSSDP 0.7.2 released! Changes since 0.7.1: - Provide gobject-introspection GIR and typelib. - Use silent build rules. - Fix issues with version-independence magic in SSDP code. - Fix build issues in jhbuild environment. Bugs fixed in this release: 2025 - fails to find autoconf macros when they're installed in a non-standard location 1927 - gssdp fails to answer M-SEARCH sometimes 1921 - GObject Introspection Makefile for GSSDP All Contributors: Zeeshan Ali (Khattak) Zach Goldberg Jens Georg Neil Roberts Ross Burton Download source tarball from here GUPnP 0.13.3 released! Changes since 0.13.2: - Include the Content-Type header in the HTTP messages. This satisfies DLNA CTT test cases and - Use g_message instead of g_warning if we can't connect to DBus. - Make the HTTP server listen on the context's interface only. - Fix some potential crashes in GUPnPServiceProxy and GUPnPContextManager code. - Fix build issues in jhbuil

Introducing Zhaan

I mentioned this cool guy Zachary Goldberg in my blog and in my talk before. While I mentioned his name in regards to his efforts to making sure GUPnP glues nicely with gobject-introspection and is usable from Python, he went much further than I expected and made a cool new UPnP control-point for N900 based on GUPnP in Python. He named it Zhaan (another character from Farscape in the spirit of Rygel). Some mandatory screenshots: You can check out more screenshots/specs of the project and follow its status here . There are many people out there making cool UIs but they end-up using wrong tools and/or re-inventing the wheel so its nice to see someone doing cool stuff but the right way. :)

Rygel 0.5.0 (Mind the Baby) is out!

The first release in the unstable 0.5.x series. Changes since 0.4.6 that were not provided by any subsequent 0.4.x releases: - New URI generation scheme that avoids problematic characters which makes some crappy renderers choke. - Allow creation of new media items and tranfering data into existing ones ( upload). This is relavent to, and works for both MediaExport and Tracker. - Implement GetTransferProgress and StopTransferResource actions. - Advertise: - support for connection stalling. - live response to be sender-paced. - Rewrite SearchCriteria parser to make it more reliable. - Tracker: - Port to the Tracker 0.7 APIs. - Provide richer & more intuitive media hierarchy. - Signal container update on changes to subjects. - Act on config options allowing user to define which categories to share. - Support for search by URI. - Descriptive IDs for containers. - MediaExport - Implement custom search that translates to an SQLite query and therefore performs m

Rygel 0.4.12 (Through the Looking Glass) is out!

Another release in the stable 0.4.x series. Changes since 0.4.10: - Fix desktop file. - A few fixes to satisfy latest valac (0.7.10). - Adapt to new libxml Vala API. All contributors to this release: Zeeshan Ali (Khattak) Andreas Henriksson Philip Withnall Download source tarball here

Regarding meaning of life

Back in the days when we were losing a lot of good souls to "World of Warcraft", I used to say to myself "Losers, there's so much in life to enjoy and so much to do to bring Free SW on every machine out there.." and promised myself that I'll never even try any MMORPG. About a month back, Rene came over to me carrying a German game magazine and showed me a comparison of the upcoming MMORPGs based on Star Trek and Star Wars. Now I can resist all games but a chance to live the life of a Star-fleet officer? No way! So I started playing Star Trek Online last month when it was still in beta and got into it. Soon I pre-ordered the game for and life-time subscription (that also allowed me to play a freed Borg character). Now when I say "I got into it", I don't mean I am playing for hours and hours everyday. It means I play maximum 5 days a week and for 1-3 hours only. Anyway, here is a nice picture taken by Ekaterina while I'm


Just like the last 2 years, I joined the FOSDEM fun. Just like every year there were lots of awesome beers, chocolates, waffles and of course conference full of awesome hackers from all over the world & their awesome talks. In short, the same old 'awesome' experience. Also I finally got to meet Jens George (phako) in person. Another thing that went it a totally unusual (and unexpected) direction was my home directory. Here is how it went: Early Sunday morning (8:00) my alarm goes off to wake me up in time for my 10:15 am talk. I manage to get up after half an hour of snoozing the alarm, get ready (including getting a shower out of almost non-functional shower), back-up my slides on USB stick and manage to get to the conference room 10 minutes before the talk along with my room-mates, Marc-Andre and Juerg. Failed to get anything to eat or even a cup of coffee before that. I open-up the lid of my laptop to find out that it won't be able to wake-up from suspend. No pro

GUPnP AV & GUPnP Vala releases

GUPnP AV 0.5.4 released Changes since 0.5.2: - Gracefully handle empty or no 'res' node. - Function to get the list of descriptors from DIDL-Lite objects. - More complete comparison for LPCM mime types. - Fix incorrect type conversion of DLNA flags. - DLNA flags should not default to a specific DLNA version. - New APIs to deal with contributor-related properties in DIDL-Lite objects. - Remove redundant construction methods. - Add forgotten header to the meta-header file. - Add and fix gobject-introspection annotations. - Lots of documentation fixes. - Many minor non-functional fixes/improvements. Bug fixes in this release: 1935 - Incorrect conversion while parsing primary DLNA Flags 1934 - DLNA Flags should not default to a specific DLNA version. 1933 - Content type matching fails when additional parameters exist in LPCM mime-type 1814 - Add "artists" property to GUPnPDIDLLiteObject All contributors to this release: Zeeshan Ali (Khattak) Yakup Akbay Za

Me too

I'm even presenting there.

Rygel 0.4.10 (A Human Reaction)

Rygel 0.4.10 (A Human Reaction) is out! Another release in the stable 0.4.x series. Changes since 0.4.8: - Restart application on SIGHUP. - Fix cancellation of HTTP streams and in turn a critical leak. - Correct condition for byte-seeking. - Correctly handle boolean commandline options. - Enable check for Vala if any stamp file is absent. - Fix condition for partial content transfer. - Correct linker argument order. This should fix the build issue on Gentoo. - Work-around for an automake bug. - Limit search slice to result size. - Fix a spelling mistake in error message. - Tell valac to put debugging symbols to generated code so gdb can refer to lines in the Vala source code. Bug fixes in this release: 601395 - restart on SIGHUP All contributors to this release: Zeeshan Ali (Khattak) Jens Georg Download source tarball here .