GoSoC 2009 UPnP Proposal -first draft

Jeff Balinsky jebsky at gmail.com
Thu Mar 5 21:40:44 UTC 2009


Hello again

This is a draft of a gosoc project proposal that i am posting for feedback.

I have never written anything like this and was semi-unsure when I was
writing. So there is frequent use of subjective language that I will later
(hopefully) remove.

It also could be more formally written.

all feedback welcome.

Jeff

  *Amarok UPnP support*


 *Jeff Balinsky*


 *Summary*


 Many modern home entertainment devices (most notably the Xbox 360 and PS3)
have the ability to play content of of UPnP shares. In the public domain
there are several backends allowing a user to set up a mediaserver on their
linux pc (coherence, ushare) and others allowing the browsing of and
rendering of those shares(coherence, djmount).

Primarily, I will add the ability to use amarok to share music in the amarok
library as an UPnP share creating a UPnP MediaServer DCP . A main goal while
doing this will be making configuration as easy as possible.

Secondarily, I will add the ability to use amarok as an UPnP MediaServer
ControlPoint which would allow the playing of media off other shares.


 *Details*

In my experience on the user end using UPnP and linux (I have used ushare to
share movies to my Xbox 360) things are not seamless. There is no graphical
way to configure ushare just a .conf. When something in the filesystem
changes (say I add a movie) I must manually restart the server. Wifi is also
hit or miss. I will aim to address all of these issues.

As far as amarok is concerned one of the biggest issues with sharing
collections will be unsupported files. If I try to share music with ushare
between unsupported files and weird meta tags it renders the graphical
browsing on my 360 useless. This can be addressed by incorporating the
ability to only share a subset of the amarok collection via UPnP. A possible
preexisting framework for this would be to use a playlist for the shared
media. Another possibility would be to have preset filters for popular
devices.

Djmount discovers automatically all UPnP AV Media Servers a network and
makes the content available in a directory tree. A backend such as this
could be used to allow amarok to browse and play media off of other servers.
Servers may be able to be browsed right under the local collection in the
collection browser.


 *Implementation*?

My guess is that I would implement this as two scripts. This is unless this
is better implemented in the main options dialog


 *Fuzzy Work Timeline*

GoSoC Has two evaluation deadlines midterm in early July and final in late
August thus I split this in two parts


 First Part – Make it work

Functionality – get to the point where amarok can share and play UPnP


 Second Part

Creme Filling – This is where things get pretty. Make it so a 4th grader can
configure with a easy gui. Add fun features(subsets etc, automatic port
forwarding if necessary). While I am in there so to speak it may be easy to
use the same server to add simple directory based sharing of other *gasp*
non audio sharing.


 *Qualifications*

In the fall of '09 I will be a senior CS major at Hood College (
http://cs.hood.edu). I have been programming for about 5 years through high
school and college. I am currently using Qt and C++ and am comfortable with
both. The idea of using kdelibs doesn't particularly bother me. I consider
myself functionally knowledgeable in networking and data com theory. I want
to do more network type programming.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/amarok/attachments/20090305/85812acc/attachment.html>


More information about the Amarok mailing list