Archive for category Lightspark

Lightspark 0.4.6 released

I’m happy to announce that a new ver­sion of Lightspark flash player has been released. The release fea­tures improved sta­bil­ity and graphics:

  • Gra­di­ent sup­port has been vastly improved
  • Graph­i­cal glitches are greatly reduced
  • Added sup­port for the upcom­ing gnash 0.8.9 release
  • Added sup­port for pro­fil­ing Action­Script code
  • Added sup­port for mut­ing all sound by press­ing ‘m’
  • Added sup­port for copy­ing error mes­sages to the clip­board by press­ing ”c’

The tar­ball is, as usual, avail­able on Launch­Pad. Binary pack­ages for Ubuntu mav­er­ick and natty are avail­able from the Spark­ers Team PPA.

Pack­ages for Debian and Fedora will be avail­able soon.


Flattr this

,

9 Comments

FOSDEM!

Hav­ing bought the flights I’m now sure I’ll be in Brux­elles, Bel­gium the 5 and 6 Feb­ru­ary to visit FOSDEM. As I always do I’ve orga­nized this too late, well after the dealines to apply for light­ning talks.

I’ve asked any­way if there are still 10 free min­utes, so there is a small chance that I’ll be able to give a short talk about lightspark while I’m there.

Flattr this

,

No Comments

Lightspark 0.4.5.1, with experimental PowerPC support

Lightspark stand­alone exe­cut­ing YouTube on a ppc64 Debian machine

Only a few days have passed since the 0.4.5 and a new Lightspark release is already out! With big news for Pow­erPC users. The main new fea­ture of this release is exper­i­men­tal sup­port for the PPC plat­form!

Cur­rently the per­for­mance of the video play­back is far from ideal as some very inef­fi­cient code is used on a crit­i­cal path, and will be rewrit­ten in an effi­cient man­ner. Nonethe­less tests and bug reports from Pow­erPC users are very welcome.

Beside this fea­ture the release include:

  • A fix to restore YouTube support
  • A new AMF3 parser that will be used to pro­vide Local Shared Object (flash cook­ies) sup­port in a fol­low­ing release.

Pack­ages will be as usu­ally avail­able for Ubuntu Mav­er­ick from the PPA for the i386 and amd64 archi­tec­ture. Pack­ages for PPC are not cur­rently avail­able as launch­pad does not sup­port ppc pack­ages.

Flattr this

, ,

20 Comments

Lightspark 0.4.5 Release

Lightspark 0.4.5 is out! No big changes from the last Release Can­di­date, beside a –ver­sion switch that will make it eas­ier to assess if the last and best ver­sion 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 imple­ment ByteArray::readObject and sup­port for Local shared Objects. More­over work is under way to build a sup­ported appli­ca­tion data­base where users will be able to report successes/failures and vote for appli­ca­tions to be sup­ported. This sys­tem is being cus­tomized hav­ing Wine’s AppDB as a base, so thanks the the Wine team for their work!

Flattr this

, ,

8 Comments

On the road to Lightspark 0.4.5

The last week have been pretty busy for lightspark devel­op­ment. As the Advanced Graph­ics Engine is now merged in mas­ter the upcom­ing 0.4.5 release will fea­ture bet­ter look­ing graph­ics and reduced CPU consumptions.

More­over, input sup­port has been com­pletely redesigned. The new approach is very robust, even of the very com­plex and crowded YouTube inter­face and with lightspark 0.4.5 it will be finally pos­si­ble to click the pause button.

Cur­rently the release is on hold because of a bug in libxml++, the library used in lightspark to han­dle XML files. I’ve sub­mit­ted some patches that cor­rect the bug (that caused ran­dom crashes inside fire­fox code) but they’re still wait­ing for a review. I’m con­sid­er­ing and dis­cussing with pack­agers if bundling a patched libxml++ inside lightspark could be a good tem­po­rary solu­tion, until the library gets patched upstream. More news about this in the next few days.

As a last note, I’ve received some feed­back from the devel­oper work­ing on the PPC port and I’m happy to show a first image of Lightspark run­ning on a PPC machine. There are still issues with graph­ics and some remain­ing endi­aness swap­ping to be done, but the port is tak­ing a rea­son­able shape finally.


Flattr this

7 Comments

RFC: is OpenGL not the Right Thing (TM)?

It’s late at night and I’m back in Pisa for my last year of mas­ter. And, as often hap­pens, a weird idea struck my mind. What if OpenGL is not the right thing for Lightspark? No, I’m not talk­ing about drop­ping hard­ware accel­er­ated ren­der­ing as that’s surely the right way to go, but using OpenGL really looks unnat­ural. In the design of the advanced graph­ics engine OpenGL is being basi­cally used only to upload images ren­dered with cairo to the VRAM, and to blit and com­pos­ite all the ren­dered chunks together... do we really need all the OpenGL com­plex­ity to do this??

Well... OpenGL is basi­cally the only thing we have, the only way to talk with the graph­ics hard­ware. But, here it comes the gal­lium project! As gal­lium splits the API from the dri­ver it could be pos­si­ble, in the­ory, to write a spe­cial­ized gal­lium state tracker to do only the work we need... and maybe do it better.

I’m writ­ing here first because I’m not (yet) expe­ri­enced enough with the gal­lium plat­form to know if the idea is sane, and sec­ond because I some­how feel the same approach could be use­ful for other apps... for exam­ple Lightspark and com­posit­ing win­dow man­agers have sim­i­lar needs. So I’d like to have some feed­back about writ­ing a small API and a gal­lium state tracker to do:

  • DMA accel­er­ated trans­fers of ren­dered image data
  • Blit­ting and com­posit­ing of such data on screen
  • Notify the appli­ca­tion when asyn­chro­nous work (such as DMA trans­fers) has ended (BTW: what’s the right way of doing this in OpenGL?)
  • Enqueue to-be-uploaded-to-vram images and have them sequen­tially transfered
  • Apply sim­ple but pro­gram­ma­ble (shader-like) trans­for­ma­tion to pixel data

Big dis­claimer: I’ve not yet started work­ing on this idea. I’ve not even seri­ously though about it’s fea­si­bil­ity. I’d just like to have some feed­back on this.

Flattr this

, , ,

14 Comments

Lightspark new release and Advanced Graphics Engine progresses

A new point release in the 0.4.4 series has been released yes­ter­day (0.4.4.3). There are not many effects vis­i­ble to end users, beside a small fix to restore YouTube com­pat­i­bil­ity. Under the hood much work has been done to sup­port pol­icy files one of the secu­rity ori­ented fea­tures of the flash platform.

Although we still miss some stuff (e.g. Text), the Advanced Graph­ics Engine is able to ren­der gradients

I’d also like to give some insight about what is going on the advanced graph­ics engine branch. The roadmap is being walked with­out major issues. Now the tex­ture real estate for graph­ics ele­ments is allo­cated from a sin­gle large tex­ture, geome­tries are drawn asyn­chro­nously using cairo on the CPU side and the result­ing raster data is uploaded to the right chunks of tex­ture using PBO based trans­fers that are (hope­fully, this is depen­dent of the OpenGL imple­men­ta­tion) han­dled through DMA by the graph­ics card.

The new engine is not yet on fea­ture par­ity with the old one, but to show­case the new pos­si­bil­i­ties i’ve added sup­port for color gra­di­ents. It’s also inter­est­ing to note that, after the first rough mea­sure­ments, the new engine is fairly faster than the pre­vi­ous one.

YouTube video sample

Another advan­tage of the new design is that OpenGL code will be pretty much con­densed in a few loca­tions. More­over, it will be used only for accel­er­ated blit­ting, com­posit­ing and upload of data to video mem­ory. This opens new inter­est­ing pos­si­bil­i­ties for other graph­ics backends.

As a clos­ing news on Fri­day I had the first chance to phys­i­cally meet another mem­ber of the lightspark com­mu­nity, namely our Debian pack­ager Didier Raboud, as we dis­cov­ered we are both work­ing at EPFL. It has been a nice coffee-based meet­ing and we had a change to shake hands and dis­cuss about some long term plans for the project.

, , ,

3 Comments

Lightspark 0.4.4.1 released

Hi,

ver­sion 0.4.4.1 of the lightspark player has been just released. It’s mainly a bug fix release, the most rel­e­vant news are:

  • Fixed a crash when using flashblock
  • Restore sup­port for YouTube

More­over, from this release large down­loads are cached to disk to reduce mem­ory pressure.

As you may have noticed lightspark is now on Flattr and the last few posts about lightspark included the “Flattr this” but­ton. More­over, the Flattr-foss project (that sug­gest free soft­ware to be sup­ported using flattr) has rec­om­mended Lightspark for sep­tem­ber. Thanks a lot to the Flattr-foss team for their inter­est and sup­port! Many peo­ple flat­tered lightspark the last month and that is really appre­ci­ated. I’m not of course talk­ing about the (lit­tle) money, what is awe­some is the large sup­port received from the com­mu­nity and even the small­est dona­tion is greatly moti­vat­ing. Thanks to everyone


Flattr this

, , ,

No Comments

Lightspark 0.4.4 released

Archi­tec­ture of the pro­posed upcom­ing Advanced Graph­ics Engine

Lightspark 0.4.4 has been released today. Thanks a lot to all the peo­ple that made this release pos­si­ble. Beside the usual amount of bug fixes sev­eral new fea­tures have been included

  • Local­iza­tion sup­port (using gettext)
  • Action­Script excep­tion han­dling support
  • More robust net­work handling
  • Streams con­trols (Play/Pause/Stop)

It should be noted that, although now video streams con­trols are sup­ported they’ll be not usable in most YouTube videos as mouse event dis­patch­ing to con­trols is still clob­bered by miss­ing mask­ing support.

Lightspark now sup­ports local­ized error mes­sages, but we miss trans­la­tions! So I’d like to invite any user (non devel­op­ers included) will­ing to help Lightspark to con­tribute the trans­la­tion 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 plug­inized audio back­end is now mature enough to be merged upstream, this is the first step toward sup­port for mul­ti­ple audio back­ends. That said any­way Lightspark will always focus on func­tion­al­ity and not on the amount of back­ends offered. We’ll work to offer a very small num­ber of fully work­ing backends.

In the mean time we’re also dis­cussing a new faster and more pow­er­ful graph­ics archi­tec­ture. My pro­posal is a mixed software/hardware ren­der­ing pipeline, some­how inspired by mod­ern com­posit­ing win­dow mangers. Sta­tic (defined in the SWF file) and dynamic (gen­er­ated using Action­Script code) geome­tries will be ren­dered in soft­ware using cairo and exploit­ing the thread pool to be scal­able on multi core archi­tec­tures. The result­ing sur­faces and decoded video frames (if any) will be uploaded using Pixel Buffer Objects to offload the work to the video card (this usu­ally involves a DMA trans­fer). OpenGL will then be used to blit the var­i­ous ren­dered com­po­nents on screen, while apply­ing fil­ters, effects and blending.

That’s all folks. As always test­ing from as many peo­ple as pos­si­ble is crit­i­cal for the suc­cess of the project, so please try out this release and report any crashes/weird issues and any­thing you don’t like. I’d like to put an empha­sis about this: never assume a bug is already known. If you hit a crash take a look at launch­pad bug tracker. If your issue is not already reported, please do it!


Flattr this

, , ,

11 Comments

Lightspark 0.4.3 final release

I’m offi­cially announc­ing Lightspark 0.4.3. A cou­ple of inter­est­ing fea­tures as been added since the RC and a good amount of bug fixes thanks to user reports. The aggre­gate changelog since 0.4.2 is huge! Here it is:

  • Liq­uid lay­out support
  • Faster ren­der­ing of the input layer
  • Reduced mem­ory consumption
  • Sup­port for H263/MP3 videos
  • Smoother play­back of audio and video
  • Fall­back on Gnash for older clips

Many users asked why vimeo, hulu and many oth­ers video shar­ing sites don’t work while youtube does. The answer is, although flash based video play­ers looks sim­ple a lot of action script code is actu­ally being exe­cuted under the hood. Sup­port for youtube has been a pri­or­ity given it’s huge pop­u­lar­ity but I’d like to clar­ify that lightspark is not a youtube spe­cific hack and that over time sup­port will come for any site.

As a way to help new devel­oper join my effort I’d like to launch a “site adopt­ing” cam­paign. Devel­op­ers that are will­ing to work on lightspark, but are scared by the com­plex­ity of the chal­lenge can choose a site using flash that is important/useful for them and work to imple­ment the needed fea­tures. To help them I’m most always online in the #lightspark IRC chan­nel and avail­able to tutor them.

As a clos­ing 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 sup­port for the needed GL fea­tures got def­i­nitely bet­ter. Keep report­ing bugs if any­thing is not work­ing even after the upgrade. More­over, I’ve dis­cov­ered today that fire­fox older than ver­sion 3.5.11 will not work as it misses a needed plu­gin inter­face, so keep your sys­tems updated!


Flattr this

, ,

22 Comments