GoSoC 2009 UPnP Proposal -draft 2

Jeff Balinsky jebsky at gmail.com
Mon Mar 9 02:13:49 UTC 2009


Hello again

First I must thank those who have given me feedback

I have rewritten my project proposal using said feedback.

It is not done. But this one feels a lot better than the first one.

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

UPnP is a standard maintained by the DLNA (digital living network alliance).
The standard has several types of devices. Most notable for amarok and this
Project are:

UPnP MediaServer ControlPoint – this is the client device class. It can
auto-detect servers on the network in order to browse and stream content. -
this is the goal of this project

UPnP MediaServer DCP- this is the server device class that shares and
streams media. - this is a secondary goal of this project.

Rendering devices (UPnP MediaRenderer DCP, UPnP RenderingControl DCP) – this
functionality would likely only be useful to a relatively small niche and
most probably is beyond the scope of this project

 *Goals*

* *The primary goal of this project is to add the functionality of an UPnP
MediaServer ControlPoint to amarok. Thus allowing the playing of media off
of servers on the network. This would make amarok much more useful and
robust especially on systems which contain no local media(notebooks,
netbooks, workstations, etc). The goal is for full DLNA compliance*.

The secondary goal of this project is to add the functionality of an UPnP
MediaServer DCP which would allow amarok to share its local collection over
the network. This would be very useful to users wishing to play their music
on their home theater systems via their Xbox, Playstaion or other compatible
device. Also this will allow the sharing to other installations of amarok.

Anything I manage to accomplish past this is to be considered icing on the
cake.

*Details/Implementation*

Coherence (http://coherence.beebits.net/) is to be used as a backend for the
implementation of this project. It has “an emerging DBus API”. It is to be
used by kdelibs for a KIO slave and is multiplatform. I am told that I will
need to work with the coherence developers in progressing their API.

 For the DMS browsing I will need to write a new Collection and Media
class*.

I will implement the DMS I will write a script. This allows it to be
optional for the end user and also allows it to be upgraded fairly easily.

 *Fuzzy Work Timeline*

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

(to attempt to do this at this point I feel is slightly premature)

But so far from what I have looked into I will probably (in the beginning)
go through chronologically through the steps in the UPnP protocol:

Discovery

Description

Control

Event Notification

Presentation

*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.

The asterisks * denote somewhere where I need to do research to elaborate

my current to do list for this proposal finishing this proposal is:

-get myself where I can view/edit/compile the amarok code (any and all help
welcome)

-find the specifications for DLNA compliance

All feedback welcome/helpful. You are not going to hurt my feelings.

-Jeff
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/amarok/attachments/20090308/d3168830/attachment.html>


More information about the Amarok mailing list