Sunday, September 27, 2009

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!

Wednesday, September 9, 2009

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. :)

- 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 backwardcompatible with resources that implement different version of the specs thanthe client.- Version-independent M-SEARCH response. This has the same effect as above butonly 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.

- Print reason when fail to fetch description doc- Support for dynamic/multiple networks through a new class, ContextManager.This class creates/destroys new context as new network interfaces go up/down.It also provides two convenient methods to take care of control point anddevice reference managment for you. Currently we have two implementations ofcontext manager:* unix: The static but guaranteed to work on Unix, implementation. This is the default if none chosen at configure-time.* network-manager: A NetworkManager based implementation.- Idle handlers should use the assigned GMainContext.- Gracefully handle 'no root element in description' scenerio.- "host-ip" property moved from GUPnPContext to parent GSSDPClient.- ControlPoint set itself inactive before getting disposed.- New function to retrieve the capabilities of a DLNA device as announced inthe device description.- New function to retrieve the content of arbitrary elements in the devicedescription.- Fixed a crash that happens when service-proxy goes down before subscribtion toit completes.- Correct condition for SID being NULL.- Don't create redundant proxies.- Must not announce earlier versions of resources. This is strictly forbiddenaccording to the latest UPnP specs. Instead GSSDP now handles M-SEARCHrequests independent of version requested.- Free app developer from hosting of description documents.- New API to get SoupMessage associated with ServiceAction.- Handle the SOAPAction header being missing.- Fixed strrchr result checking.- Provide and use a wrapper class for xmlDoc objects, GUPnPXMLDoc that is afirst-class gobject.- New domains for XML errors.- Many other minor fixes.

- New completely object-oriented, much simpler and consistent API:* GUPnPDIDLLiteResource & GUPnPDIDLLiteObject are now first-class GObjects.* Convert the helper methods to read props and their attributes from DIDL-Lite xml node into new first-class objects with writable properties: - GUPnPDIDLLiteObject - GUPnPDIDLLiteItem - GUPnPDIDLLiteContainer* GUPnPDIDLLiteObject provides a convenient method to get the compatible resource given a SinkProtocolInfo string.* A new class for dealing with protocolInfo fields: GUPnPProtocolInfo.* A new class for dealing with DIDL-Lite descriptors: GUPnPDIDLLiteDescriptor.* GUPnPDIDLLiteWriter now provides a much simpler API that is consistent with rest of the GUPnP AV API.* GUPnPDIDLLiteWriter now handles filtering of DIDL-Lite XML.* Correct possible values of GUPnPDLNAFlags.* Replace GUPnPDIDLLiteParserObjectCallback by following signals: - object-available - container-available - item-available- New Error domain for protocol related errors.- Workaround for broken printf() implementations.- Bitrate is in bytes/second and not bits/second.- Enable DLL on windows.

- Add lenient mode: Just pick-up the first resource available.- Specify filter in Browse actions to reduce network usage.- Don't browse containers with no children.- Always re-browse containers on updates.- Update childCount after browsing is done.- Support for multiple networks.- Leave selection of resource to gupnp-av.- No need to search for all UPnP resources anymore.- Fix infinite loop in icon cancelation code.- No need to care about hosting of description document anymore.- Adapt to new gupnp-av API.- Add cmdline option to gupnp-upload to specify network interface.- Many other minor/internal fixes.