Posts

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

Image
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 amazon.co.uk 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

FOSDEM fun

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

Image
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 .

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 .

GSSDP 0.7.1 and GUPnP 0.13.2 released!

GSSDP 0.7.1 released! - Don't leak target regex. - Make GSSDPClient ignore Point to Point interfaces. - Use SO_REUSEPORT if present. Darwin and some BSDs don't have SO_REUSEADDR, but SO_REUSEPORT. - If we can't create a request socket don't try to create a multicast socket. - Have specific GError code for interfaces without an IP address. - Actually remove gssdp_client_new_full(). Bugs fixed: 1898 - GSSDPClient keeps autoselecting my VPN 1810 - Not possible to run multiple ssdp clients on darwin 1800 - leak of a gregex in gssdp-resource-browser 1796 - gssdp_client_new_full is declared in header but not implemented All contributors: Olivier Crête Ross Burton Iain Holmes Mattias Wadman Zeeshan Ali (Khattak) Download release tarballs from here GUPnP 0.13.2 released! Changes since 0.13.1: - Utilize libconic (Maemo5) if available. - Unix context manager must signal the unavailibility of all contexts when disposed. - Enable silent build rules if they are

We can has Python too

Zachary Goldberg reports : As I've been mentioning lately I have been working on using PyGObject + GObject Introspection (recently forked, now called PyGI + PyGObject + Gobject Introspection) and have some exciting news! I have been working on fleshing out a whole bunch of unit tests which exercise the entire GUPnP API. I hate a major roadblock in that PyGI did not support native callbacks! So, after a week or two detour I have implemented PyGI callbacks (which now work rather nicely, but need a bunch of stylistic cleanups and error checking before its pushed back upstream.. priorities!) as well as some working GUPnP demos. My best demo so far is about 25 lines of python which: 1) Gets all devices on one network interface 2) Scans for all the services each device provides 3) If the device is GMediaRenderer and it provides an AVTransport Service (it does...) then it 3a) Stops whatever is currently playing 3b) Loads a new URI (hardcoded from my mediatomb server for now, h

Video of Maemo summit talk

For those interested in UPnP/DLNA on Maemo and happen to miss Maemo summit, here is the video of my talk. You'll notice that slide screen is only half visible but that is not really a problem since you can access the slides here .

GUPnP AV, GUPnP Vala and Rygel releases

GUPnP AV 0.5.2 Changes since 0.5.1: - Add a missing NULL check. - Fix a potential leak of xmlDoc. - Register a (g)type for GUPnPSearchCriteriaOp for better gtk-doc and vala-gen-introspect support. - Fix docs for GUPnPSearchCriteriaParser::expression. - Fix parsing of SearchCriteria strings: Closing parenthesis doesn't imply end of SearchCriteria expression. All contributors to this release: Zeeshan Ali (Khattak) Download source tarball from here . GUPnP Vala 0.6.2 Changes since 0.6: - Remove bogus type_argument from gupnp metadata. - No need for custom bindings for SearchCriteriaParser. Dependency-related changes: - Require vala >= 0.7.8. - Require and adapt to gupnp-av >= 0.5.2. Bugs fixed: 1850 - Vapi for ServiceAction.get_message is wrong All contributors: Zeeshan Ali (Khattak) Jens Georg Download source tarball from here . Rygel 0.4.6 (They've Got a Secret) Brief summary of changes since 0.4.4: - Implement optional UPnP Search action. This

Some important definitions

The information on this page is essential for everyone out there who is even tiny bit interested in UPnP/DLNA.

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

GUPnP 0.13.1 released

GUPnP 0.13.1 is out! Release log: Changes since 0.13: - Use unix context manager if NetworkManager service is not available. - Fix some minor leaks. All contributors: Zeeshan Ali (Khattak) Ross Burton Download source tarballs from here

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 .

GSSDP 0.7, GUPnP 0.13, GUPnP AV 0.5, GUPnP Tools 0.8 & GUPnP Vala 0.6

GSSDP 0.7 released! Changes in this release: - Join the multicast group on the specified interface. - Put the message src timeout in the specified GMainContext. - "host-ip" property moved from GUPnPContext to parent GSSDPClient. - Use inet_aton instead of inet_addr and handle the error from it. - gssdp-device-sniffer ported to GtkBuilder. - Version-independent target match. This makes client forward and backward compatible with resources that implement different version of the specs than the client. - Version-independent M-SEARCH response. This has the same effect as above but only the other way around. - GSSDPClient now binds to interface rather than IP. - No need to find the default route. - Add "active" property to GSSDPClient. - Fix pkg-config paths. - Add basic .gitignore. - Other minor/internal changes. Bugs fixed: 1621 - new gssdp timeout not added to the specific maincontext 1570 - gupnp doesn't set the pkgconfig lib dir correctly in 64 bit env Dependenc

Maemo based Nokia N900 phone

So the Maemo-based Nokia N900 is finally announced. We are finally free to tell everyone the cool stuff we have been cooking all this time. My work on this device was mostly with UPnP/DLNA and MAFW , not counting my work from n800 that was re-used. GUPnP will soon be in your pocket, so those out there who doubt the greatness of this library, time to face the facts. :) So now is the time to ask all the questions you have on our soon-in-the-shelves mobile phone. :)