At the end of the Beta period we sent out a survey to ask for feedback on the framework to date. We also took the top issues reported on the forums. Here are some of the highlights of this project:
MediaPlayerSprite - At the end of Sprint 10, the API lockdown sprint, we removed the MediaPlayerSprite. Not knowing the huge number of developers that wanted this functionality, we received feedback from developers that the MediaPlayerSprite was a much needed class.
For Sprint 11 we’ve retooled the MediaPlayerSprite, added some improvements, and brought it back. It now supports handling a resource directly, and has its own media factory. It exposes the MediaContainer it uses internally for better layout control and flexibility. This reduces the complexity in creating players. A player can be created in as few as three lines:
mps = new MediaPlayerSprite();
mps.resource = new URLResource(REMOTE_PROGRESSIVE);
For a complete sample on how to use the MediaPlayerSprite, it’s located under trunk/samples/framework/MediaPlayerSpriteSample in our SVN repository.
Other feedback we’ve addressed recently:
Subclips – Use StreamingURLResource, along with clipStartTime, and the clipEndTime properties to make subclips.
MediaPlayer - property persistence, and more trait events. The MediaPlayer now preserves trait settings, such as autoPlay, and bufferLength, even if the MdiaElement is changed out. The trait events will be dispatched for new MediaElements when they are assigned to the MediaPlayer. This alleviates the need for developers to listen for the Trait add / remove events when tracking properties, such as volume.
DVRCast – A little known feature, bis support for DVRCast. DVRCast was added in Sprint 10. Here is an example of a DVR resource:
( “rtmp://mysever.com/dvrcast_origin/livestream”, StreamType.DVR)
Media & Streaming Types Supported – Another request we received was an aggregation of the different types of streaming supported, and ways to use them:
- Progressive – URLResource to a videos url
- RTMP Streaming – URLResource to an RTMP stream
- RMTP Dynamic Streaming – DynamicStreamingResource to an FMS app, and a list of stream names.
- HTTP Dynamic Streaming – URLResource to a F4M manifest file. (uses the F4MElement)
We also have some projects planned to address some of the other requests we’ve been getting. On the horizon in the next few weeks:
- Layout and Cuepoint white papers.
- Code Examples on how to use transitions between MediaElements.
In addition we’ve been busy fixing bugs now that we are feature complete. We’ve fixed 206 bugs in the last thirty days (as of 4/2/10), here is a graph of all bugs fixed & reported in the last 30 days: