Crosseyed Legacy

Let’s go over cameras again. Many expressed dismay in yesterday’s API Review that Flash Player 9 will be using the Video4Linux version 1 (V4L1) API. Many inquired, “What drives this decision?” Mostly because the code was already in there from the previous codebase and required very little effort to make work with the current Player internals.

That said, let’s look forward to a purely hypothetical future where the Player supports version 2 of the same API (henceforth V4L2). We’ve covered this territory before in Penguin Eyes. That thread emitted some mixed signals. Here is what I took away:

  • there are 2 APIs: V4L1 and V4L2
  • V4L1 is on its way out, scheduled for demolition this month, in fact
  • V4L2 is the way, the truth, and the light (until V4L3 is finished)
  • lots and lots of camera drivers provide V4L1 facilities
  • comparably few camera drivers provide V4L2 facilities

I thought I picked up somewhere in that thread that there is some compatibility for V4L1 in V4L2. Wow, that would be nice. I tested this quickly by trying the V4L2 capture.c example with my spca5xx-driven, no-name camera. To no avail.

/dev/video0 is no V4L2 device

But I suppose that’s neither here nor there. I guess my question is: If (not promising anything here) I wanted to try my hand at adding V4L2 support to the Player, and given the limited camera support for the API, what specific camera model can I easily purchase that will provide the support? Note: Please don’t tell me, “Just use any camera with a foocam610 chipset.” That doesn’t help me. In the Penguin Eyes thread, I saw a recommendation for a Logitech Quickcam 5000. Any others? Thanks, that would help me out.

As for delegating camera input duties to GStreamer as so many have clamored for… no, just… no.

109 Responses to Crosseyed Legacy

  1. Tux says:

    I have a Logitech Quickcam IM (1.3 megapixel) … uses the very latest spca5xx driver … works terrific in V4L v2.You should pop a question to the guys in #gentoo … we can set you straight. I quick peek within 2.6.16-gentoo-r9:Support for audio/video capture and overlay devices and FM radio cards. The exact capabilities of each device vary. User tools for this are available from ftp://ftp.uk.linux.org/pub/linux/video4linuxThis kernel includes support for the new Video for Linux Two API, (V4L2) as well as the original system. Drivers and applications need to be rewritten to use V4L2, but drivers for popular cards and applications for most video capture functions already exist.│Symbol: VIDEO_DEV [=y]Prompt: Video For LinuxDefined at drivers/media/Kconfig:7Location:-> Device Drivers-> Multimedia devices

  2. Tux says:

    btw, I think you should develop Flash in the same respect the Linux kernel is developed … legacy userspace be damned! You should code for the most recent and “long term promising” APIs on Linux. Anything less ultimately sells your end users short, and creates more work for you in the long run. Also — what were your thoughts on QT vs. GTK? From my own experience and talking with others — later QT 4.x seems to be easy to learn, code for, and works quite well underneath Gnome.

  3. Lemsto says:

    Linux UVC driver’s using V4L2, try this: http://linux-uvc.berlios.de/ (it’s still in dev…)

  4. mark pinto says:

    i’m losing faith oh so quickly. it seems that every post shows how adobe cannot handle a linux port. what a damn shame.

  5. Anonymous says:

    Gstreamer for hardware interface (audio and webcam/video input) ratherthan low levels raw access to ALSA and V4L1 would provide many goods,and in particular, a solution to this dilemn:- From your side (upper bound), an uniform API that will transparentlychoose the right hardware backend and the right way to use it (event forcorner cases, and so it’ll do for futures underneath layers evolutions).- Gstreamer supports both V4L1 and V4L2, so you won’t have to choosebeetwheen the one that’s being deprecated, and the one that lack somecams support. Same for OSS and ALSA.- It has commmercial support if you need (like Fluendo).- It’s being adopted as the de facto standard for multimedia renderingin the big desktop environments (KDE, GNOME, Xfce) and their players.- You have no need to use the full gstreamer functionality set (likeA/V codecs conversions etc). If you want, you an use it just forsending sound to the soundcard, and retrieving videos from the webcam.- It’s include and installed right on with the desktop components onevery major distro now.- It makes the best guesses by itself, but remains tweakable by theend user through env variables, to allow them adress corner cases (wewould be very thankfull to be able to decide ourself the one soundcardand webcam used by Flash when we have several).- You might think about IP protection agains recording etc ? but thenremember that there’s several alsa snooping softwares around there ;so there’s nothing you can’t do against audio recording.- Gstreamer is very portable and supported on a wide range of platforms,non only Linux (vs. ALSA, Linux only): *BSD, Solaris, and it even supportWindows and Mac OS X. I know you won’t support Flash on *BSD, but isthere a special reason to make it more difficult to use it underLinux (semi-)emulation for those who’d need to go this “unsuported” way ?- Or at least, giving the user choice to use gstreamer or alsa, throughan env variable like you did for gtk1 vs gtk2 would be enough.- You gain a robust audio mixing/multiplexing solution. Far better thanthe unreliable ALSA Dmix interface.

  6. Fox says:

    As for delegating camera input duties to GStreamer as so many have clamored for… no, just… no.OK, but why ?

  7. Let me say how I _did_. First you scan for devices in /dev/v4l/video* and after that scans /dev/video*, avoiding symlinks and removing duplicate entries. Then you test each device for V2L issuing VIDIOC_QUERYCAP, if they return EINVAL you can try the V4L api’s VIDIOCGCAP. If it returns -1 it’s not a video device at all. From this point you can create a (C++) class that encapsulates all the calls and handles them according to the video API the device supports. Kopete (http://kopete.kde.org) has tome examples to handle it the C++ way (integrated with Qt) and XawTV has examples how to handle it handle it the C way.

  8. morphie says:

    Why the “no” to gstreamer? Is that only for video or also audio?

  9. Andrew says:

    Why aren’t you going to use GStreamer? Can you please post reasons instead of just “no”…

  10. Josh says:

    @Tux:I’m a KDE guy all the way, but really, QT over GTK? GTK is 100% open, QT is still owned. Not to mention GTK is much lighter weight.Personally I’m still wondering why not SDL? It abstracts your rendering of video and sound to something completely cross platform, is lightweight, and has a very simple and powerful API.

  11. macewan says:

    Would hardware donations help in any way – cams?

  12. Brandon L Black says:

    1) Don’t hold up getting a Linux beta release out over camera stuff. I’d much rather have a Flash 8+ player out that just basically works for graphics and audio out ASAP, as there are an increasing number of sites out there that are v8+ only, and I flat out can’t see them (and I’m not installing Wine to see someone’s flash-based site). I don’t use Windows. Non-Linux software is not an option for me, period. Flash 8+ pages simply don’t exist for me yet.2) There’s no excuse not to have a nearly-simultaneous release for the other architectures Linux runs on (even if, once again, they’re missing extraneous features like camera or even microphone support). Its fairly pathetic that you’re not releasing x86_64 with x86.3) If you would just open source your player code, the community would do all of this work for you, and do it faster and better. Your new job would be to interface with that community on the behalf of Adobe.The player is the free giveaway that drives the authorware sales, why wouldn’t you open source it to rapidly get it deployed on more platforms *and* win over the hearts and minds of developers?4) Which brings us to the impact of Adobe’s folly in all of this so far. Adobe is treating this issue as if it were: “We’re pissing off 0.1% of our potential user base, its not worth the effort really”. You should be treating it as “We’re pissing off users that are highly likely to be developers and/or influential on technology to those around them”.Websites that could’ve been great with a bit of extra flash are going flashless over this, because the developers are too annoyed with you. These people are telling peer groups “Flash sucks”. I’ve heard the story a number of times.Get your act together and Flash could be a greater thing than it is now.

  13. chris says:

    hi, i read that spca5x drivers will deprecate the usage of v4l soon, and will only work with v4l2 in the not so distant future. if i recall correctly cvs already works this way

  14. Justin says:

    I have a Logitech QuickCam Fusion, which uses the UVC driver. After compiling it in Ubuntu, it worked.

  15. cartman says:

    Just drop GTK1, we will make sure v4l will work 😉

  16. Shinigami says:

    What Tux said is absolutely true. The best road you could take is to be (for the most part) on the bleeding edge of currency with the kernel itself. The grand majority of GNU/Linux users keep up with the newer APIs so support for them shouldn’t be lacking.

  17. Todd says:

    I also agree with Tux. Keep in mind that the current Linux crowd is a techy bunch. The great majority of them are not running older versions of anything… they stay up-to-date with the latest. The linux user community is not like the Windows community. This is something to remember when making API decisions.

  18. John Thacker says:

    Its fairly pathetic that you’re not releasing x86_64 with x86.You might notice that there are no 64-bit versions of Flash yet, including for Windows. This is because of some assumptions made in the code when originally written, as mentioned here:http://www.kaourantin.net/2005/12/flash-player-8-for-linux-update.html

  19. John Thacker says:

    The great majority of them are not running older versions of anything… they stay up-to-date with the latest.Home users, perhaps, but not the people who run it in big organizations, whether corporate, academic, or governmental.

  20. Gremory says:

    “The linux user community is not like the Windows community.”Wise words to remember. One community is brilliant (Linux) the other is sheep (Windows)

  21. Josh says:

    @Brandon L Black:Your points on the acceptance of flash by linux users couldn’t be said strongly enough. I’m a Flash developer and a Linux user. Due to Flash’s non-operability on Linux, I’m pushing all our projects to AJAX.This isn’t a small change either, we were beginning to move to Flex and Flash for very large sections of our heavily trafficed website. We decided to use AJAX instead due to its open standards and browser/platform compatability.I would’ve LOVED to use Flash, but due to the lack of a firm future for ALL our users, we’re dropping it.

  22. Treviño says:

    I’ve a Creative Labs Webcam 5, it’s quite old, but uses Philips web cams drivers, and supports both V4l and V4l2…Many softwares supports both protocols, couldn’t flash player supporting them all?Thanks for your work! ;)PS: Btw I don’t think that webcam support is the most wanted feature, isn’t it? 😮

  23. James Ward says:

    We decided to use AJAX instead due to its open standards and browser/platform compatability.What open standard is Ajax (ie. XHR) based on?

  24. Chris Hubick says:

    I too think it would be wise to delegate as much of the work to GStreamer as possible. This ensures compatibility with whatever software stack (sound server, remote network audio, etc) and configuration (mixing, per-app volume levels, etc) the user has on their desktop. A lot of valuable framework is being layered on top of raw ALSA, and Flash should play well with that, rather than trying to jack in at the bottom.

  25. Joseph Cole says:

    “As for delegating camera input duties to GStreamer as so many have clamored for… no, just… no.”Reason?You could write a Macromedia Flash Gstreamer plugin and have all the video/audio/camera input/output functionality you are looking for (and more) in less than a few weeks. You could even use the existing swfdec in Gstreamer as a template, and get the job done even quicker.Also, there are tcp/udp plugins in Gstreamer you could utilize for your networking. Gstreamer is the perfect solution for this task, and you should really learn more about it before dismissing it. Why the masochism?Browser plugin and main application for swf GPL:$ apt-cache show swf-player(SNIPPED)Description: SWF (Macromedia Flash) playerA GTK+ and GStreamer based player for Macromedia Flash animations. Includesa Mozilla plugin, that embeds the player into Mozilla-based browsers,in order to allow seamless viewing of Flash animations in webpages. Includes a GdkPixbuf loader, so that SWF animations can beused seamlessly as images in Gtk+ applications.Gstreamer inspect swf GPL:$ gst-inspect-0.10 | grep swfdecswfdec: swfdec: SWF video decoderGentoo source/ebuild for Gstreamer swf GPL:http://packages.gentoo.org/packages/?category=media-libs;name=gst-plugins-badDebia/Ubuntu source for Gstreamer swf GPL:apt-get source gstreamer0.10-plugins-bad(also apt-get source swf-player)Fedora source for Gstreamer swf GPL:http://gstreamer.freedesktop.org/pkg/fedora/Don't forget Suse!:http://www.novell.com/products/linuxpackages/suselinux/gstreamer010.htmlGstreamer network plugins you could use:$ gst-inspect-0.10 | grep -e tcp -e udpudp: udpsrc: UDP packet receiverudp: dynudpsink: UDP packet senderudp: multiudpsink: UDP packet senderudp: udpsink: UDP packet sendertcp: multifdsink: Multi filedescriptor sinktcp: tcpserversrc: TCP server sourcetcp: tcpserversink: TCP server sinktcp: tcpclientsrc: TCP client sourcetcp: tcpclientsink: TCP client sink—“Life’s too short to run Gentoo.”—

  26. Sterling Christensen says:

    I don’t know anything any cameras, but for audio and video playback please don’t require gstreamer.It may be because I have a Soundblaster Live (has hardware mixing), but in my experience added extra layers of abstraction between the app and ALSA has no benefits and sometimes ruins it (adds latency, slows it down, etc). I’ve had bad experiences trying arts and gstreamer. While plain ALSA just works perfectly.I’d prefer that all apps at least provide the option of interfacing with ALSA directly. Same goes for video – not through gstreamer please. The less middlemen the better for me.

  27. TiCL says:

    I am not familiar with kernel/driver development culture but I am just pissed at all these talk about going for bleeding edge and leaving the legacy support behind. Isn’t that completely opposite of OSS philosophy? The reason I fell in love with linux, is for its support for old obscure hardware for which support has been discontinued (read company went belly up) and updated drivers are very hard to find.I just want to say one thing to the Adobe developers, just do whatever you think is more convinient for you. If people on the bleeding edge need Flash that bad, they will find work arounds. They always do.

  28. Justin says:

    Here’s my suggestion: why not GStreamer? It sounds like you already have ALSA working, you could add GStreamer and make it the default with ALSA as a fallback option for those who need it.As for video, most people don’t use video input anyway, so choosing GStreamer wouldn’t be a huge loss to those who may not have it.And besides, most people can easilly get it if it’s not installed already. I know Ubuntu has it, I think Fedora and SuSE do too.

  29. Joseph Cole says:

    “but in my experience added extra layers of abstraction between the app and ALSA has no benefits and sometimes ruins it (adds latency, slows it down, etc).”Exactly! This is yet another reason to use Gstreamer. Gstreamer uses a concept of “pipelines” which ensures audio and video are synchronized. Audio/video synchronization one of the *biggest* complaints with the current Flashplayer for Linux now (just watch a video on youtube). I just hope Adobe doesn’t screw it up this time.—“Life’s too short to run Gentoo.”—

  30. Bloody says:

    It’s funny how fanboys never give up. After what Mike just said, there are still clamors for Gstreamer.While, I too, would like to hear Mike or Tinic give their own personal reasons for not using Gstreamer, I can at least theorize (using the reasons I would give for not using Gstreamer):1. Gstreamer is still in heavy development and is not yet stable enough.2. While some may consider it lightweight enough, it’s still a very high-level and very big library.Actually, I’m willing to bet, that if they could have avoided it without too much effort, they wouldn’t have used GTK altogether (since it’s also a very big library) and would have stuck to Xlib. But this would not have been a sensible choice since it would have meant reinventing the wheel and a lot more effort/debugging.

  31. Ian Monroe says:

    Its funny that you complain about how low-level ALSA is but refuse to use any of the higher-level libraries.James Ward: AJAX is just using Javascript and its XML APIs. JavaScript is an open standard.

  32. Nael says:

    @BloodyAlso consider that ALSA’s a part of the kernel, while GStreamer is an external library that not all users and distros have. I think one would want to rely on APIs that you know are common to all Linux systems for something like Flash, and GStreamer isn’t one of them.Plus, having tried GStreamer with Amarok, all I can say is that it still needs work. I saw my CPU usage in Amarok shoot up to 100% – just for audio playback! And I’m sure Adobe (and especially Mike) don’t want headaches from folks complaining about the Flash plugin taking up all their CPU cycles, again.

  33. matteo says:

    oh, i hate webcams 😛

  34. Ali says:

    for all those who complained about gstreamer, gst-0.8 sure suffered a lot of latency problems, and ha d a lot of glitches, but actually the 0.10 version is very usable, and very nice ;D

  35. Justin says:

    @AliI second that. I can open most videos in Totem, and they’ll just play. And it works quite well.

  36. [Knuckles] says:

    I agree with most: please consider giving a good, hard look at gstreamer. If you use it, most of the possible problems are gone because the community can f.e. implement support for v4l3 when it comes out, and flash will instantly be able to use it. Or another audio API, or etc…To those of you that don’t like gstreamer think at least what if flash 7 supported gstreamer? You could all be using alsa, v4l2, and other things right now, instead of just waiting around for a new (even beta) version of flash.

  37. Crispibits says:

    What Tux said is absolutely true. The best road you could take is to be (for the most part) on the bleeding edge of currency with the kernel itself. The grand majority of GNU/Linux users keep up with the newer APIs so support for them shouldn’t be lacking.Hmm, the grand majority eh? It’s precisely this mentality that has left us Linux users out of things like an up-to-date flash player, because we’re not part of the ‘grand majority’ of computer users. You’ve just shot yourself in the foot there I think…

  38. Bert says:

    The UVC-drivers (http://linux-uvc.berlios.de/) support the high-quality webcams from Logitech:- Quickcam Fusion- Quickcam Orbit (Fusion seems to equal Orbit)- Logitech Quickcam Pro for Notebooks- Logitech Quickcam Pro 5000I use the 5000 with ekiga and really recommend it due to the great, bright pictures it captures!

  39. Stoffe says:

    I was going to say about the same things as mark pinto above, but he said it much better. Others added more useful info – Gstreamer is the future of Linux multimedia, and it can handle all the V4L1/2, OSS/ALSA/Arts/ESD and so on issues.If you expect to maintain and continue to support Flash on Linux, it should be seriously considered. It works very well already (Ubuntu 6.06 runs it almost exclusively and no latency issues).That said, don’t let webcams hold a release back if you can get everything else in place. Very few people care about that part, and even fewer on Linux I’d bet. Release a 9.0 without that, but working and stable for audio/video, and add webcam support and other extras in a 9.1.Keep it up, looking forward to seeing any public alphas/betas soon.

  40. GStreamer seems to be the way to go. I’m confused at why one would like to continue to try and code at such a low level. Coding anything at this level will cause issues.Also, trying to support every user who may not have ALSA support and whatnot is like trying to support those that don’t have X support too…So in light of the above complaints, perhaps he should make a Flash ASCII plugin for lynx?

  41. Sterling Christensen says:

    ” “but in my experience added extra layers of abstraction between the app and ALSA has no benefits and sometimes ruins it (adds latency, slows it down, etc).”Exactly! This is yet another reason to use Gstreamer. Gstreamer uses a concept of “pipelines” which ensures audio and video are synchronized.”The only way gstreamer could accomplish that is by delaying one or the other until they have the same latency. I don’t need that. Flash 7 is the only app that has sync issues on my computer. DVDs play in sync.I’d rather not have to install arts or esound or gstreamer. It’s all redundant cruft designed to solve problems that I don’t have with ALSA/OSS.

  42. Sérgio Gomes says:

    It’s better to support V4L instead of GStreamer. If you have issues with V4L changing ABI, well, let me tell you, GStreamer is even worse. There have been two in recent years, (0.8 and 0.10) and I think that a couple more before that. And no-one knows when they will decide to change ABI again.V4L is simply more stable in terms of changing ABIs, as odd as that may seem.Don’t forget, this is especially important for a precompiled piece of software!Besides, one thing people keep forgetting: *not everyone will have GStreamer installed!*, whereas V4L is part of the kernel. Not to mention it’s overkill using a behemoth like that for webcams… Be reasonable.

  43. Shish says:

    Another vote for an explanation of *why* you refuse gstreamer~”The only way gstreamer could accomplish that is by delaying one or the other until they have the same latency … DVDs play in sync.”How do you think your DVD player keeps things in sync? 😛

  44. Sterling Christensen says:

    “How do you think your DVD player keeps things in sync? :P”That’s different. Gstreamer probably has to do it even more to compensate for added slowness and latency from software mixing etc. While the DVD player can keep it to the minimum required to keep it in sync.

  45. Shish says:

    “That’s different. Gstreamer probably has to do it”You say “that’s different” as though you know it for a fact, then use “probably” as though you don’t actually know the specifics, then say “it” as though you don’t actually have the slightest idea…To explain: deliberately adding more and more latency is a very bad way of keeping sync. I can’t speak for your non-specific DVD player, but most media players I’ve seen (and GStreamer, but evidently not flash 7’s video control. Maybe flash uses the latency method?) will attempt to decode audio at full speed, since any audio skips are very noticable. They then use what’s left of the processor power to decode the video, and if the decoder can’t keep up, it simply skips a frame and moves onto the next. With 25fps video, skipping one or two frames per second is pretty much unnoticable. Thusly, audio and video are kept pretty much in sync no matter what amount of CPU power is available; less power just means more frames are skipped in order for the video to keep up with the audio.A similar concept to frame skipping is used in games (and I assume flash animation) — objects should be moved by a distance of speed * clock time, not speed * number of drawn frames. Thus two people who hold “forwards” for one second will move the same distance — going by drawn frames means someone with a higher FPS would move faster.

  46. That said, don’t let webcams hold a release back if you can get everything else in place. Very few people care about that part, and even fewer on Linux I’d bet.I think Mike made it clear (and it is perfectly understandable) that it is “all or nothing” – they won’t push out a crippled version of the player that does not offer the full features of the player.

  47. John says:

    Someone said in favour of GStreamer:”- It’s being adopted as the de facto standard for multimedia renderingin the big desktop environments (KDE, GNOME, Xfce) and their players.”Erm. No, KDE has explicitly chosen NOT to be tied to GStreamer and are in fact writing their own abstraction layer so they are not dependent on the GStreamer API. They’ve been burnt that way before. See http://phonon.kde.org/ for details.John.

  48. Segin says:

    You guys should attempt to use both the V4L1 and V4L2 APIs, where possible.

  49. Joseph Cole says:

    “KDE … are in fact writing their own abstraction layer so they are not dependent on the GStreamer API.”Not necessarily true.Per Wikipedia:”Phonon will provide an easy way for KDE developers to use various backends, such as Xine, GStreamer and NMM.”It appears Phonon is a layer on top of backends such as Gstreamer. It still makes more sense to use Gstreamer (and Phonon can still utilize Gstreamer).Phonon is also KDE specific, where the goal of the project appears to be making it easier for KDE developers to write multimedia apps (they mention how difficult it is to code in arts current day and how easy Phonon will be).Some developers claim that Phonon is a “dead end” or a “broken wheel” since KDE multimedia apps such as Amarok (http://packages.ubuntu.com/breezy/kde/amarok-gstreamer) and Kaffeine (http://packages.ubuntu.com/breezy/kde/kaffeine-gstreamer) already have Gstreamer backends.

  50. Jason says:

    Reading thru these posts, it just occurred to me why there is such a delay getting Flash 8 for Linux. The linux community can’t agree on anything!

  51. Shish says:

    > phononoh gawd, not *another* reinvention of the wheel. Whether we need something like gstreamer at all is debatable, but having two things with the same functionality just seems silly…”they won’t push out a crippled version of the player that does not offer the full features of the player.”I’d settle for a crippled version with the word “alpha” plastered all over it…

  52. amd-linux says:

    Fredrik, MikeI understand the reasons for which Adobe wants to release only an “all-or-nothing” player.However it would also make sense to release an alpha build with some functionalities missing. Distributors and packet managers could start testing earlier, and we, the OSS crowd, would finally see and experience the progress being made.Pleeeeeease release just something 🙂 Maybe you could “inadvertently” leak a nightly build or something like that…. I swear we will not tell anybody about 😉

  53. Solid Liquid says:

    Seriously, why don’t you use Qt 4.2 for this? It provides full look-and-feel integration with Gnome, integrates with KDE perfectly (obviously), and since it’s backed by Trolltech, you can always complain to them about missing capabilities you need. In the future, you may be able to use Qt to provide a unified code base for Flash so you don’t have to make a Windows version, a Mac OS X version and a Linux version. Adobe complaining to Trolltech will stir them to add the missing capability. You’ll also gain the ability to support Solaris, etc. Where’s the drawback? I know a company as big as Adobe doesn’t care about the per-developer seat cost for Qt. That’s a drop in the bucket.Oh, and did I mention? You get to use well designed C++ classes rather than mucking around with code written in C by people who want object-oriented programming without having to learn C++. Unlike them, Trolltech didn’t make such a mess with their libraries. Need proof it’s better? Look how much more feature rich KDE is than Gnome, in about the same amount of chronological time and with approximately the same number of developers. Need I say more?

  54. Sérgio Gomes says:

    @ Shish:Phonon is not the same thing as GStreamer. Gstreamer is a multimedia framework, and as such, difficult to use, and requiring quite a bit of expertise in multimedia.Phonon is a high-level programming interface for making simple stuff as “play this sound”. It’s therefore a lot more feature-limited, but is enough for most applications (except pro audio and music tools).The thing about Phonon is that it does not actually *do* the multimedia; it’s just an abstraction to code your apps against. Users can then choose what backend (i.e. real multimedia framework) their Phonon will use: NMM, Xine, or, guess what, GStreamer!I wish people who are so quick to bash Phonon would learn the basics about it!Summing up:- GStreamer will not be used in KDE 4- Phonon will be used in KDE 4- Phonon is not a multimedia framework, but a higher-level API for simple stuff- Phonon can use a number of different *real* multimedia frameworks: NMM, Xine, GStreamer, etc.- Users will be able to choose which framework they want to useAnd finally, @ Joseph Cole: Phonon is not a “broken wheel”, it’s a KDE-wide implementation of the ideas used in the players you referred; those players set the stage to what Phonon will become, and they will be modified to use it. And no, it does not “make more sense to use GStreamer”, for me anyway. I’ve had lots of problems with it, namely latency, so I’ll probably be using NMM, in fact.To all GStreamer fans, please quit assuming everyone will choose GStreamer!!So, finally: Phonon would be a bad option for this, since it’s KDE-specific, but so would GStreamer be, because it’s not omnipresent as the GStreamer fans would like it to be. This project needs something which is *really* omnipresent. And guess what is, for everyone with a webcam on Linux: V4L! (v1 or v2 is irrelevant, as both can coexist)So yes, Phonon is bad for this, GStremer is bad for this, V4L is the right choice.

  55. Paul Donnelly says:

    @Solid LiquidI’m not sure KDE’s feature-richness is caused by Qt. The Gnomies seem to be morally opposed to adding features.

  56. Anonymous says:

    How about you just get the player out the door.

  57. Joseph Cole says:

    “Need proof it’s better? Look how much more feature rich KDE is than Gnome, in about the same amount of chronological time and with approximately the same number of developers.” “I’m not sure KDE’s feature-richness is caused by Qt. The Gnomies seem to be morally opposed to adding features.”I’ll probably get flamed for this.When I first started using Linux and FreeBSD, I naturally liked KDE at first. I eventually realized I liked KDE because of all my years of using the Windows interface. KDE is good for people that have many years of Windows behind them, and can’t or don’t want to unlearn it.It’s not a secret that KDE tries to mimic Windows, and sorry, I don’t see the innovation there. Windows is popular because of Microsoft’s monopoly, not because of it’s so-called “innovative” interface. Then there’s that age old question of “If Windows is so bad, why does KDE try to copy it?”. I eventually figured I might as well use Windows over KDE since it’s the “real” thing, and not a clone.Copying an OS that copies others can have it’s benefits though, like a larger user base. And honestly, I think KDE has more volunteer developers (and users), mostly attributed to most of them being previous Windows users.Gnome not copying Windows is a good thing, and I wish all the Windows and KDE heads would understand that. Redhat, Suse, Debian, and Ubuntu developers all “default” to Gnome and seem to understand this already.Also, another thing to keep in mind, good (and sometimes bad) GPL code get’s copied between apps, ported, and sometimes forked. XMMS and Beep Media Player are good examples of this. QT code cannot be used in this fashion, since it is “owned” by Trolltech and legal issues could arise if this ever happened. This is another reason why some companies and distros highly discourage the use of QT.I’m a “Gnomie” and I’ll admit I have to drop to the command line for configuring dumb things like my Bluetooth and Firewire. But, I stick with it because of it’s originality, inventiveness, and neutrality.

  58. Bloody says:

    @JosephWell, all of these distros are now working on solutions for enhacing the gnome experience a bit.Next release of Ubuntu will probably add Gui wireless network detection/connection tool (that doesn’t require root privileges to work unlike iwconfig) and a Control center for gnome. And let us not forget AIGLX; can you believe Metacity will be finally fun to use (and no major slowdown like with xcompmgr since it’ll be using GLX_TFP).

  59. Jon says:

    “As for delegating camera input duties to GStreamer as so many have clamored for… no, just… no.”No?’k, but WHY not?

  60. codemac says:

    blah blah blah blah, whine whine whine.All I have to say is just release something. Anything. I don’t care about it’s deps, I don’t care about it’s APIs. I’m just tired of seeing “Flash 8 Only”.

  61. Gravis says:

    Gstreamer fanboys: get over it, it wont happen. reasons: 1) they have to redevelop the whole app for Gstreamer. 2) they have zero control of where Gstreamer is going and it’s quality. as i recall, Gstreamer was completly worthless when the .10 series came out because of how slow it was. 3) it is going to be ALSA and not Gstreamer.V4L2 fanboys: get over it, it also wont happen. reasons: 1) ALSA having to redevelop the whole camera part of app for V4L2. 2) like ALSA with OSS backwards compatibility, V4L2 NOW has V4L1 backwards/forwards compatibility as people get in a hissy when support for their hardware gets cut off. 3) it is going to be V4L1 and not V4L2.FOSS fanboys: get over it, it too wont happen. reasons: while you live in a world of fantasy of open source everything, the reality is that the business model of Adobe (and the late Macromedia for that matter) are closed source. 2) relying on “users that are highly likely to be developers and/or influential on technology to those around them” is not what Adobe does. if you have seen other projects like the NTFS kernel module, they are slow as molasas getting things done. 3) having to sort through undocumented code that likely is hacky will take lots of time to figure out. (trust me, ive done so with many projects) 4) it is closed source and will not be open source.64-bit CPU fanboys: you bought the hardware and you knew not everything would be supported when you bought it. the codebase clearly isnt fully compatible with the new 64-bit processors but im sure it will be eventually… though i could be wrong. first 32-bit support, then 64-bit support.ALL GROUPS OF FANBOYS: remember the answer is NO. they dont have to even have to give a reason. they dont owe you anything to you. be glad that they are even asking for user input. STOP WHINNING about it and move on. if you cant take it, use windows.———————————————————————————————on another note, Bert is right about the logitech quickcams as being popular.– Quickcam Fusion- Quickcam Orbit (Fusion seems to equal Orbit)- Logitech Quickcam Pro for Notebooks- Logitech Quickcam Pro 5000i use a Logitech Quickcam Pro 4000 because i bought it years ago and it’s still high quality and was ahead of it’s time. a kernel module (pwc) supports the chipset (see the page) it runs and there is support for MANY other cameras.the bottom line is that logitech makes great cameras, LOTS of people buy them and there is support for most of them.

  62. Simon says:

    Gravis, you, sir, are a troll.(1) Gstreamer will most certainly be frozen some day when it makes to LSB (and it will). An interesting feature is that it allows better desktop integration when you have multiple sound cards (ie, you can set you favourite soundcard once and for all, and Flash can use it; now, with only ALSA support, Flash will have its own config window or will require you to hack into a configuration file so you can tell which soundcard to use). OK, for now, it’s not in LSB, but I don’t think Flash9 for Linux will be out so soon anyway (even if I hope so). We can ask now so they can think of it for future versions, they requested for comments, they get comments. Who the Hell are you to tell us not to?(2) V4L1 is deprecated and future builds of the kernel may not have it. Now, with GNU/Linux becoming mainstream, who do you expect will recompile his kernel so he can get Flash working? Yeah, we will. Not Aunt Tillie (disclaimer: I’m no ESR fanboy). Supporting both V4L versions is not so much more of a hassle, and Mike told us it’s being considered. Once again, what’s your point? Why do you feel the need of trolling on that issue? A problem in your childhood, or something…?! :)(3) Damn, I thought you were a FOSS fanboy to be *that* rude (sharing some genes with Theo de Raadt maybe?), aren’t all the prioprietary/self-procclamed pragmatic software developpers supposed to be clean, beautiful and nice to others? You really could have fooled me! (btw, I’m a “FS” fanboy, remove the OS part, that’s even worse, isn’t it?). Your NTFS exemple couldn’t be more unappropriate, you chose an example where (a) F/OSS people really didn’t cared (b) specs were closed so had to be reverse engineered (c) NTFS looks like an overly complex mess anyway. And about Adobe current strategy/business model, things are evolving (see Java). Now, I’m not expecting them to release free code, I wasn’t among those asking for helping Gnash, I don’t see this happening either. Yet, I wouldn’t tell people to “get over it”, they can ask. Adobe is definitely acknowledging GNU/Linux’ existence, next step may be their adoption, at least for some of their software, of the “open source” model. Who knows? Not you.(4) Well… I don’t run x86_64, but would I, and considering how long it’s been available, I’d like companies to support it. And, would a software not running on my (widely used) arch being developed *at this time* and requesting for comments, I would certainly ask them NOW (the sooner the better). The same goes with Windows64/Flash (I don’t know nothing ’bout Windows, so I don’t know if XP64 is common or if people run XP32 on 64systems, I think they don’t, but that would be MS’s fault).And now, you’re telling US to go Windows? Maybe you’re the one who should go Windows considering your behaviour, GNU is about choice, cooperation, the Universe and everything. Quit trolling.

  63. Sérgio Gomes says:

    @ Joseph ColePlease don’t bash KDE, that is an off-topic discussion, the matter here is what libraries are being used in the upcoming Flash player.And please don’t comment on things you obviously don’t know much about (KDE)

  64. Gravis says:

    Simon,I’m simply trying to express that decisions about Gstreamer/ALSA, V4L2/V4L1, FOSS/closed source have already been made. I’m sorry I came off as harsh but it’s very annoying to see so many people keep asking “why not?” when the decision is final. the bottom line is they are saying “I want this” when the answer was already NO. decisions ultimately come down to who is in charge and none of us are in charge. questioning the answer to a request/suggestion when it has been considered is a waste of time, you accept it and move on.————————————-Your NTFS exemple couldn’t be more unappropriate, you chose an example where (a) F/OSS people really didn’t cared (b) specs were closed so had to be reverse engineered (c) NTFS looks like an overly complex mess anyway.i disagree with “didn’t care” about NTFS. plenty of people still dual boot with windows and would love to have full access. also, NTFS has been documented for a LONG time. see ntfs.com. calling NTFS an “overly complex mess” is not an excuse, it’s a cop out. im sure flash is an “overly complex mess” as well, so that proves my point.————————————-Adobe is definitely acknowledging GNU/Linux’ existence, next step may be their adoption.no, they acknowledge nothing about GNU, they simply support an alternative desktop. philosophy and licensing has nothing to do with this. hoping they will have a change of heart will do nothing. they make money just fine as it is, why give that up?————————————-And now, you’re telling US to go Windows?im not telling you to go to windows, im saying that if people cant bear it any longer, there is an alternative so that such people can stop griping.————————————-Maybe you’re the one who should go Windows considering your behaviour. GNU is about choice, cooperation, the Universe and everything.that’s great and all… but the linux flash plugin, nor my disposition has nothing to do with GNU.————————————-I’m a realist and reality is not what everyone wishes it would be so we have to deal with it and get on with life. if that means losing faith in Adobe and going over and finishing the gnash project, so be it. for most of us, we’ll just learn to live with the limitations set forth.

  65. BRPXQZME says:

    I am a KDE/Qt fan and would not use GNOME… without getting paid a few quick bucks, anyway. But I’d tell you, GTK+v2 is unquestionably the right choice for a widely-used desktop package like Flash.I am a Linux user and wouldn’t have a single problem with V4L or ALSA. But I would say using Gstreamer 0.10 for video and audio is the right choice.Why is this? Lowest common denominator. The performance is just fine with these particular high-level API’s, and you get the benefit of less code to port yourself. This means it’s even easier to get it on other platforms that support those API’s, because you don’t have to reimplement things.That said, lots of people who AREN’T posting wouldn’t mind installing extra stuff to run Flash, I’m sure. Keep fighting the good fight!

  66. Marx says:

    Here’s the best reason NOT to use GStreamer: it ain’t 1.0. What’s with Linux users and embracing BETA products? Why should a stable commercial product depend on BETA products?

  67. Joseph Cole says:

    Thanks Sérgio. Sorry, got on the offensive. Choice.OK. Back to the topic.This is another annoying bug in current Flash:http://jcole.org/share/flash7_bug1.png*Please* test the Adobe.com homepage before you release. :)Also, when you state X11 in your API selections, does that include (or mean) XVideo?Another thing to keep in mind is the XGL/AIGLX/Compiz popularity (https://help.ubuntu.com/community/CompositeManager/Xgl). Many users, such as myself, configure their video output method (OpenGL, XV, X11, etc.) in Gstreamer, mplayer, xine, etc. depending on how their OpenGL video card works with XGL/AIGLX/Compiz. I don’t know why, but on my box, Flash 7 animations in Firefox use an excessive amount of CPU and videos are even *more* out of sync when XGL/AIGLX/Compiz is running (uses software rendering? XV conflict?). Totem movie playback now works fine for me in Firefox after changing the Gstreamer video output method (I have to change it back when not running Compiz). I cannot change the output method for Flash 7, so I’m stuck with it’s CPU spikes when running XGL/AIGLX/Compiz. In the new Flashplayer, please allow people to configure their video output methods.

  68. Lori says:

    I am a bit curious about not using gstreamer my self. I have used gstreamer in several projects and have been quite satisfied with it so far. The API can be a tad complex at times… but its designed to be very flexable.All of the issues I have had with gstreamer have been worked out in 0.10. I’m not sure about this slow comment, the speed has been wonderful for me so far… and I have developed for both 0.8 and 0.10.The most common argument against using gstreamer is that ‘not everyone will have it’… but thats just silly. If you do not have gstreamer … most likely you wont have things like a flash plugin installed. It is not going to hurt you to install gstreamer when you install the flash plugin either.The largest advantage I can find for gstreamer is the fact you gain access to a large number of sound backends. This also means that the flash plugin should be easily ported to freebsd and such.Anyhow, just my 2c 🙂

  69. noisyb says:

    Actionscript is a worthless piece of proprietary junk.if (a) {var b = 1;}if (b) {}…says it all. (Yes, it would compile!)But the worst thing about Flash is that it makes sound. God, how much I hate fuckin’ flash makin’ bullshit fart-sounds when not expected. I could almost de-install it.Oh, wait… I _did_ de-install that CPU hungryfuck…Nevermind.

  70. noisyb says:

    Didn’t know that this is the blog of a control freak. So I’ll speak directly to you: Make it possible to turn off the Flash sound permanently and Flash migt become a real success!

  71. Chris says:

    Please ignore all the flaming and bashing, people often mistake discussions about technical merits for regligious or political discussions and emotions can run high..I for one can’t wait to finally be able to run flash9 content in my firefox/linux browser, and it will make my life as a professional seniour webdeveloper a lot easier, because my primary development platform is linux! :-)Keep up the great work, and please don’t allow some of this static demotivate you and your team, the vast majority is waiting with baited breath on the first public pre release!

  72. EnviroTO says:

    Gravis your post isn’t even making any points despite you numbering random thoughts as if they are good arguments.It sounds like Mike is looking into V4L2 and I hope he uses it. Pros and Cons exist for all the choices made but in all the other choices a choice has been made to use a library which is likely to exist on any Linux desktop. The goal should be to pick sufficiently stable libraries that are sticking around and are likely to exist on both KDE and Gnome flavoured desktops. KDE is moving to Qt4 so right away there is an issue… KDE4 does not yet exist. ALSA has been around and is staying, gStreamer is still under development and has not been given a 1.0 versioning.

  73. NoMoreFUD says:

    I’m so tired of hearing people who don’t like Qt spreading FUD around it…Joseph Cole said:QT code cannot be used in this fashion, since it is “owned” by Trolltech and legal issues could arise if this ever happened. This is another reason why some companies and distros highly discourage the use of QT.Wrong, wrong, WRONG! Qt is GPL, ok? GPL! That means you can do whatever you want with it, as long as you make your derivative works GPL too. And guess what, if you don’t want to make your code GPL you can buy a commercial license and release closed-source products, like for instance Skype have done.Qt would be as good a choice for the UI in the player as GTK+, there are no legal issues with it, and it is a very good piece of technology (certainly beats GTK+ in terms of performance ). Quit trolling.

  74. Kurt says:

    I don’t understand a thing…What’s the link between webcam and a flash player o_O.I never saw any flash animation using our webcam..So if you could forget it and give a good player more quickly…-_-

  75. BRPXQZME says:

    A comment to people who mention that 0.10 is not 1.0: The numbering means right little. The style of project that Gstreamer is sort of lends itself to not being a 1.0 until lots and lots of things are *perfect*, which doesn’t happen all that often in the OSS world. There are plenty of projects that have been around for ages, work well, and still haven’t made a 1.0 release to date.About the bug Mr. Cole (can I call you that?) has, illustrated plainly at http://jcole.org/share/flash7_bug1.pngThat's probably your browser doing the bug. Not that I’m going to drag in a browser war; my faves are bugged, too.>KDE is moving to Qt4 so right away there is an issue… KDE4 does not yet exist.I think this is not an issue. Well, not THE issue if you ask me. You can use Qt4 just fine, and it’ll work under a whole slew of environments (even Windows and Mac OS X without the X11). KDE4 is (tentatively) to be released around the same time as Flash 9’s (hopeful) target. The main issue is that there are enough people that don’t have Qt at all (and I’ve seen more people get annoyed at KDE in their GNOME than the other way around, for good reasons I’m sure).I’m just glad that there is an effort to get it ported. Any changes to use the “proper” API’s can always wait till the next version. A lot of people couldn’t care less if Flash 9 required 100MB of disk space, they just want it in their Linux now. Optimistically, I think it’s great that the Flash+Linux team is making sure it doesn’t make our computers explode in a gloryblazin’ fireball. I just think higher-level API’s should be used in order to foster a well-written piece of code that is friendly to other OS’s and the multitude of desktop environments. Plus, use of it in a major successful app like the Flash player would motivate more people to improve those API’s. That’s how OSS is supposed to be, after all.

  76. Nael says:

    @BRPXQZMEActually, that transparency bug is a result of Flash 7 not having the graphics advancements of Flash 8/9, not a browser. Those problems only come up using Flash 7 – the Adobe website’s menus are fine in Flash 9 w/Firefox in Windows. I’ve noticed a similar effect on ESPN.com, where text’s that’s supposed to be trasparent are sitting on a grey box in Linux.

  77. Simon says:

    Gravis,I was wrong on NTFS, it was indeed open-specs (under what terms, I don’t know, but still). Yet, on the “didn’t care” part, I maintain that the most active and prominent members of the FOSS community (ie that are the most likely to participate) didn’t care, and I didn’t care; my last dual-boot set-up was maybe in 98/99. And we have had NTFS read-only support for quite some time (and it was sufficient to get stuff, and use a FAT32 partition for swap between OS’es). So it wasn’t something considered important; now there is support (on userspace with Fuse, afaik) so that’s great, but I couldn’t care less :).On the GNU part, I know people often like to forget that Linux is just the kernel and that you can’t go very far without the Glibc, and the G is for GNU. I call GNU all the userspace part of the OS we’re using and that Adobe’s developing for, so they are somehow acknowledging its existence, and even if they don’t want to see that it’s associated with a philosophy, it is. So the flashplugin IS associated with GNU, running in the GNU userland, going to link against GTK which is a GNU library, etc.All the fuss about “open source software” and the associated business model makes me think things could change one day or another, even if that’s not right now. If you’re a realist, you must realize that some F/OSS are taking market share in different domains, and GNU/Linux itself is getting popular with the general public (not especially tech-savvy) in some countries (I am not American, and here most people I know have switched or are considering switching) and most generally, in the corporate environment.To conclude and end the discussion: it is my understanding that Adobe’s trying to release a polished version of their player for GNU/Linux, and that they made a good decision by asking for some advice. I think everyone commenting and giving opinions here try honestly to answer Mike’s call best. Some certainly want to push their favourite library or such (eg Qt/KDE fans should understand that they are a minority, all the major distributions use a GTK-based desktop by default and most people, even running KDE, use Firefox and not Konqueror) but I believe everyone here’s trying to help. If they make a bad decision, it’s only normal that we at least ask why. I don’t care if they use ALSA in the end, I use ALSA. But I still support Gstreamer, only because it is a better idea in the long term (and would provide support for other *nixes, and for those who say that it’s “Linux Flash Player”, what if it can be built unmodified on *BSD? Why so much selfishness?). Now I understand they already have finished ALSA support, but (warning: I’m no low-level audio expert) isn’t it some kind of PCM signal they’re sending to ALSA? Couldn’t they send it to Gstreamer in a layer UNDER the Gstreamer-plugins system so it’s just ABOVE the audio-sink (ALSA/OSS/whatever), so the only advantage is you could choose your audio sink/sound card and that Gstreamer is portable? I don’t know, but it should be feasable. And even if it’s not for the next version, it’s some food for thoughts for the next ones.

  78. Mubashir Cheema says:

    I have used the Logitech Pro 4000 with this driver:http://www.saillard.org/linux/pwc/I found a very small bug that affected driver compilation on Suse and reported it to the author who was very quick in responding.I have also used the Logitech Pro 5000 with the UVC driver from here:http://linux-uvc.berlios.de/That too worked. However it is perhaps a little less mature that the pwc driver for Logitech Pro 4000.Additionally I too would cast my vote for GStreamer. Please re-consider your decision there.

  79. Well, seems a lot of people have many misconceptions about GStreamer and what it means.1.) Unstable ABI – While this may be true they have never pulled a fast switch on people. In fact, 0.8 and 0.10 can be installed side by side and both can be used. Also, I fail to see how an entire desktop environment (Gnome) can switch over to 0.10 in a timely manner but you guys seem to be saying that a multi-million dollar company can’t switch over one program when and if that time comes. The fact is GStreamer is rapidly improving and becoming a standard base for multimedia. It would be foolish to ignore it.2.)Slowness – The general feel for 0.10 is that it is faster than 0.8. I would love to see benchmarks to support your claim that it is slower.3.)GStreamer is beta – Just because the version is not 1.0 doesn’t mean it is not stable. I think the idea that “1.0 is stable” is extremely silly. 1.0 could mean a myriad of things, not necessarily “stable.” Each project makes their own roadmap.The fact remains, GStreamer is a solid and viable choice. The developer has really offered no reasons for not supporting it, and given his past posts, he really doesn’t have a full grasp on what Linux is, how it works, and how to get things to work on it.I hope he is up to this job. Adobe should at least put more people onto it.

  80. BRPXQZME says:

    @Nael: I want to say you’re right, but I have no idea about the underlying technology to confirm or refute it. However, there have been notable new developments in X that should help make these things work better :)The thing with ALSA is that it’s the “Advanced _Linux_ Sound Architecture”. Guess what platforms don’t support ALSA? Yeah. There are portable audio solutions indeed, and portable graphics solutions as well, but GStreamer is a “multimedia framework” designed for multimedia apps. However, it’s only a point of contention as far as most Linux users are concerned; a black box is a black box, and the Flash player (to the end user) is a black box that you put Flash into and get playback (barring some serious license violations to get the source, I guess). ALSA will do just fine in Linux, but it requires porting to get it on other platforms, and that is work that unfortunately you can’t just say “LET IT BE DONE” and it will be done. It takes some work.I think it’s not good to worry about GStreamer and V4L having changed their interfaces too recently for comfort. After all, I remember warnings in books from only 2002 that stated that ALSA was a moving target with an unstable interface. The thing is, I’m sure these newer interfaces are done with good hindsight from the previous ones. Either way, there’s always room for “Next Time”. I think that few people are going to have good grounds to complain if a working project is released (proverbially) today, and a better version with a better design is released (also proverbially) tomorrow. I appreciate the fact that those of us in the public have been given the chance to get a glimpse at what we need to be ready for Flash 9, though.

  81. Anonymous says:

    You know, the best thing I did right after install Ubuntu, was to switch Totem over to the Xine backend instead of GStreamer. Now it actually plays videos I want to see.Adobe decided not to use Gstreamer, it’s their call. Stick with it.

  82. mark pinto says:

    that’s because you didnt apt-get all the gstreamer plugins. your ignorance and your fault

  83. Anonymous says:

    No, even after installing all the Gstreamer plugins I could find in Synaptic, it had problems with certain videos. But I managed to get mplayer & Xine both working on all the files I ever tried.

  84. Christopher Lees says:

    GStreamer got a bad name because of the 0.8 release, where most Ubuntu users installed the Xine backend for Totem. GStreamer 0.8 was very buggy.But I’m now running GStreamer 0.10, and it’s a stable backend with a good number of codecs when you’ve installed all the packages. If they keep up this standard of work, GStreamer will be at the magical Version 1.0.1 by the time Flash 9 for Linux ships.

  85. Frank Earl says:

    Unfortunately, even V4L2 is not as good a choice as it COULD be. In reality, there’s a lot of ieee1394 (Firewire/iLink for those not in the know…) devices out there- they’re typically better performers than many of the USB based devices- and they don’t need special driver modules to simply go; but unfortunately, nobody really bothered (at least not in a honestly usable form to date…) to integrate support for Firewire Cam/DV Bridge devices into V4L or V4L2- so if you just pick one of those APIs, you’ve just rendered the devices in question useless (And thereby rendered some of my better cams so…). I suspect that you’re seeing people clamoring for GStreamer support because they support both types of devices in their capture framework. This doesn’t mean it’s usable for what you’re looking for- but you honestly need to see if there’s a better way than just coding for V4L2. Things like Unicap (http://unicap-imaging.org/) or KVideo (http://kvideo.sourceforge.net/) may be an alternative here.As for which Webcam to be developing/testing with? Well… That’s a challenging prospect as most of them don’t have ANY official support whatsoever from the vendors making most of the cams.I suggest you go look at http://www.exploits.org/v4l/ for the list of known driver offerings that have been developed with varying levels of success via reverse engineering efforts. Some of the cams out there that DO work include the Logitech 5000 that you’ve been told about- I know, I’ve got one and use it from time to time.

  86. Chris says:

    A lot of hate going out towards the developer(s) of the Linux Flash Player. I want the player like everyone else, but I don’t think demanding it being open source will help at all. Open sourcing the player would take time to make sure that the key parts will not get reversed engineered to create an open source Flash (not the player), which at the end of the day renders Flash useless if there is a free version.It is a joke though the amount of human resources assigned to the Linux player. Also seeing people suggest ARTs for the core sound system base for the player and such is pretty harsh too. ARTs is KDEs answer to multiplexing sound output. Most cards have hardware mixing now, and if they don’t ALSA provides Dmix, to do the mixing software based. GStreamer also is pretty hard to setup without an install of Gnome which gives you the nice gui to set it all up. So in that respect ALSA would seem the best way to go.

  87. BRPXQZME says:

    Well, aRts is on its merry way out. ALSA is (practically but not entirely) Linux-only. GStreamer? I just had to set a USE flag for my Gentoo and install KMPlayer. No Gnome setup here, I don’t touch Gnome. Installed the ffmpeg plugins, and I can watch practically all the videos I care for. Okay, so I don’t have too much to set up without a camera, but still, it was painless for me.

  88. CJ says:

    Yow, indeed, lots of hate. I was actually just hoping to email Mike directly but didn’t see an address, so I guess it’ll go public.Mike – half of these comments are totally insane. I hope that you realize that there *are* lots of us Linux users out here who understand that you’ve gotta make some decisions, and that you’re not going to please 100% of the people all the time, and that there’s a hell of a lot more factors to making a product like the Flash player than many people realize. Not all of us are raving lunatics who’ll hammer on and on about an issue long after it’s been closed, and we’re just patiently waiting for the end product, and we don’t necessarily post on blogs about it, so it might seem like we’re a much smaller group than we are.So yeah, keep up the work, I’m glad that this is all still in-progress. It sucks to have so many competing APIs and ways of doing things, but I certainly appreciate the way you’re slogging through all of it.So thanks! Looking forward to a beta one of these days.

  89. Anonymous says:

    I know that you want feature parity between the flash players on all platforms you support, which is fair enough, but the fact is, stuff in flash6 can look different in flash7.flash8 stuff can look different in flash7.So, why not release an EARLIER linux version without the webcam stuff, and call in flash8.9 ? (or 7.9 or whatever)That doesn’t break your ‘feature parity’ thing as it’s a lesser version than 9.And it gets people off your back for a while to give you a change to release flash9 proper.

  90. Joseph Cole says:

    “A lot of hate going out towards the developer(s) of the Linux Flash Player.”Agreed.Flash is one of those few things in Linux that there is no good open source equivalent for (yet). This frustration stems from Linux users currently being stuck with an old, buggy, and badly architected Flashplayer 7. Linux users feel that Macromedia should have already released Flashplayers 8 and 9 for Linux alongside the Windows and Mac versions months ago. Why are their developers scratching their heads RIGHT NOW on what APIs to use? Macromedia developers are either incompetent (no offense) or someone at Macromedia has put Linux at the bottom of the totem pole. Linux users had to whine and moan until someone at Macromedia woke up. It shouldn’t be this way. Can you imagine how painful it will be once again when version 10 comes out?

  91. It sounds very much like Adobe have assigned one guy to this project; and that guy is not getting anything done. And when deciding what components to use, think carefully; in the Open-Source world if someone makes something with unpopular or very limited components somebody else will pickup the code, and re-code it to suit their own needs etc. But since Adobe are releasing this as closed-source, an unwillingness to adapt or listen to the cries of the community you’re supposedly there to serve will simply cause them to leave your platform behind. When dealing with Linux users you need to remember something that you seem to have forgotten, we’re not n00bs, or lusers, we’ve been on computers for years, and we’re not all pledging ourselves to Windows and letting Adobe push us away from Linux and onto the platform that they’re getting cosy with. If you do not release Flash for Linux, then someone else will release something better and open, or ditch it all together and use something else that has developers committed to true portability and computability.Lack of x86_64 support is really quite pathetic, if Adobe were committed to making Flash accessible to everyone they would be working harder on getting a Linux build out there, as well as an x86_64 hook and giving us nightly builds or something so we can see what is (or most likely) isn’t being done. Put it out there, find out how many people want flash to work, or how many want flash to do everything and everything. In all my years on computers I haven’t once used Flash to access my webcam or microphone, and if enough people agree, then why not ditch support for that, give us something that works, and then spend time finishing it and polishing all of the features. Do you really think that a few bugs are going to scare us away? I’d rather see something coming from Adobe that will run on my machine, than a stream of words that generally convey that which has been thought for such a long time: Adobe are incompetent and don’t care about their users after they’ve separated with their cash.

  92. Sebhelyesfarku says:

    All you retards who trashed GStreamer and especially that imbecile named “Gravis”: face it – GStreamer is the future and ALSA is dead, you like it or not.

  93. Bloody says:

    Hasn’t this degenerated enough? Although it may be better to let the fanboys wage themselves war and the hateboys insult everybody, maybe you should start moderating the comments in this blog entry Mike (or have someone else do it). It’s getting really boring for those of us who really care.Add to the fact that there are some fanboys who do not know what they are talking about. Take for example the comment by Sebhelwhatever, he probably doesn’t know that GStreamer doesn’t implements it’s own sound backend and relies on either ALSA or whatever older sound backend is installed on the user system.

  94. RQ says:

    All you retards who trashed GStreamer and especially that imbecile named “Gravis”: face it – GStreamer is the future and ALSA is dead, you like it or not.Haha! Oh man… Do you happen to know that gstreamer on Linux works on top of ALSA (which isn’t quite dead, really) or OSS (which is) in most cases?.. 🙂

  95. Joseph Cole says:

    @Jamie Plucinski64-bit Flash (especially on Linux) from Macromedia probably won’t happen for years (LOL). Don’t hold your breath. Gnash (a Flash replacement in development) will probably have a 64-bit Linux version way before Macromedia ever does. I’d watch that project instead if you want a native 64-bit Flash in the near future.Also, for 64-bit multimedia/codecs in 64-bit Firefox, I use the totem-gstreamer-firefox-plugin (http://tinyurl.com/zjymh).Java is also 64-bit (http://tinyurl.com/zsd3f) and a dependency hack to the sun-java5-plugin (http://tinyurl.com/hqkug) makes it work in Firefox.

  96. Joseph Cole says:

    “Gnash will probably have a 64-bit Linux version way before Macromedia ever does.”I spoke too soon, looks like they already do!”Currently, Gnash is able to be compiled and run on three architectures: x86 Linux, AMD64 Linux and 32-bit PowerPC Linux. Macromedia does not provide an official player for PowerPC and AMD64 Linux, so Gnash is the only choice on these architectures.”http://en.wikipedia.org/wiki/GnashAlso, the AMD64 version is already installable on Gentoo:http://packages.gentoo.org/packages/?category=net-www;name=gnash

  97. Clarke Brunsdon says:

    I ditto the call for heavier blog moderation.Its too tedious to scroll through the uninformed/inflammatory/repeated comments, and too harmful to real discussion.

  98. Daniel says:

    wow, that was a lot to read, but interesting nonetheless.I can’t really get into deep with technical details, but what I see is, that there’s a developer, who is supposed to develop for a platform he doesn’t know a thing about. It surely is right that one learns by doing, but we’re not talking about some tool, we’re talking about something (nearly) essential.He is making decisions, where even I see that it goes the wrong way. He is willing to program on a low-level and get it all done by himself instead of using huge and proven libraries. I’m sorry, I can’t understand it.You guys at Adobe, don’t see this as an offense, but PLEASE let this be done by a linux-professional D:

  99. Sterling Christensen says:

    Daniel:I think he probably knows what he’s doing well enough if he’s contributed to xine, FFmpeg, and MPlayer.He is also not the only dev working on the linux version.How would you like it if 9 required esound, arts, or some other library you don’t plan on installing? You presume everybody loves gstreamer, that it really is the future. Not for me it isn’t. There are others who’ve been burned by it, or like me just don’t need it.

  100. Fred Wittekind says:

    Just to throw out an idea, regarding opensourcing Flash Player. . . I fully understand there are portions of Flash that can not be opensourced at this time. But what if you could take all the the OS specific APIs (like ALSA, V4L) and put them into a library by themselves (say libflashsupport.so), and opensource that library. That way groups that want flash to support slightly different APIs can do so on there own.

  101. Shadowpillar says:

    Simple solution, put both in for now, just to get it out there, and in a later release (like 9.x.x) remove it after most dists are using v4l2. After all, consider the fact most distros dont even have the latest kernel until the next release, even by then, the kernel is backdated. such is a problem in dists like ubuntu.Best to go with legacy support until you’re sure your market is weaned of it, or at least the majority is, then for those stragglers who use older kernels, you can push them along. (though I dont know many who do use older releases except for server operators)and in the end, create a side project when you get some free time to test out gstreamer or SDL to test the performance.also, you might wanna look for liboil, see if that helps with performance.

  102. Joseph Cole says:

    @NoMoreFUD“Qt is GPL, ok? GPL!”No it’s not. It’s QPL http://www.trolltech.com/products/qt/licenses/licensing/qpl“there are no legal issues with it”Wrong. You can copy/fork GPL software written *for* QT. But, you cannot copy/fork code from QT *itself* without legal implications (with the exception of patches, for adding stuff like distribution branding, etc.). QT is the property of Trolltech, *not* the community. For example, if Trolltech decided to change their license to not support GPL software anymore, the community could not legally copy or fork the QT code. All QT-based applications would be screwed, and QT GPL developers would be stuck on the last dual-licensed version of QT, forever.

  103. Dirk says:

    Don’t use stuff that is not included in the kernel or X11.QT and GTK might be nice but if I was you I would come down to the least common denominator or people wont stop to complain.kernel: oss (alsa has an oss interface) for sound, v4l1 (v4l2 has an v4l1 interface) for camerasX: GUI, graphics and eventsthat’s it. Just make sure you focus on optimising the code of that damn thing. It is way slower as it should be.Dirk

  104. Anonymous says:

    @Joseph Cole”Trolltech’s Open Source versions are available under the terms of the GPL – General Public License.” http://www.trolltech.com/company/about/businessmodel“For historical reasons, the Qt/X11 version is also available under the QPL license. We do not recommend the use of the QPL, especially if you are planning for your Open Source software to be distributed on Mac OS X or Windows.” http://www.trolltech.com/products/qt/licenses/licensing/opensource

  105. Bloody says:

    Won’t people ever stop complaining and questioning Mike’s choice of API? No wonder he hasn’t been updating recently.I see a lot of people complaining about the fact that Alsa was chosen over Oss because Alsa can’t be used on BSD. Understand that this is the Linux flash player and that Oss performance is totally subpar (take flash 7 as a reference). You’ll be happy Mike used Alsa for flash 9 ’cause, as he said, now the player has a/v sync.GTK versus QT war? That is so childish. Stop it people. Firefox uses GTK and, since it’s probably the main target as far as browser integration goes, GTK is the very logical choice.GStreamer’er and SDL’er, it has already been established that flash 9 wouldn’t depend on such heavy libraries. Stop it, this is getting boring.And, as for using pure X for building a GUI. Are you serious, Mr. Dirk? Have you ever tried it? Because I can tell you that it is really painful AND counterproductive.

  106. “QT and GTK might be nice but if I was you I would come down to the least common denominator or people wont stop to complain.”Last I checked browsers on Linux use GTK or QT already. Last time I checked, actually, most use GTK period. The “lowest common denominator” simply would make the coding process that much harder… have you actually looked at programming code for X? It is atrocious.Also, using OSS for sound is silly. You simply don’t get as much functionality with OSS.And as for V4L1 or V4L2, there seems to be a mistake at how the kernel process works. If they are upgrading to V4L2 and deprecating V4L1, they WILL update any drivers needed. That is the benefit for getting code in the mainline kernel. I may be mistaken on this last point.

  107. Michael says:

    Like somebody commented above (way too lazy to find it agan), I have never used Flash as a webcam or for microphone input. I don’t even have a webcame or a microphone! I really think the player should be running without many bugs before extra features like those get worked on as much as other parts of the player.As for the API choices: I couldn’t care less. All I want is an update for the player.

  108. Simon says:

    @Josh:I would continue Flash development if I were you because I can run the standalone Flash Player in Wine (for intranet/kiosk apps).

  109. Andreas says:

    This is of course a little late, but iirc, the spca5xx devices, (at least in my cheap POS webcam) aren’t real v4l devices but only deliver a special videoformat that you need special utilities to view. as opposed to more general video input devices.http://mxhaard.free.fr/download.htmlPWC based cameras have been nice in the past.http://www.lavrsen.dk/twiki/bin/view/PWC/WorkingWebcamsWithPWC