Archive for category Lightspark
Lightspark 0.4.6 released
Posted by Alessandro Pignotti in Lightspark on March 15, 2011
I’m happy to announce that a new version of Lightspark flash player has been released. The release features improved stability and graphics:
- Gradient support has been vastly improved
- Graphical glitches are greatly reduced
- Added support for the upcoming gnash 0.8.9 release
- Added support for profiling ActionScript code
- Added support for muting all sound by pressing ‘m’
- Added support for copying error messages to the clipboard by pressing ”c’
The tarball is, as usual, available on LaunchPad. Binary packages for Ubuntu maverick and natty are available from the Sparkers Team PPA.
Packages for Debian and Fedora will be available soon.
FOSDEM!
Posted by Alessandro Pignotti in Lightspark, Meetings and nice people on January 10, 2011
Having bought the flights I’m now sure I’ll be in Bruxelles, Belgium the 5 and 6 February to visit FOSDEM. As I always do I’ve organized this too late, well after the dealines to apply for lightning talks.
I’ve asked anyway if there are still 10 free minutes, so there is a small chance that I’ll be able to give a short talk about lightspark while I’m there.
Lightspark 0.4.5.1, with experimental PowerPC support
Posted by Alessandro Pignotti in Lightspark on December 16, 2010
Only a few days have passed since the 0.4.5 and a new Lightspark release is already out! With big news for PowerPC users. The main new feature of this release is experimental support for the PPC platform!
Currently the performance of the video playback is far from ideal as some very inefficient code is used on a critical path, and will be rewritten in an efficient manner. Nonetheless tests and bug reports from PowerPC users are very welcome.
Beside this feature the release include:
- A fix to restore YouTube support
- A new AMF3 parser that will be used to provide Local Shared Object (flash cookies) support in a following release.
Packages will be as usually available for Ubuntu Maverick from the PPA for the i386 and amd64 architecture. Packages for PPC are not currently available as launchpad does not support ppc packages.
Lightspark 0.4.5 Release
Posted by Alessandro Pignotti in Lightspark on December 14, 2010
Lightspark 0.4.5 is out! No big changes from the last Release Candidate, beside a –version switch that will make it easier to assess if the last and best version is being used.
In the mean time work has not stopped. A brand new parser for the AMF3 is already upstream and will be used to implement ByteArray::readObject and support for Local shared Objects. Moreover work is under way to build a supported application database where users will be able to report successes/failures and vote for applications to be supported. This system is being customized having Wine’s AppDB as a base, so thanks the the Wine team for their work!
On the road to Lightspark 0.4.5
Posted by Alessandro Pignotti in Lightspark on November 7, 2010
The last week have been pretty busy for lightspark development. As the Advanced Graphics Engine is now merged in master the upcoming 0.4.5 release will feature better looking graphics and reduced CPU consumptions.
Moreover, input support has been completely redesigned. The new approach is very robust, even of the very complex and crowded YouTube interface and with lightspark 0.4.5 it will be finally possible to click the pause button.
Currently the release is on hold because of a bug in libxml++, the library used in lightspark to handle XML files. I’ve submitted some patches that correct the bug (that caused random crashes inside firefox code) but they’re still waiting for a review. I’m considering and discussing with packagers if bundling a patched libxml++ inside lightspark could be a good temporary solution, until the library gets patched upstream. More news about this in the next few days.
As a last note, I’ve received some feedback from the developer working on the PPC port and I’m happy to show a first image of Lightspark running on a PPC machine. There are still issues with graphics and some remaining endianess swapping to be done, but the port is taking a reasonable shape finally.
RFC: is OpenGL not the Right Thing (TM)?
Posted by Alessandro Pignotti in Insane Projects, Lightspark on October 2, 2010
It’s late at night and I’m back in Pisa for my last year of master. And, as often happens, a weird idea struck my mind. What if OpenGL is not the right thing for Lightspark? No, I’m not talking about dropping hardware accelerated rendering as that’s surely the right way to go, but using OpenGL really looks unnatural. In the design of the advanced graphics engine OpenGL is being basically used only to upload images rendered with cairo to the VRAM, and to blit and composite all the rendered chunks together... do we really need all the OpenGL complexity to do this??
Well... OpenGL is basically the only thing we have, the only way to talk with the graphics hardware. But, here it comes the gallium project! As gallium splits the API from the driver it could be possible, in theory, to write a specialized gallium state tracker to do only the work we need... and maybe do it better.
I’m writing here first because I’m not (yet) experienced enough with the gallium platform to know if the idea is sane, and second because I somehow feel the same approach could be useful for other apps... for example Lightspark and compositing window managers have similar needs. So I’d like to have some feedback about writing a small API and a gallium state tracker to do:
- DMA accelerated transfers of rendered image data
- Blitting and compositing of such data on screen
- Notify the application when asynchronous work (such as DMA transfers) has ended (BTW: what’s the right way of doing this in OpenGL?)
- Enqueue to-be-uploaded-to-vram images and have them sequentially transfered
- Apply simple but programmable (shader-like) transformation to pixel data
Big disclaimer: I’ve not yet started working on this idea. I’ve not even seriously though about it’s feasibility. I’d just like to have some feedback on this.
Lightspark new release and Advanced Graphics Engine progresses
Posted by Alessandro Pignotti in Lightspark on September 25, 2010
A new point release in the 0.4.4 series has been released yesterday (0.4.4.3). There are not many effects visible to end users, beside a small fix to restore YouTube compatibility. Under the hood much work has been done to support policy files one of the security oriented features of the flash platform.
I’d also like to give some insight about what is going on the advanced graphics engine branch. The roadmap is being walked without major issues. Now the texture real estate for graphics elements is allocated from a single large texture, geometries are drawn asynchronously using cairo on the CPU side and the resulting raster data is uploaded to the right chunks of texture using PBO based transfers that are (hopefully, this is dependent of the OpenGL implementation) handled through DMA by the graphics card.
The new engine is not yet on feature parity with the old one, but to showcase the new possibilities i’ve added support for color gradients. It’s also interesting to note that, after the first rough measurements, the new engine is fairly faster than the previous one.
Another advantage of the new design is that OpenGL code will be pretty much condensed in a few locations. Moreover, it will be used only for accelerated blitting, compositing and upload of data to video memory. This opens new interesting possibilities for other graphics backends.
As a closing news on Friday I had the first chance to physically meet another member of the lightspark community, namely our Debian packager Didier Raboud, as we discovered we are both working at EPFL. It has been a nice coffee-based meeting and we had a change to shake hands and discuss about some long term plans for the project.
Lightspark 0.4.4.1 released
Posted by Alessandro Pignotti in Lightspark on September 2, 2010
Hi,
version 0.4.4.1 of the lightspark player has been just released. It’s mainly a bug fix release, the most relevant news are:
- Fixed a crash when using flashblock
- Restore support for YouTube
Moreover, from this release large downloads are cached to disk to reduce memory pressure.
As you may have noticed lightspark is now on Flattr and the last few posts about lightspark included the “Flattr this” button. Moreover, the Flattr-foss project (that suggest free software to be supported using flattr) has recommended Lightspark for september. Thanks a lot to the Flattr-foss team for their interest and support! Many people flattered lightspark the last month and that is really appreciated. I’m not of course talking about the (little) money, what is awesome is the large support received from the community and even the smallest donation is greatly motivating. Thanks to everyone
Lightspark 0.4.4 released
Posted by Alessandro Pignotti in Lightspark on August 29, 2010
Lightspark 0.4.4 has been released today. Thanks a lot to all the people that made this release possible. Beside the usual amount of bug fixes several new features have been included
- Localization support (using gettext)
- ActionScript exception handling support
- More robust network handling
- Streams controls (Play/Pause/Stop)
It should be noted that, although now video streams controls are supported they’ll be not usable in most YouTube videos as mouse event dispatching to controls is still clobbered by missing masking support.
Lightspark now supports localized error messages, but we miss translations! So I’d like to invite any user (non developers included) willing to help Lightspark to contribute the translation for his/her native language.
I’d also like to give some insight what is being worked on for the next release (0.4.5). First of all the pluginized audio backend is now mature enough to be merged upstream, this is the first step toward support for multiple audio backends. That said anyway Lightspark will always focus on functionality and not on the amount of backends offered. We’ll work to offer a very small number of fully working backends.
In the mean time we’re also discussing a new faster and more powerful graphics architecture. My proposal is a mixed software/hardware rendering pipeline, somehow inspired by modern compositing window mangers. Static (defined in the SWF file) and dynamic (generated using ActionScript code) geometries will be rendered in software using cairo and exploiting the thread pool to be scalable on multi core architectures. The resulting surfaces and decoded video frames (if any) will be uploaded using Pixel Buffer Objects to offload the work to the video card (this usually involves a DMA transfer). OpenGL will then be used to blit the various rendered components on screen, while applying filters, effects and blending.
That’s all folks. As always testing from as many people as possible is critical for the success of the project, so please try out this release and report any crashes/weird issues and anything you don’t like. I’d like to put an emphasis about this: never assume a bug is already known. If you hit a crash take a look at launchpad bug tracker. If your issue is not already reported, please do it!
Lightspark 0.4.3 final release
Posted by Alessandro Pignotti in Lightspark on August 10, 2010
I’m officially announcing Lightspark 0.4.3. A couple of interesting features as been added since the RC and a good amount of bug fixes thanks to user reports. The aggregate changelog since 0.4.2 is huge! Here it is:
- Liquid layout support
- Faster rendering of the input layer
- Reduced memory consumption
- Support for H263/MP3 videos
- Smoother playback of audio and video
- Fallback on Gnash for older clips
Many users asked why vimeo, hulu and many others video sharing sites don’t work while youtube does. The answer is, although flash based video players looks simple a lot of action script code is actually being executed under the hood. Support for youtube has been a priority given it’s huge popularity but I’d like to clarify that lightspark is not a youtube specific hack and that over time support will come for any site.
As a way to help new developer join my effort I’d like to launch a “site adopting” campaign. Developers that are willing to work on lightspark, but are scared by the complexity of the challenge can choose a site using flash that is important/useful for them and work to implement the needed features. To help them I’m most always online in the #lightspark IRC channel and available to tutor them.
As a closing news, after the last post a radeon user helped to shed some light over the ati related issues. radeon users are urged to upgrade at least the mesa 7.8.2 to try lightspark as the support for the needed GL features got definitely better. Keep reporting bugs if anything is not working even after the upgrade. Moreover, I’ve discovered today that firefox older than version 3.5.11 will not work as it misses a needed plugin interface, so keep your systems updated!