BACKGROUND: VLC is an open, source, cross-platform video player that is one of the world's most downloaded applications: http://www.videolan.org . Bittorrent is the most popular p2p file transfer protocol.

DELIVERABLE: A working patch for VLC that lets a user open a torrent file or "magnet link" in VLC, and start watching any media files within VLC after a minimal delay.

BUDGET: $5-10k confirmed available, but please submit whatever budget you feel is fair and realistic.

REQUIREMENTS:

Developer should submit a working patch for VLC that lets a user open a torrent file or "magnet link" in VLC, and start watching any media files within VLC after a minimal delay. In other words, parts of the file that are close to the VLC playhead position should be prioritized for download, so that playback can begin before the entire download has completed.

A "buffering" delay of several minutes is acceptable, so long as: the user is informed of the delay (with an estimated countdown); playback will usually continue uninterrupted once it begins; and playback can begin at least 10x sooner than waiting for the entire file to download (e.g. in 5 minutes where the file would take 50 minutes to download).

The leading open source Bittorrent library already supports prioritization of file parts, so it is possible to proceed without modifying the underlying Bittorrent code. Specific experience with peer-to-peer networks should not be necessary.

We can provide contacts within the VLC team who can offer basic guidance on how to best integrate with VLC. The code must be of high enough quality to meet the VLC team's standards. This project should be a good fit for any excellent developer with a strong command of C++ and a passion for the project.

A working patch is very likely to be accepted and maintained, so it's likely that your code will improve the lives of tens or hundreds of millions of people.

Anyone interested should make a bid on the following elance project (apologies for requiring that you use this service; it simplifies the workflow significantly on our end)