Extending the reach of the Flash Player on Linux
If you are a Linux user you have probably downloaded the Flash Player beta for Linux by now and played around with it. And if you are running on a system without ALSA you have no sound right now. Or you might have other sound playback issues. Bummer. You really want OSS don't you? And you probably think that you can write better code than we can, don't you? ;-)
We want to partially address this for the upcoming release. The truth is that it is rather difficult for us to support all the different APIs available on Linux. Things change frequently. Overall this is good in since it keeps innovation going. On the other hand we want to concentrate on the APIs which are used the most and ideally drop any legacy and bleeding edge support from the player to keep things lite, predictable and testable by our QE staff. There is still a lot of work left to do on our side, but for now have a look at this page:
Additional Interface Support for Linux
flashsupport.c currently has sample code for OpenSSL, GnuTLS (which is not working), ICU, ALSA and OSS interfaces. The Video4Linux1 code in flashsupport.c is currently not used at all by the Flash Player but I hope to get this up and running for the final release although I can't make any promises here. For now most of you will probably want to play around with the sound support.
As said on the Wiki this is all work in progress, highly experimental and completely untested (apart from me trying it on my lone Ubuntu box). I am sure I will change a bunch of stuff in the not too distant future and hopefully QE will also be able to give this a spin. But if you have anything to say about the approach we are taking, now is the time to speak up and give feedback. And no, we are NOT making the Flash Player open source with this, we are simply trying to give the community a chance to make the player work on as many environments as possible.
(Update: I fixed the line endings in flashsupport.c, OSS should hopefully not have the AV sync problem anymore and I missed to copy&paste a sem_init in the ALSA code)
We want to partially address this for the upcoming release. The truth is that it is rather difficult for us to support all the different APIs available on Linux. Things change frequently. Overall this is good in since it keeps innovation going. On the other hand we want to concentrate on the APIs which are used the most and ideally drop any legacy and bleeding edge support from the player to keep things lite, predictable and testable by our QE staff. There is still a lot of work left to do on our side, but for now have a look at this page:
Additional Interface Support for Linux
flashsupport.c currently has sample code for OpenSSL, GnuTLS (which is not working), ICU, ALSA and OSS interfaces. The Video4Linux1 code in flashsupport.c is currently not used at all by the Flash Player but I hope to get this up and running for the final release although I can't make any promises here. For now most of you will probably want to play around with the sound support.
As said on the Wiki this is all work in progress, highly experimental and completely untested (apart from me trying it on my lone Ubuntu box). I am sure I will change a bunch of stuff in the not too distant future and hopefully QE will also be able to give this a spin. But if you have anything to say about the approach we are taking, now is the time to speak up and give feedback. And no, we are NOT making the Flash Player open source with this, we are simply trying to give the community a chance to make the player work on as many environments as possible.
(Update: I fixed the line endings in flashsupport.c, OSS should hopefully not have the AV sync problem anymore and I missed to copy&paste a sem_init in the ALSA code)


18 Comments:
Way to go, Tinic!
Thank you Tinic... Great work!
A step in the right direction - however PLEASE open at least the Flash specs.
CETERUM CENSEO FULGUREM ESSE APERIENDAM !
nice to see adobe picking up speed with Flash 9 on Linux -
it's also nice to see that the postings have a more positive tone when discussing the GNU/Linux platform
cheers,
macewan
This is the best thing you could have done. My biggest concern with this release was the audio output to ALSA. Thank you so very very much for fixing this!
Great work!
This looks great... Hope someone steps up to add pulseaudio support, because the current flash player 9 beta doesn't work at all with the pulse alsa driver...
OSS support is crucial for me as a FreeBSD User :)
We are looking for a cross-platform way to generate images (jpg, png, ...) from flash animations (swf).
Use case: Offer small previews of flash animations in an automated way.
Will this API expose the hooks to extract images / frames from a flash animation?
Or are there other solutions?
Andy Staudacher, yes there are other solutions. What you describe is easily done in SVG. It's somewhere within these links: http://svg.startpagina.nl
I'm glad to see a decent flashplayer for GNU/Linux at last is becoming a future. As long as there is flashplyer for linux and the license allows it I'm happy that we can get a wrapper made and use linux-flashplayer on FreeBSD.
Thank you for this, the possiblity of OSS mkes me feel alot better :-)
Who knows maybe if a PBI for PC-BSD could be made by the community your company might host it for new users to find? xD
Just a thought but are we going to see anything that we can use for BSD?
Anyone thinking about adding SDL audio support? It has bindings for just about any audio tech available in Linux, Windows, and BSD. Seems like a good way to go. Hopefully I'll have time soon to work on it.
Hi,
I have a 32 bits 1.4 Ghz AMD machine with snd-ens1370 driver on Fedora 4. Flash player 7 works very well with sound on that machine. However, flash player 9 beta does not play any sound at all - hence nothing FLASHY enough to live up to the moniker plugin name FLASH ;?D. The sound driver I am currently using, is it ALSA or OSS? Is the new flash plugin compatible with older Fedora 4? Will compiling your software support fixes this problem?
Even if we can get the linux binary working on FreeBSD, experience with flash7 shows it's problematic at best.
The linux version source should compile on FreeBSD with a minimum of fuss -- all those extra users (many of who control their companies web development) - all for the sake of a few hours work.
And with all the linux distro headache, a FreeBSD installation will be a breaze for you!
I don't think it works.
Sometime, if I get lucky, kubuntu with OSS/artsd will play flash AND system sounds (e.g. bell). Most of the time, I have to choose if I want Flash OR system sounds.
This is crap!
And how to avoid huge memory leak ? I often play big swf files (30mo) and fp does not free the memory... I reboot my debian about ten times per day !
Wow, it's great work.
Btw, do you know how to embed Flash into application like Java Swing?
If you know, please let us know, it will be very helpful for us?
Thank you so much
I like articles like this. Thanks!
Post a Comment
<< Home