Posts

GUPnP 0.12.8 released

Changes since 0.12.7 - Don't crash if device descriptions don't contain a root element. - Fix pkg-config paths. - Avoid using asserts. - Use the closest match instead of using the icon that was last checked. - Expect xmlRecoverMemory to fail. - Reject action messages with zero content length. - Change version in action answer. Bug fixes in this release: - bug#1570: gupnp doesn't set the pkgconfig lib dir correctly in 64 bit env. - bug#1574: Avoid using asserts. - bug#1592: gupnp_device_info_get_icon_url() does not return the closest match. - bug#1604: Crash on action without any content. All contributors to this release: Ross Burton Zeeshan Ali (Khattak) Steven Dorigotti Sven Neumann Jens Georg Download at: http://gupnp.org/sources/gupnp/gupnp-0.12.8.tar.gz

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

GUPnP Tools 0.7.1 released

Changes in this release: - Use g_printerr() instead of g_critical() in case of problems. - Initialize the GError to NULL at declaration. - Declare variables as const to setisfy the compiler. - Add missing casts. - Use g_content_type_is_a() to compare mimetypes. - Correct the order of mimetype check. - Iterate over item resources rather than renderer protocols. - Port all UIs to use GtkBuilder. - Bump-up Gtk+ requirement to 2.16. Removed dependency in this release: libglade. Contributors to this release: Sven Neumann < s.neumann@phase-zero.de > Zeeshan Ali (Khattak) < zeeshanak@gnome.org > Download tarball here: http://gupnp.org/sources/ gupnp-tools/gupnp-tools-0.7.1. tar.gz

GUPnP 0.12.7 released

GUPnP 0.12.7 released. Changes in this release: - Chain up dispose and finalize in GUPnPDeviceInfo - Use a dedicated SoupSession for event handling - Fix device icon fallback logic - Fix user agent string - Sanity check UDN while parsing Download source tarball from: http://gupnp.org/sources/gupnp/gupnp-0.12.7.tar.gz Contributors to this release: Sven Neumann Ross Burton Zeeshan Ali

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