FW 2.55 released (mobile focused)

New version of FW was released, accumulating feedback we’ve had – this release is exclusively mobile focused and includes stability fixes / new features for both Android and iOS.

The most notable news about Android is, FW was tested on range of devices, and there has been an issue with its GL shaders discovered which prevented FW from working properly on number of devices. This has been fixed so FW should be more reliable on Android now.

While testing, there has been particular set of issues discovered, which have to do with Mediatek encoders (on devices from brands such as Meizu or Lenovo). Recording currently seems to work reliably only in 1280×720 resolution with this encoder. FW is therefore trying to detect this encoder automatically and force 1280×720 resolution. It also offers you a way to detect / react to this encoder from AS3 (maybe you’ll want to disable recording completely).

On iOS, a pretty significant memory leak has been fixed, photo permissions are now detectable and dispatched as events – for more changes and fixes see the changelog below and / or the updated API docs.

FlashyWrappers 2.55
- Android: Fixed an issue on various devices caused by shader optimizing out an attribute. The recording wouldn't work at all - the shader attributes are now assigned manually to prevent this from happening.
- Android: On devices using Mediatek encoder(such as Lenovo, Meizu), video encoding appears to work reliably only in 1280x720 with the current FW version. FW will force video dimensions to 1280x720 when this encoder is detected. You can adjust your video frames dimensions if needed, by using "if (myEncoder.getAndroidEncoderQuirks() == "quirk_mtk") {...}".
- Android: Fixed an issue with 2nd recording with microphone failing on some devices by completely releasing AudioRecorder instead of just stopping it.                                                                                                                                                                                                  
- Android / iOS: The video filename can be now modified easily on both platforms by setting myEncoder.mobileFilename = 'somefile.mp4';
- All platforms: FW now checks if the audio data is empty or not to prevent unexpected errors when sending audio data with zero length.
- All platforms: FW now checks if the ByteArray isn't overflowing in addVideoFrame to avoid subsequent issues in the encoders.
- All platforms: addSoundtrack on Android is being added at the start in non-realtime mode.
- iOS: Killed the video composing in final video recording phase, this significantly shortens the final phase time and also allows to finish the recording even when the app is suspended.
- iOS: As a result of the change above, the video bitrate setting has effect in realtime mode too (before it had effect only in non-realtime mode).
- iOS: Fixed a memory leak, after each recording approx +6-10MB of memory was consumed by texture cache which wasn't cleared properly. This could have resulted in low memory warnings and application shutdown if recording many times in row.
- iOS: Video foler is marked as preventBackup = true, to prevent backing it up to the iCloud.
- iOS: Added photo gallery permissions status events to allow you reading those permissions and displaying the permissions popup earlier than just before the video is trying to get saved. For more see API docs.

Leave a Reply

Your email address will not be published. Required fields are marked *