Lightspark (Open Source Flash Player) reaches Beta Status
Technology Temple has posted today that their open source Flash implementation has reached beta status. Here is the link to the post. If you’re interested in a quick read first, here are some of the details supplied. 😀
- OpenGL based rendering allows for fast rendering of geometries and video frames. More over, although those are not yet supported, blur and other effects can be implemented using shaders for maximum eff icency. Using OpenGL textures to display video frames is a bit less efficient than using XVideo, but make it possible to support any overlaying/transformation effect that flash provides.
- Mostly complete support for the newer version of the flash scripting language: ActionScript 3.0, introduced with Flash 9. Both an interpreter and a JIT engine based on LLVM are provided. The previous versions of the language (supported by Gnash, which does not support 3.0) run on a completely different, and quite weird, virtual machine. Currently Lightspark does not support the older engine, but most sites (e.g, YouTube) are migrating to the newer engine, so we will be fine just with 3.0.
- Beside the Virtual Machine Flash provides a huge runtime libraries that ranges from Video Rendering services to XML parsing. Implementation of the run time is of course far from complete, but the architecture of the VM makes it possible to easily implement the various objects in plain C++. More over, an arbitrary degree of mixing between VM generated and C++ code is possible. This means that functions can be called from whatever context with out worrying about their origin.
- A mozilla compatible plugin is provided, I’ve spent a lot of time trying to make the code robust to unexpected conditions and it should fail gracefully and display a gentle message. But, as plugins runs inside the browser process, there a not-so-slight possibility of crashes. Please report any crashes using the bug reporting system of launchpad
You can read more about the project in the original post.