Project Description
Media Streaming / Resuming Downloads for MVC aims to provide a simple to use, HTTP compliant library usable in applications to accept and respond to partial content-range requests for media files. This supports iOS devices streaming media as well as resuming large downloads.

 

This project has been superseded by a much simpler implementation. The new project more closely matches existing ASP.NET MVC action results.
This project will no longer be maintained unless there is need for the specific functionality that is deprecated by the new project. 

 

I initially started on this project as a response to a question I saw on StackOverflow. While my solution was accepted as an answer, it was written very quickly and without much architecture thought put into it. I did some searching on the web and the only solutions I could find were meant for use in HTTPModules to serve static content. I decided to do a clean implementation for MVC rather than simply adapting the solutions and shoehorning them into the framework.

It took me about a day and a half to finish the first working solution under the new design. I spent another couple hours tweaking and implementing some child classes to mirror the FileResult variants available already in MVC 2. (The source doesn't actually extend the FileResult classes nor does it really resemble them or how they work aside from the naming.)

My goals for this project are simple.

  • Respond to requests from iOS devices (Apple iPhone, iPad, iPod Touch) and allow them to play streamed media
  • Allow resuming-capable clients to resume downloads that were dynamically served
  • Be easy to integrate and use in the ASP.NET MVC framework

I hope to get some nice people to help create a test project to fully test the library and verify it works as expected in all situations. For the initial release I was only able to test progressive downloads of a media file to an iPad. While this isn't true streaming, it does allow the playback of large media files on iOS devices. Writing some tests to perform file downloads with aborts and resuming from a client that supports these features would be nice to have!

I hope this is useful to people or at least academically interesting.

-Erik Noren
WordPress Blog

Last edited Jun 25, 2011 at 2:32 AM by VikingErik, version 8