New issue in latest Flash Player affecting FlashyWrappers

In recent days and weeks there have been strange issues randomly reported regarding FlashyWrappers. Even for people with working FlashyWrappers, they started to report recording not working after few frames. Unfortunately, this turned out to be a problem in Flash Player 16+ breaking the technology being used to build FlashyWrappers. This technology was abandoned by Adobe almost right after it was released. It is being maintained by the community now and workarounds are being created.

The issue shows up only when using FlashyWrappers in multithreaded mode in Flash Player, because that’s where the issue originates.  All native builds for AIR are using native threading and therefore shouldn’t be affected.

See this thread for details & progress: https://github.com/crossbridge-community/crossbridge/issues/77

The issue seems solvable even there might be some speed tradeoffs. It might still take some time to come up with the final solution and then also to rebuild FlashyWrappers for Flash Player with patched Crossbridge.

 

iOS: 64-bit universal builds now available

The “universal” FlashyWrappers iOS builds containing both armv7 and arm64  are available as of now. The ANE was successfully compiled with AIR 16 and tested on iOS using exampleBasic and exampleCamera. In both the free & full package, the new ANE is called “FWEncoderANE_64.ane”.

As you surely know, Apple will only accept apps built in this way, which means you’ll need to use AIR 16. And AIR 16 can only work with universally built ANE’s.

For the current customers, this ANE is also available for download separately (without the watermark of course :). There are also some code changes in general from the previous version, so make sure to test your app before submitting new versions to Appstore.

All the current customers will be e-mailed until end of this week with the 64-bit universal ANE download link. If you need the file really fast, just use the contact form http://rainbowcreatures.com/contact.php to ask for it.

In other news, openh264 is working just fine, just need to get everything together for the new release. OGVPlayer still needs some work, so I’m looking at whenever to release early without OGVPlayer or later with OGVPlayer included. In general OGVPlayer and the Android acceleration are the tasks needing most of the time at the moment.

 

New year, new codec

Today and yesterday, FlashyWrappers were successfully compiled and tested with the OpenH264 codec on AIR Windows and Flash Player platforms. Compiling for Flash Player was especially questionable (as the codec obviously wasn’t built for such “weird” platform like Alchemy 2 aka Crossbridge), but luckily by modifying the makefiles slightly  everything is working just fine.

The result is FlashyWrappers will newly support H.264 codec and output MP4 files in the next release for AIR Windows, Mac (to be tested yet but assumed to work) and Flash Player. Theora / Vorbis (OGV) builds will still be supplied.

NOTE (again): By using OpenH264 especially in this first release where it is embedded in both the Flash Player library and the AIR library you, as the H.264 encoder distributor to the end user will not be protected from potentially paying royalties to MPEG LA. We’ll offer (optional) mechanism for the AIR binaries to be automatically downloaded from CISCO to avoid this alltogether (in that case CISCO pays any royalties as the dll’s will be downloaded ie. distributed from their URL’s), but there’s no option like that for the Flash Player version. What this means for you is making sure to understand MPEG LA license terms. You might have to become a licensee. Royalties for 0 – 100,000 units / year seem to be zero though (http://www.mpegla.com/main/programs/avc/Documents/AVC_TermsSummary.pdf). In case of Flash Player, it would probably mean 100K downloads / year of FlashyWrappers, so you might want to delay downloading the actual FW SWF until your app is just about to use the encoder.

Android version progress

Work on Android library has been started recently, so far Android’s HW accelerated video encoder has been tested successfully to generate a small video from inside FlashyWrappers ANE. The next steps will involve connecting AIR’s OpenGL layer (similar to iOS) to video output and writing those frames. Audio will be mixed together with video as well.

The first (alpha) version of the HW accelerated functions for Android will be hopefully available pretty soon (probably weeks), and it will work on Android 4.3+. Due to the enormous variations among the Android versions and devices FW won’t be able to support hardware acceleration in every possible device at first, but support will be gradually added to support at least popular devices (those running on 4.3+ will come first).

The library will return a flag indicating HW support availability and you will be able to decide how to handle the situation (disabling recording completely, fallback to software OGV encoding). With hardware encoder you’ll be able to record mp4 files natively on Android in your AIR apps.