Review Request: UPnP Collection
Nikhil Shantanu Marathe
nsm.nikhil at gmail.com
Sun Oct 17 13:30:11 CEST 2010
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/100065/
-----------------------------------------------------------
Review request for Amarok.
Summary
-------
Adds UPnP collection support.
1) Depends on the Cagibi SSDP daemon for discovery and the UPnP KIO slave (http://gitorious.org/kio-upnp-ms) for browse
2) Each upnp device is represented as a collection.
3) Tries to use search based collection to reduce memory usage and push complexity to the server. Falls back to MemoryCollection and simple browse when search is not supported
4) BrowseCollection performs a full scan using KIO::listDir
5) SearchCollection uses the slave and queues up jobs as required. The slave API is documented in the slave (controlpointthread.h)
Other than code feedback, I am not sure about certain build parameters
1) How do I check if the upnp kio slave is installed? Right now I'm checking for hupnp, but that probably isn't the right way
What is left:
* In certain cases, the CPU usage goes very high when running a full scan using BrowseCollection
* Needs some profiling
* Fix warnings
This addresses bug 145683.
https://bugs.kde.org/show_bug.cgi?id=145683
Diffs
-----
CMakeLists.txt baacef5
cmake/modules/FindHUpnp.cmake PRE-CREATION
src/core-impl/collections/CMakeLists.txt 1e29df7
src/core-impl/collections/upnp/CMakeLists.txt 441cd04
src/core-impl/collections/upnp/amarok_collection-upnpcollection.desktop 061b661
src/core-impl/collections/upnpcollection/CMakeLists.txt PRE-CREATION
src/core-impl/collections/upnpcollection/UpnpBrowseCollection.h PRE-CREATION
src/core-impl/collections/upnpcollection/UpnpBrowseCollection.cpp PRE-CREATION
src/core-impl/collections/upnpcollection/UpnpCache.h PRE-CREATION
src/core-impl/collections/upnpcollection/UpnpCache.cpp PRE-CREATION
src/core-impl/collections/upnpcollection/UpnpCollectionBase.h PRE-CREATION
src/core-impl/collections/upnpcollection/UpnpCollectionBase.cpp PRE-CREATION
src/core-impl/collections/upnpcollection/UpnpCollectionFactory.h PRE-CREATION
src/core-impl/collections/upnpcollection/UpnpCollectionFactory.cpp PRE-CREATION
src/core-impl/collections/upnpcollection/UpnpMemoryQueryMaker.h PRE-CREATION
src/core-impl/collections/upnpcollection/UpnpMemoryQueryMaker.cpp PRE-CREATION
src/core-impl/collections/upnpcollection/UpnpMeta.h PRE-CREATION
src/core-impl/collections/upnpcollection/UpnpMeta.cpp PRE-CREATION
src/core-impl/collections/upnpcollection/UpnpQuery.h PRE-CREATION
src/core-impl/collections/upnpcollection/UpnpQuery.cpp PRE-CREATION
src/core-impl/collections/upnpcollection/UpnpQueryMaker.h PRE-CREATION
src/core-impl/collections/upnpcollection/UpnpQueryMaker.cpp PRE-CREATION
src/core-impl/collections/upnpcollection/UpnpQueryMakerInternal.h PRE-CREATION
src/core-impl/collections/upnpcollection/UpnpQueryMakerInternal.cpp PRE-CREATION
src/core-impl/collections/upnpcollection/UpnpSearchCollection.h PRE-CREATION
src/core-impl/collections/upnpcollection/UpnpSearchCollection.cpp PRE-CREATION
src/core-impl/collections/upnpcollection/amarok_collection-upnpcollection.desktop PRE-CREATION
src/core-impl/collections/upnpcollection/dbuscodec.h PRE-CREATION
src/core-impl/collections/upnpcollection/dbuscodec.cpp PRE-CREATION
src/core-impl/collections/upnpcollection/deviceinfo.h PRE-CREATION
Diff: http://git.reviewboard.kde.org/r/100065/diff
Testing
-------
Tested with:
MediaTomb - browse based
Fuppes - search based
miniDLNA - search based (high quality)
There are issues with Windows Media Player's inbuilt upnp server. Some don't get accessed, and some don't stream their music at all. This may or may not be an upstream bug, or perhaps WMP's upnp is not standards compliant. Either way it requires investigation.
Thanks,
Nikhil Shantanu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/amarok-devel/attachments/20101017/e9478c03/attachment.htm
More information about the Amarok-devel
mailing list