[GSoC] UPnP Progress report week 8/9

Nikhil Marathe nsm.nikhil at gmail.com
Sun Jul 18 11:31:54 CEST 2010


Hi all,

UPnP support has been progressing really well.

The kioslave has been extended to support redirect()ion so that
attempting a get() on a upnp-ms:// file sends it the HTTP file
instead. timeouts are manually handled by QTimer since the current
HUpnp copy by value system doesn't work. The kioslave search
capability has been extended by two features. One is the ability to
specify what fields to get in the results, for leaner, faster XML
output, and the ability to retrieve only a count instead of items.

Other than this, a lot of stray objects are now deleted, most TODOs
have been cleared and the code is warning free at last compile.
Updates handling has now been changed to rely more on known hashes
rather than duplicating efforts.

In the Amarok code, a unified UpnpCache is used by both search and
browse collections. I would appreciate it if someone could take a look
at the thread-safety of it though.

The Search collection currently only deals with audioItems and derives
all information from them. This is due to limitations in the UPnP
protocol which would require too much complexity with the current
QueryMaker system. This has been discussed extensively by me and
Stecchino, and we have plans to optimize it once everything works. To
be more responsive within the delta/no-delta issue of
newResultReady(), I now keep an internal list and emit all of them
when new results are received.

The search collection also finally reports the track count in the
Collection browser, something it hasn't done at all, although it was
simple ( but required count support in the slave ).

Certain crash situations are also fixed.

The plan ahead other than optimizations is to support queries on when
tracks were added and so on, leading to a fully functional query maker
( restricted by what UPnP can handle of course ).

A question, UPnP provides no way to describe the Year an album was
created. Is is possible to use MusicBrainz to fetch this with a
minimum of effort?

Nikhil

-- 
Support open formats.
Don't send me files in proprietary formats like .doc, .xls, .ppt.


More information about the Amarok-devel mailing list