Slashdot Mirror


Adobe Goes To Flash 10.1, Forgoes Security Fix For 10

An anonymous reader writes "The recent critical zero-day security flaw in Flash 10 may have fast-tracked the release of Flash 10.1 today. Adobe 10.1 boasts the much anticipated H.264 hardware acceleration. Except for Linux and Mac OS (PDF): 'Flash Player 10.1, H.264 hardware acceleration is not supported under Linux and Mac OS. Linux currently lacks a developed standard API that supports H.264 hardware video decoding, and Mac OS X does not expose access to the required APIs.' Your humble anonymous reporter, who is using Fedora Linux with a ATI IGP 340M, is very pleased that the developers of the OSS drivers have provided hardware acceleration for my GPU ('glxinfo : direct rendering: Yes,' 'OpenGL renderer string: Mesa DRI R100 (RS200 4337) 20090101 NO-TCL DRI2'), but even if Adobe did provide hardware acceleration for H.264 on Linux, they wouldn't provide it for me because they disable it for GPUs with SGI in the Client vendor string. Adobe 10.1, with all its goodness, now gives me around 95% CPU usage as opposed to about 75% with the previous release. Good times. I anticipate my Windows friends will have a much better experience."

39 of 320 comments (clear)

  1. Apple provided APIs by ryanw · · Score: 5, Informative

    Apple has provided the API's to do the hardware decoding, and Adobe has a beta called Gala which has Mac OSX Hardware Acceleration enabled.. Adobe will have a release out soon that will incorporate the hardware decoding in OSX. My guess is Adobe had to fast-track the release of 10.1 to compensate for the wide open security holes they had lingering, and weren't prepared to merge the beta and the final release trees.

    1. Re:Apple provided APIs by washu_k · · Score: 5, Informative

      No, the previous hardware acceleration APIs on OSX do NOT work. Check the problems VLC has had. Nothing except officially blessed Quicktime components could do H.264 acceleration on OSX until now despite Apple's claims. Even other plugins working through the Quicktime framework were denied access.

      Flash is a piece of crap, but lack of hardware acceleration on OSX is 100% Apple's fault, not Adobe's. Even if you hate Adobe/Flash this new API access is a good thing because VLC and the like now have working hardware acceleration as well.

    2. Re:Apple provided APIs by DigiShaman · · Score: 4, Insightful

      Adobe is using this as an excuse as to why Flash on OS X sucks.

      See, I don't get it. I thought Adobe was begging Apple to get Flash on the iPhone. Why would they drop the ball on providing proper OS X support? What the hell is going on over at Adobe anyways?

      --
      Life is not for the lazy.
    3. Re:Apple provided APIs by washu_k · · Score: 5, Informative

      No, you're not getting it. The APIs like QTKit and CoreAnimation CLAIM to support video acceleration, but they don't. At least they don't to anything except what Apple allows.

      For example:
      - H.264 video in a Quicktime container played by an Apple player = Hardware acceleration enabled.

      - The exact same H.264 stream repackaged in an non-Quicktime container (AVI, MKV etc) = Hardware acceleration disabled.

      I'm sure the developers of VLC, Mplayer, Perrian and the like would have loved to use QTKit and CoreAnimation like you suggest. But they can't because those APIs simply do not work.

    4. Re:Apple provided APIs by washu_k · · Score: 5, Insightful

      Then why didn't VLC, Mplayer, perrian etc use the official APIs? None of them had hardware acceleration on OSX either until this latest API release. Read up on the problem. The old APIs simply do not work.

    5. Re:Apple provided APIs by christopherjs · · Score: 5, Insightful

      I think the problem was that Adobe didn't move to the Cocoa framework which has these APIs but instead stayed on the Carbon framework which doesn't.

      This is why Steve Jobs called Adobe "lazy" as Cocoa and Carbon were first released back in 2001. Adobe before CS5 of this year didn't migrate their flagship products to Cocoa. That's nine years...

      Adobe is only slightly lazier than Apple themselves then, as Finder and quite a few other parts of OS X were still Carbon until Snow Leopard. That's eight years and they're the ones who developed the frameworks.

    6. Re:Apple provided APIs by nine-times · · Score: 4, Insightful

      It's really pretty simple: Adobe doesn't want to make the investment necessary to make the Flash player efficient, stable, secure, and bloat-free. On the other hand, they want to keep making money selling the Flash development tools.

      So when Apple finally calls them on Flash's crappiness and starts pushing for standards, Adobe wages a PR war on Apple, including astroturfing to make it sound like techies and serious web developers all love Flash. Adobe claims they're just about to release some updates that will fix everything (and it doesn't matter if it's vaporware because it's all about PR) and tries to blame Apple for all of Flash's problems (even though it doesn't quite make sense).

      In reality, Flash has never been well supported on any platform except Windows. However, if Adobe admits to that, then a lot of their pro-Flash anti-HTML5 arguments fall apart. They're trying to sell Flash as being ubiquitous and platform-independent, but it isn't.

    7. Re:Apple provided APIs by prockcore · · Score: 5, Insightful

      Many of their apps are still Carbon.

      Snow Leopard isn't 100% 64-bit, despite Apple's claims. Front Row, iTunes, Grapher, and DVD Player are all still 32-bit apps. That's because they are written in C++/Carbon instead of ObjC/Cocoa. Apple has had how long to rewrite them?

    8. Re:Apple provided APIs by bersl2 · · Score: 4, Insightful

      There need to be replacement development tools. There are many complex Flash animations which are worth watching, but the people who author them are not programmers, and they shouldn't need to be. I know there are SVG authoring tools, but do they work with animation?

      I want Flash dead as much as the next Slashdotter, but I'm not sure the development tools needed to replace Adobe's are there.

    9. Re:Apple provided APIs by washu_k · · Score: 5, Informative

      Perian is a pluggin for Quicktime. It most certainly is using Apple's media framework. All it does is pass the SAME video streams you might find in a MOV file to the Quicktime decoders. It doesn't have a H.264 decoder of it's own like VLC, it just passes the data to Quicktime's H.264 decoder. Yet Quicktime disables hardware decoding because it did not come from a "blessed" source.

      Still that misses the point. The so-called acceleration APIs are supposed to work outside of Quicktime too. Yet they don't. VLC has tried to use the official APIs and they just don't work. It's not a simple as calling the Quicktime code paths or not. Even basic things like video overlays don't work with the old APIs on OSX.

      If the old APIs worked then why did Apple just release a "new" API that does?

    10. Re:Apple provided APIs by washu_k · · Score: 5, Insightful

      VLC, Mplayer, Perrian, etc on OSX can play better than Flash, that is not the same thing as "perfectly fine". VLC and Mplayer a quite optimized so with a fast enough CPU they can grunt through playback without help. That doesn't mean it's working fine. Use VLC or Mplayer on Windows or Linux on the same hardware and the CPU use is drastically reduced because hardware acceleration works.

      Just because Flash sucks doesn't absolve Apple of the problems that are their fault.

      If everything was "perfectly fine" why did Apple release a new API that actually works and why are all the third party players updating to use it?

    11. Re:Apple provided APIs by Sycraft-fu · · Score: 4, Insightful

      Also you can argue developers have a bit of a right to be lazy, and cross with Apple. Apple thrust a lot of changes on them, and has changed their mind on various things a number of times (like the no 64-bit Carbon when it was originally promised). They were asking people to do a lot of extra work, and you can understand devs might get angry. Especially when there's MS who seems to bend over backwards to try and make things easy and compatible. Now they don't always succeed, nobody but a fanboy would call them perfect, but they do put forth a good effort. Their 64-bit setup was very much designed to provide easy compatibility. The APIs were extremely similar, etc. So a 64-bit port shouldn't be too much work (unless you did things like cast pointers to 32-bit ints or whatnot).

      While I'm not saying Adboe is blameless here, you can't lay all the blame at their feet either. Apple has gone through a bunch of changes, starting with OS-X itself and including some major things like a total architecture switch. That generates a lot of extra work.

      There's also the fact that Cocoa is all Objective-C. Doesn't matter if you like it or not, it is something developers are not nearly as familiar with. So there's relearning there, plus additional recoding. While cross platform ports will always take a good bit of recoding, if you are having to change languages that just makes it take all the more. So I can understand why they'd want to stick with C++ and Cocoa since that would make it less work in terms of porting with Windows.

    12. Re:Apple provided APIs by Daltorak · · Score: 5, Insightful

      It's really pretty simple: Adobe doesn't want to make the investment necessary to make the Flash player efficient, stable, secure, and bloat-free. On the other hand, they want to keep making money selling the Flash development tools.

      Excuse me, but.... huh?

      I'm going to assume you haven't actually researched this (i.e. "I went to the source and got the full story for myself" research and not just "I read a Slashdot comment once and got angry" research) and are just running at the mouth because you're angry, not because you're right.

      Which you aren't.

      Here, let me introduce you to a guy. His name is Tinic Uro, and he's one of the people who actually programs Flash. He's an engineer like us, not a marketing droid (or worse, an executive).

      Here are three blog entries you should fully familiarise yourself with before making any further comment on what Adobe is doing in terms of improving Flash on OS X.

      Flash 10.1 and Core Animation:
      http://blog.kaourantin.net/?p=81
      (TL;DR: yes, Flash 10.1 uses Core Animation to accelerate overall Flash graphics performance -- not video specifically -- but you need OS X Snow Leopard and a super-new version of Safari)

      Flash 10.1 and timing:
      http://blog.kaourantin.net/?p=82
      i>(TL;DR: They rebuilt the timer model in Flash 10.1 to use significantly less memory, however Safari on OS X is less flexible than other browsers when it comes to firing timer events, thus making video playback less smooth)

      H.264 hardware acceleration in OS X:
      http://blog.kaourantin.net/?p=89
      (TL;DR: Adobe has released a post-10.1 beta version of Flash that supports full and proper video H.264 acceleration on Mac OS X, with the caveat that you have to have 10.6.3 and certain current graphics chips)

      The real story is this:

      Apple has been well behind Microsoft Windows when it comes to providing third parties with APIs to do hardware acceleration, and to do high-performing timer operations that are necessary to run browser plugins smoothly. I know the Slashdotterie will get all worked up over that assertion, but speaking as someone who's actually written browser plugin code, you'll just have to trust me on this. IE has always had the best timer support, which is one reason why video- or timeline-heavy plugins have always performed better than other platforms. As of OS X 10.6.3 and Safari 5, Apple has pretty much caught up.

      - Despite the headline-grabbing statements from Steve Jobs and other executive-types, there are actual hard-working developers at Apple and Adobe who actually collaborated to define a good API for high-performance video access for browser plugins. If Apple wasn't so deliriously secretive, you'd hear a lot more about it. Trouble is.... the only people who are allowed to blog at Apple are people who'll make the company look good and forward-thinking -- like the Webkit team.

      The problem with performance isn't 100% Adobe's fault. It can't be. Adobe's engineers aren't stupid -- if there had been an easy solution to good plugin video performance on the Mac all this time, they would've fixed it years ago. Why spend several years intentionally using a bad approach?

      Lastly.... despite what the article summary says here on Slashdot, overall Flash performance is quite a bit better in 10.1, especially on OS X. Do your own benchmarking; you'll see for yourself. It's still not as good as it should be, but it's a massive step forward. They know HTML5 is coming... they know they have to make Flash as good as or better than HTML5 or they'll be toast by 2020. They know all this.

  2. More like decelerated by Just+Some+Guy · · Score: 5, Informative

    Linux currently lacks a developed standard API that supports H.264 hardware video decoding, and Mac OS X does not expose access to the required APIs.

    The Linux thing might be true. Even if there was one universally implemented GL desktop standard, that's not the same as having a universally implemented hardware decoding API. They're pretty much orthogonal. As far as OS X, though, nothing changes the fact that Flash uses 3x as much CPU as VLC to render the same video. Spare me the apologist line of "Flash does more work than VLC!" - maybe that's their whole problem. You'd think something as widely used would have some optimized codepaths for the most common use case of playing Youtube videos.

    --
    Dewey, what part of this looks like authorities should be involved?
    1. Re:More like decelerated by Per+Wigren · · Score: 5, Informative

      Linux has VA-API, the one true standard for hardware accelerated video decoding on Linux. Adobe should just use that and not struggle with the various proprietary vendor-specific APIs (VDPAU, XvBA, etc).

      --
      My other account has a 3-digit UID.
  3. Apple recently added an official API to access by thestudio_bob · · Score: 4, Informative

    and Mac OS X does not expose access to the required APIs.

    Apple recently added an official API to access the H.264 decoding features of certain NVIDIA GPUs used in recent Macs. I'm sure Adobe was just rushing to get this out because of the zero-day.

    Adobe will accelerate Flash video using new Apple API

    --
    The real Sig captains the Northwestern. This one captains /.
  4. So much for 64-bit by innocent_white_lamb · · Score: 5, Informative

    No more 64-bit Linux version:

    http://labs.adobe.com/technologies/flashplayer10/64bit.html

    The Flash Player 10.1 64-bit Linux beta is closed. We remain committed to delivering 64-bit support in a future release of Flash Player. No further information is available at this time.

    --
    If you're a zombie and you know it, bite your friend!
    1. Re:So much for 64-bit by gmack · · Score: 4, Insightful

      nspluginwrapper is not only unstable but it blocks keyboard input to flash. Using it is a complete waste of time.

      Better off pressuring websites to dump flash.

  5. Re:Idiot by fredmosby · · Score: 4, Insightful

    If an iPad with a 1GHZ processor can do full screen video for hours without getting hot, my dual 2.2 GHz laptop ought to be able to do full screen video without using 90% of my processor and the fan turning on.

  6. "Direct rendering" != "Hardware acceleration" by Nahor · · Score: 4, Informative

    "Direct rendering" != "Hardware acceleration".

    Correct me if I'm wrong but:
    - "Direct rendering" = decode the data directly to Video buffer. Otherwise the data needs to be decoded to a RAM buffer which then needs to be copied to the Video buffer to be actually displayed.
    - "Hardware acceleration" = use the GPU for decoding (because a GPU is usually way faster than the CPU for this kind of work).

    So you can have "direct rendering" without the "hardware acceleration" (and vice-versa though it's unlikely to happen in practice).

  7. Re:New Apple API? by gyrogeerloose · · Score: 4, Informative

    I thought Apple published a new API in the latest Snow Leopard.

    They did. The summary is incorrect.

    --
    This ain't rocket surgery.
  8. Also by Sycraft-fu · · Score: 4, Informative

    Acceleration of H.264 is different than OpenGL acceleration. You can have a card with full GL acceleration that doesn't accelerate H.264 decoding. Indeed many older cards were like this. The original GeForce 8800s didn't have full H.264 acceleration, despite their massive amount of 3D hardware.

    You have a separate API for that sort of thing, and near as I know Linux does not provide that. You could still implement it, of course, by implementing the lower level stuff needed to talk to the card in the correct way, but that is rather a lot of work and not really the place of a user mode app. Idea is the OS should provide the APIs/ABIs for that sort of thing. Driver makers then support it on the low end, apps plug in on the high end and it all works.

  9. Windows friends??!! by Foofoobar · · Score: 4, Funny

    I anticipate my Windows friends will have a much better experience

    PARIAH!! UNCLEAN! UNCLEAN!

    --
    This is my sig. There are many like it but this one is mine.
  10. Download Links by Anonymous Coward · · Score: 5, Informative

    If you don't like the 'Adobe Downloader', use this page:
    http://www.adobe.com/products/flashplayer/fp_distribution3.html

  11. The next major release will be really loud. by ptbarnett · · Score: 4, Funny

    Adobe Goes to Flash 10.1

    "These go to eleven."

  12. Re:Direct Download? by Anonymous Coward · · Score: 5, Informative
  13. Re:!News by melstav · · Score: 5, Informative

    Who else would have to foresight to include embedded executable code and a javascript engine in a print document format?

    It's even worse than that. Take a good look at version 1.7 of the PDF spec

    From section 7.11.4.1 of chapter 13, which is titled "Multimedia Features"

    If a PDF file contains file specifications that refer to an external file and the PDF file is archived or transmitted, some provision should be made to ensure that the external references will remain valid. One way to do this is to arrange for copies of the external files to accompany the PDF file. Embedded file streams (PDF 1.3) address this problem by allowing the contents of referenced files to be embedded directly within the body of the PDF file.

    And worse yet, quoting from one of the descriptions of flags in table 44:

    (Optional; PDF 1.2) A flag indicating whether the file referenced by the file specification is volatile (changes frequently with time). If the value is true, applications shall not cache a copy of the file. For example, a movie annotation referencing a URL to a live video camera could set this flag to trueto notify the conforming reader that it should re-acquire the movie each time it is played. Default value: false.

    In other words, you can ALSO embed the LIVE feed from your webcam in a PDF document.

  14. Indeed Apple did by Midnight+Thunder · · Score: 4, Informative

    Here is the relevant tech note for the "Video Decode Acceleration Framework" on MacOS X: http://developer.apple.com/mac/library/technotes/tn2010/tn2267.html

    --
    Jumpstart the tartan drive.
  15. Re:Direct Download? by lyinhart · · Score: 4, Informative
    --
    Freedom is drinking a beer in the park when you're supposed to be at work.
  16. Re:Laptops turning into leaf blowers going bye bye by SimonTheSoundMan · · Score: 4, Informative

    For a start, Adobe could at least try and do YUV to RGB using OpenGL, that would help, but they wont do it. Little things like this Adobe refuse to do, it will only take someone a day to write the code, this will make your computer go from a leaf blower to a vacuum cleaner. *sigh*

  17. Re:The new API is unusable by je+ne+sais+quoi · · Score: 4, Insightful
    Patch level? I couldn't figure out what the GP was talking about, I had to google it. OS X uses version numbers, patch level is some windows thing. Yes, security patches are issued outside of that, but they're assigned a date, not a patch level. No the H.264 API wasn't included in a security patch, it was in OS 10.6.3, just where it should be. Yes, the version number is straight in your user agent string:

    HTTP_USER_AGENT:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us) ...

    See that 10_6_3 part, that's the version number.

    As for 10.6, it is blazingly fast compared to anything prior. I only wish it hadn't broken so much linux and unix code that used to be easy to compile.

    As far as I can tell the GP's post had no useful information in it whatsoever, just a troll.

    As for Adobe's announcement, this is precisely why I, as a mac/linux user, was in favor of Jobs tell Adobe to go to hell. Flash has always sucked on anything non-windows, it's awful.

    --
    Gentlemen! You can't fight in here, this is the war room!
  18. Re:Let's kill Flash by MrEricSir · · Score: 4, Insightful

    In other words, it's costing the company money and pissing people off.

    Which is exactly what I'm trying to do.

    --
    There's no -1 for "I don't get it."
  19. Re:New Apple API? by 0100010001010011 · · Score: 4, Informative

    XBMC has it integrated. 10.6.3 came out on March 29th. and XBMC had it a week later. Come on Adobe.

    They also manage to have acceleration in linux with both VDPAU and VAAPI.

  20. Re:Laptops turning into leaf blowers going bye bye by ink · · Score: 5, Informative

    Adobe cant't do that, because Flash is not designed to play video. Think about it. Flash mixes MovieClips with vector and timeline content, all with z-axis alpha-blended content. It must transfer video into RGB in order to mix it with the bitmap data from vector sources, bitmap sources and from the font renderer. Flash can use sophisticated codec helpers for some tasks, but it will never be as good as dedicated devices like the iPad, which can only play one video format with specific limitations. This isn't to say that Flash is some kind of failure -- only that it was designed to solve a different problem.

    --
    The wheel is turning, but the hamster is dead.
  21. Re:Let's kill Flash by westlake · · Score: 5, Insightful

    Next time I see a commercial website that requires Flash, I'll call the vendor and explain why I can't use their website. Should help kill Flash once and for all.

    The vendor collects internal stats and subscribes to Net Applications and other services.

    He knows that you represent less than 1% of his target audience.

  22. Re:Laptops turning into leaf blowers going bye bye by keeboo · · Score: 5, Funny

    this will make your computer go from a leaf blower to a vacuum cleaner.

    There's a Flash version for VAX?!

  23. Re:!News by billcopc · · Score: 4, Insightful

    The way I see it, Adobe is taking a cue from Sony and trying to supplant a perfectly usable and cost-effective technology (e.g. HTML, CD-Audio, HD-DVD) with a perfectly moronic proprietary cost-prohibitive overlicensed substitute (e.g. PDF, MiniDisc, BluRay).

    They probably figured Acrobat would replace Internet Explorer at some point, you know, because HTML sucks in their mind. Why else would they embed code and video into something that started life as a (shudder) "Portable Document Format" ? The whole point of PDF was to have a faithful, device-independent representation of a print-ready document - PostScript to go! How they fucked it up is just classic Adobe narcissism.

    --
    -Billco, Fnarg.com
  24. Re:The new API is unusable by adolf · · Score: 4, Insightful

    Decades? Plural?

    Kid, I assure you: If you were around computers 20 years ago, you'd have never made such a statement. Computer video in 1990 was anything but "perfectly fine," and none of the software you listed even existed at that time.

  25. Re:The new API is unusable by drinkypoo · · Score: 4, Interesting

    Before then, QuickTime, including QuickTime X, could render to multiple targets, including OpenGL textures and CoreAnimation layers. You can take an H.264 stream, send it through QuickTime, and then composite it using either OpenGL or CA.

    What is your response to claims that you cannot use Quicktime's H.264 acceleration if you are not Apple?

    But, really, this is all misdirection. FFMPEG uses no hardware acceleration,

    FFmpeg does use hardware acceleration.

    but manages to use about half of the CPU of Flash.

    On which platform?

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"