Posts

GUPnP on windows

I have been asked several times in the past if gupnp is portable enough. I always told them that I don't know for sure but the only problem i see is the low-level networking bits. Nobody really showed interest in actually trying it out on windows but then came Jens Georg. He managed to make gupnp stack and network-light working on windows within a weekend, despite the fact that some of his hours were wasted due to firewalls being enabled after a reboot and him forgetting about it. He has a small video of network-light running nicely on win32 on his blog .

My first Javascript app

Last night I tried to make a small app/script in javascript (gjs) and it actually worked. :) Here is the code: const GLib = imports.gi.GLib; const GUPnP = imports.gi.GUPnP; const Mainloop = imports.mainloop; // This doesn't start any threads GLib.thread_init (null); let context = new GUPnP.Context ({ main_context: null, host_ip: null, port: 0 }); let cp = new GUPnP.ControlPoint ({ client: context, target: "ssdp:all" }); function onDeviceProxyAvailable (cp, proxy) { log (proxy.get_friendly_name ()); } // Tell us when there is a new device available cp.connect ("device-proxy-available", onDeviceProxyAvailable); // Search and listen for UPnP resources on the network cp.set_active (true); Mainloop.run ("0");

GUPnP AV 0.4 and GUPnP Vala 0.5.4 released

GUPnP AV 0.4 released. New in this release: - Watch for empty DIDL-Lite nodes. - Escape the URIs before putting them into DIDL-Lite XML. - The '.' must be omitted from duration if fraction part is not included. - Be more lenient when parsing DIDL-Lite XML fragments. - Don't require the DLNA profile string. - Try to guess the DLNA Profile if not provided and put "*" in the whole 4th field of protocolInfo if our guess work fails. - Make sure 4th field of protocolInfo is completely in compliance with DLNA guidelines. This only implies one change in the API: enum dlna_play_speed is replaced by play_speeds, a GList of allowed play speeds as strings. - Use '1' and '0' to express boolean properties in DIDL-Lite XML. - Other minor fixes. All contributors to this release: Henrique Ferreiro García Peter Christensen Sven Neumann Zeeshan Ali (Khattak) Download from here: http://gupnp.org/sources/ gupnp-av/gupnp-av-0.4.tar.gz -----------------------------

Zakir Naik and evolution

Image
This name must be alien to most of the people reading this blog but he is quite a popular in indo-sub continent. Recently a muslim friend of mine presented his arguments to me when we discussed evolution so I thought of watching one of his videos about the theory of evolution. The following are my notes on this video that I was supposed to send to my friend but then realized that it would be nice to 1. share it with others 2. have these available somewhere in public: He starts his speech with the argument that in no book, it calls evolution a fact but theory. Now this only shows his ignorance about the very definition of a scientific theory and this alone should be enough to simply ignore anything such has to say about science. However I will not do that and listen to rest of his speech and address his arguments. Here is my notes on each of his arguments: 1. Quote from Darwin "I do not believe in natural selection, I do no believe in theory of evolution". First of all, coul

Maemo community - Students Wanted

Just copy&paste from Valerio's blog to get this on planet GNOME: The Maemo community is looking for talented students to join us in the Google Summer of Code initiative. We already have a good pool of ideas, but we are also looking for students ideas in the mobile/embedded field, especially in the following areas: * Location based apps; * Context aware apps; * Linux kernel advances, related to mobile/embedded; * Social apps clients; * Mobile/embedded apps in general that can benefit a wide range of platforms (maemo, openmoko, beagleboard, etc…). More informations about Maemo @ GSoC can be found here .

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

Multiple networks and GUPnP

When GUPnP was first used at Maemo software, one of the first questions I was asked was: Can't GUPnP handle multiple network interfaces just like ClinkC (the now deprecated UPnP framework in Maemo)? The answer to that question was "yes but you have to take care of creating GUPnPContext objects for each network interface yourself" and that wasn't very convenient. This issue, accompanied by the fact that applications had to know when the interfaces go up and down to create and destroy the associated GUPnPContext object themselves, made the lives of application developers not so easy. Recently when this issue was raised on the mailing-list and bugzilla by two different people, I started to think about how to solve this issue. Keeping in view Ross ' advice I came-up with the following solution A GUPnPContextManager class that basically just have two signals: "context-available" and "context-unavailable", that it uses to create/destroy and report