Here is a rough plan for implementing the designs specified above.
We considered how modular and configurable each of the existing video players are as well as other factors such as license, general code quality, etc (see Evaluations of Existing HTML5 Video Players for details.)
We found that none of the players we looked at offered enough of what we were looking for to serve as the basis for our video player, though we did find some modules that offered functionality that could be useful.
We will create a Video Player that supports full configurability and customizability by designing it in the Infusion tradition: combining smaller modules that focus on one thing and do it well. We will create some pieces and use others that exist already:
Those modules will be used in a videoPlayer depending on the browser type and its version shown in the following diagram
We will start with Charly Molter's video player code as the base for tying the pieces together.
The code base is being hosted on github .
You can see a nightly build of the player here: http://build.fluidproject.org/videoPlayer/demos/Mammals.html