Difference between revisions of "SoC 2010/DLNA UPnP Server Client Modules"

From VideoLAN Wiki
Jump to navigation Jump to search
 
(9 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
The Digital Living Network Alliance (DLNA) offers a standard that many manufacturers use as a way to keep compatibility across different products that use UPnP. As of 2008, over 5,500 different devices and over 200 million sold products use the DLNA standard. This project will improve the current UPnP model, and apply the DLNA standard as Client/Server modules.
 
The Digital Living Network Alliance (DLNA) offers a standard that many manufacturers use as a way to keep compatibility across different products that use UPnP. As of 2008, over 5,500 different devices and over 200 million sold products use the DLNA standard. This project will improve the current UPnP model, and apply the DLNA standard as Client/Server modules.
  
==In Progress==
+
==What I'm Working On==
Here is a list of things I am currently working on.
+
{| class="wikitable"
*UPnP Client Directory Duplication Bug - Whenever a server pushes new changes to the client, the current client does not remove the old directories which in turn causes duplicates to be displayed. The problem right now is that there is no method to remove one item out of the list, so I'm left with removing the server item (services_discovery_RemoveItem) which removes the children directories, and rebuild it, but this causes flashing and the user is not able to expand the tree until the full list has been updated. If the server itself discovers new files, it would require a complete rebuild of the directory tree, causing the user to traverse through the tree again to find something.
+
|+ UPnP SD Client
 +
!  !! Description !! Status
 +
|-
 +
! Item Duplication Bug
 +
| The current implementation of services_discovery_AddItem does not allow items to be inserted anywhere into any sub-node. The current fix must rebuild the whole UPnP Server directory on every directory update. This is not an optimal solution because it causes a "refresh" to be seen in the playlist. This also causes the users selection to disappear, and the user is required to traverse through the directory tree to find the item again. || style="background-color: yellow; font-weight: bold;" | On Hold (Semi-fixed)
 +
|}
  
* UPnP Library Pros/Cons - I will go through the pros and cons of what each library offers which in turn will decide which library is best suitable for use.
+
{| class="wikitable"
 +
|+ UPnP DLNA Server
 +
!  !! Description !! Status
 +
|-
 +
! libdlna Implementation
 +
| Implement the libdlna library, get simple test cases working. || style="background-color: green; font-weight: bold;" | Active
 +
|-
 +
! Special Cases
 +
| Implement special cases for certain devices such as the Playstation 3 and XBOX 360. This will require the use of Wireshark, or some other packet sniffer to be able to sort out what's going on between the consoles and a fully supported DLNA server. This is a requirement because I am unable to get my hands on a free specification of the DLNA standard. || style="background-color: red; font-weight: bold;" | Not Started
 +
|}
  
 
==Resources==
 
==Resources==
Line 22: Line 36:
 
*[http://pupnp.sourceforge.net/ libupnp (DLNA Support?)]
 
*[http://pupnp.sourceforge.net/ libupnp (DLNA Support?)]
  
==Timeline==
+
==GSoC Timeline==
 
Timeline includes GSoC key dates.  I will edit this as time goes along.
 
Timeline includes GSoC key dates.  I will edit this as time goes along.
  

Latest revision as of 22:00, 10 July 2010

This project is part of Google Summer of Code 2010.
Student: Austin Burrow
Mentor: Konstantin Pavlov

DLNA UPnP Server/Client Modules

Abstract

The Digital Living Network Alliance (DLNA) offers a standard that many manufacturers use as a way to keep compatibility across different products that use UPnP. As of 2008, over 5,500 different devices and over 200 million sold products use the DLNA standard. This project will improve the current UPnP model, and apply the DLNA standard as Client/Server modules.

What I'm Working On

UPnP SD Client
Description Status
Item Duplication Bug The current implementation of services_discovery_AddItem does not allow items to be inserted anywhere into any sub-node. The current fix must rebuild the whole UPnP Server directory on every directory update. This is not an optimal solution because it causes a "refresh" to be seen in the playlist. This also causes the users selection to disappear, and the user is required to traverse through the directory tree to find the item again. On Hold (Semi-fixed)
UPnP DLNA Server
Description Status
libdlna Implementation Implement the libdlna library, get simple test cases working. Active
Special Cases Implement special cases for certain devices such as the Playstation 3 and XBOX 360. This will require the use of Wireshark, or some other packet sniffer to be able to sort out what's going on between the consoles and a fully supported DLNA server. This is a requirement because I am unable to get my hands on a free specification of the DLNA standard. Not Started

Resources

GSoC Timeline

Timeline includes GSoC key dates. I will edit this as time goes along.

May 24 Start UPnP Server implementation

July 12 Mid-Term Evaluations

July 16 Mid-Term Evaluation Due Date

August 9 Suggested Pencils Down - No new features, cleanup code, documentation, etc.

August 16 Firm Pencils Down

August 20 Final Evaluation Deadline

Contact

Catch me on freenode as Aust. Email me at atburrow at gmail dot com.