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."

18 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 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.

    3. 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.

    4. 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.

    5. 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?

    6. 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?

    7. 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?

    8. 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. 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!
  4. 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

  5. Re:Direct Download? by Anonymous Coward · · Score: 5, Informative
  6. 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.

  7. 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.
  8. 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.

  9. 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?!