The latest AIR 3.4 and Flash Player 11.4 Feature Details

Posted on August 8, 2012 | 7 comments

If you have not stayed up with all the changes in the runtimes you should check out whats coming in the upcoming “Dolores” release. You can check out the public beta drops of AIR 3.4 and Flash Payer 11.4 on labs.adobe.com.

There a lot of very cool features coming in 11.4, here is the list from the release notes.

Release features

  • ActionScript Workers (Flash Player)
  • Stage3D “constrained” profile for increased GPU reach (Flash Player and AIR) Sandbox Bridge support (Flash Player)
  • LZMA support for ByteArray (Flash Player and AIR)
  • StageVideo attachCamera/Camera improvements (Flash Player and AIR)
  • Compressed texture with alpha support for Stage3D (Flash Player and AIR)
  • Deprecated Carbon APIs for AIR (AIR)
  • Direct AIR deployment using ADT (AIR)
  • Push Notifications for iOS (AIR)
  • Ambient AudioPlaybackMode (AIR)
  • Exception Support in Native Extensions for iOS (AIR)
  • New option in ADT to list the attached mobile devices (AIR)
  • Licensing support: Flash Player Premium Features for Gaming (Flash Player only)
  • ADT option to resolve ANE symbol conflicts on iOS (AIR)

Details on Each Feature

ActionScript Workers

With the introduction of Workers to ActionScript and the Flash Runtime, Flash Developers can now offload certain tasks like high-latency operations and long-running computations to “Background Workers”. These Background Workers run concurrently in order to leverage more machine resources and avoid things like UI freezes. Note: To fully leverage ActionScript Workers and be able to debug workers, the next version of Flash Builder is required. This next version of Flash Builder will be made available through public beta in the August timeframe.

Lee Brimelow’s gotoAndLearn.com video on concurrency in the runtime Part 1

Lee Brimelow’s gotoAndLearn.com video on concurrency in the runtime Part 2

Intro to AS3 Workers (Part 1): Hello World
Intro to AS3 Workers (Part 2): Image Processing

Stage3D “constrained” profile for increased GPU reach

The Flash Player will gate the use of hardware acceleration based on the date of your video card’s driver. In previous releases, we gated support to drivers older than January 1, 2008. In this release, we will be changing the gating to apply to drivers older than January 1, 2006. Content using wmode=direct (or renderMode=direct for AIR) should be hardware accelerated on graphics card driver date newer than 1/1/2006 when possible. This applies to Stage3D and [StageVideo|StageVideo] APIs. In addition to that, we added a new profile for Stage3D called “constrained” profile, allowing your content to run hardware accelerated on the previously blacklisted Intel GMA chipsets. See below for more details about this new profile and how to leverage it.

Starling supporting “constrained” mode

Sandbox Bridge support

Sandbox bridging allows specific ActionScript objects or functions to be exposed between SWF-to-SWF cross-domain communication. This feature is already available in AIR and is being ported to Flash Player in this release.

LZMA support for ByteArray

In addition to zlib compression of ByteArray, we are introducing an additional compression type based on LZMA to compress data inside a ByteArray through ByteArray.compress() and ByteArray.uncompress().

Compressed texture with alpha support for Stage3D (Flash Player and AIR)

Transparent images are now supported for compressed textures (ATF file format). Note: Stay tuned for the ATF tools which will be made available in the next weeks on Adobe Labs.

If you have your own DXT5 alpha textures you can start looking at dds2atf here. Other tools coming out as mentioned above.

StageVideo attachCamera/Camera improvements

This feature exposes a new method on StageVideo objects that allows the Actionscript code to direct the video stream from the camera to a StageVideo object thus leveraging the GPU for rendering instead of the rasterizer. This allows the player to be much faster when processing a video stream from the camera when GPU acceleration is available.

Deprecated Carbon APIs for AIR

As of Mac OS X 10.8, Carbon APIs will no longer be supported by Apple. Hence these APIs and other deprecated code is being removed from AIR in this release to be in parity with Mac OSX 10.8.

Direct AIR deployment using ADT

This new feature enables the developer to deploy an AIR application on iOS devices without having to use iTunes or XCode. Please note that iTunes 10.5.0 or greater must be installed on the user’s machine to be able to use this feature.

iOS Push Notifications

This feature will use APNS (Apple Push Notification Service) and a provider (third party server which will communicate with the APN) to generate notifications. A new package, flash.notifications has been introduced. The delivery of push notifications is completely dependent on Apple Push Notification Service and APNS does not guarantee the delivery of push notifications. Apple also recommends subscribing to push notifications every time an application is launched. Every time the client app subscribes to push notifications, the APNS provides a token-id to the client app and this token-id should be sent to the third party server or provider that will be sending the remote notifications.

Ambient AudioPlaybackMode

With AIR 3.4, users will have the option of one more AudioPlaybackMode i.e. AMBIENT other than VOICE and MEDIA. This new AudioPlaybackMode will allow the users to force their application to honor the “hardware mute switch” present in iphone(s) /ipad(s). The strongest use case of this Ambient playbackmode is in the game apps where the user of the app will have the option to silence the game sound and also can listen to the music of any other app in background. In Ambient mode, audio respects the hardware mute switch only on iOS devices. On Android devices, the Ambient mode will be just like the Media mode.

Exception Support in Native Extensions for iOS

A native extension for iOS can now use both C++ and Objective-C exceptions. It is up to the extension to catch all the exceptions thrown in its code. The runtime will not catch the exceptions thrown by extensions.

ADT option to list the attached mobile devices

A new option, devices has been added in ADT to list the attached iOS/Android devices. Users can avail this option instead of using adb for listing the Android devices and idb for listing the iOS devices. Please note that iTunes 10.5.0 or greater must be installed on the user’s machine to be able to use this feature.

Licensing support: Flash Player Premium Features for Gaming (Flash Player only)

Supports licensing for the combined use of domain memory (used by some third party tools and the Project “Alchemy” C/C++ compiler) with Stage3D hardware acceleration in Flash Player.

Flash Player Premium Features explained and more info in faq form.

ADT option to resolve ANE symbol conflicts on iOS

As application developers may use multiple native extensions obtained from various resources, a common symbol name in the 2 ANEs may give a packaging error saying there’s a duplicate symbol in the object files, or a crash at runtime. To circumvent this issue, a new ADT option, -hideAneLibSymbols, has been introduced, which can be specified at the time of packaging the application. It can take the values – yes or no, where yes hides the library symbols of each ANE from other ANEs.

  • Pingback: The latest AIR 3.4 and Flash Player 11.4 Feature Details | mariago

  • Jacob

    Nice features! But why no workers for air?

    • Anonymous

      Works on mobile are not the same as desktop. It is being worked on but the constraints of the different mobile devices and how they handle threads makes it a bit more complex.

  • Prototive

    What happend with the cameraui in android 4.x? Am getting errors and ui wont appear. Im in desperate beed of that since my app needs to be released in 1.t weeks :s

  • Peter

    With the PPAPI (Pepper) Chrome no longer allows LocalConnections between SWFs. WOuld the Sandbox Bridge suppot help with that at all? Or it has nothing to do with it? Meaning could it be used as a replacement for LocalConnection and would it work in Chrome?
    Thank you

    • Anonymous

      I am not sure on a replacement. Sandbox bridge is for something different then local connection so I doubt its a replacement.

  • MasterMind Systems

    Does anyone know if ANE’s using AIR on Desktop will work within Workers? It seems the primary thread may access the ANE, but the Worker cannot.