Planet maemo: category "feed:ffa4f082707419ac67937f24053d9dcd"
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:
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. - Remove now unneeded work-around for vala bug#568972. - Advertize photos with their specific class, i-e 'photo' rather than 'image'. - MediaExport: - Implement search by URIs. - Implement search by album. - Error-out on invalid search expression. - Add support for virtual containers. This allows creation of metadata-based hierarchies in the user-config. - Fix deletion of containers. - URI-escape meta-data fields. - Catch previously uncaught exceptions. - Fix upgrade of database from older schemas. - Lots of code clean-ups and documentation fixes. Dependency-related changes: - Require gupnp >= 0.13.3. - Require gupnp-av >= 0.5.5. - Require gupnp-vala >= 0.6.5. - Require valac >= 0.8.0. Bugs fixed in this release: 608886 - media export plugin corrupts its database when you change directories 609944 - Files not harvested on update 606305 - Samsung subtitles All contributors to this release: Jens Georg Zeeshan Ali (Khattak) Cyrille Chepelov
Download source tarball from here
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 - autogen.sh 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 7.2.5.9 and 7.2.29.1. - 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 jhbuild environment. - Fix some gcc warnings. - Add new API to host path for specific user-agent(s). - Add gobject-introspection support: - Provide gobject-introspection GIR and typelib. - Add needed annotations to doc comments. - Add GList variants of action-related functions to satisfy PyGI. - A few non-functional improvments. Dependency related changes: - gssdp >= 0.7.1 Bugs fixed in this release: 2054 - Xbox hacks 1965 - gcc warning fixes 2039 - GUPnP is hard to use with jhbuild 1948 - Signal handler are not disconnected when ContextManager is disposed 2030 - gupnp context listens on 0.0.0.0 instead of the context's ip 1924 - Content-Type header must contain charset="utf-8" in all HTTP transactions 2006 - Implement 3 new functions for language bindings (begin_action_list, end_action_list, gupnp_service_action_get_value_type) 1919 - Add GObject Introspection Annotations and Makefile 1979 - g_warning make gupnp-igd test fails 1906 - Tests failed with gupnp 0.13 All contributors: Zeeshan Ali (Khattak) Zach Goldberg Ross Burton Olivier Crête Neil Roberts Sven Neumann Jens Georg Yakup Akbay
Download source tarball from here
-----------
GUPnP AV 0.5.5 released!
Changes since 0.5.4: - Provide gobject-introspection GIR and typelib. - Provide microseconds in 'duration' to satisfy XBox. - Fix data type of GUPnPDIDLLiteContainer:child-count - Fix build issues in jhbuild environment. - Enable silent build rules if they are available. All contributors to this release: Zeeshan Ali (Khattak) Zach Goldberg Neil Roberts Ross Burton
Download source tarball from here
-----------
GUPnP Vala 0.6.5 released!
Changes since 0.6.4: - Require & adapt to: - gssdp 0.7.2 - gupnp 0.13.3 - gupnp-av 0.5.5 - vala 0.8.0 - Don't hide gupnp_root_device_get_relative_location All contributors: Zeeshan Ali (Khattak)
Download source tarball from here
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. :)
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. :)
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 much faster than before. - Print message on console when harvesting is done. - Don't modify DB if harvester was cancelled. - Cancel harvester before starting new one. - Lots of non-functional improvements and fixes. All contributors to this release: Zeeshan Ali (Khattak) Jens Georg
Download source tarball from here
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
GUPnP AV 0.5.4 released
Download source tarballs from here
GUPnP Vala bindings 0.6.4 released!
Download source tarballs from here
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 Zachary Goldberg
Download source tarballs from here
GUPnP Vala bindings 0.6.4 released!
Changes since 0.6.2: - Require and adapt to gupnp-av 0.5.3. All contributors: Zeeshan Ali (Khattak)
Download source tarballs from here
Rygel 0.4.10 (A Human Reaction) is out!
Download source tarball here.
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.
Here goes the release log:
Download source tarball from here.
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 released!
Download release tarballs from here
GUPnP 0.13.2 released!
Download release tarballs from here
- 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 available. - Fix race-conditions in client-side notification handling. - Unix context manager ignores point-to-point interfaces. - Context manager ignores interfaces without IP addresses. - Don't require timeouts to be specified in subscription requests. - Fix build against gcc 4.[1,2]. - Make network manager thread-safe. - Remove idle source on dispose in context manager implementations. - Warn in docs that gupnp_service_info_get_introspection() is evil and why. - Service retrieves introspection data in truly async way. - Fix some leaks. - A bunch of code clean-ups. All contributors: Olivier Crête Zeeshan Ali (Khattak) Ross Burton Jens Georg Cem Eliguzel Bugs fixed: 1890 - Timeout parsing problem with SUBSCRIBE method 1880 - subscription/notification handling is racy 1906 - Tests failed with gupnp 0.13 1849 - Compile error when using gcc 4.[1,2] and strict aliasing 1494 - Ability to deal with multiple network interfaces 1881 - networkmanager interaction should use its own dbus connection
Download release tarballs from here
Zachary Goldberg reports:
Update: Seems this info is out-dated already, Zach has done quite some more after this.
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, havn't played enough with gupnp-av to dynamically get the mediatomb data -- for now!)
3c) Initiates playing
3a->3c have been tested using the synchronous GUPnP action api (send_action...) as well as the asynchronous API (begin_action.... end_action...) with callbacks!
Update: Seems this info is out-dated already, Zach has done quite some more after this.