win x86 hotfix V0.9843

The asset version has been updated to V0.9843. This version contains a rebuilt WebRTC binary for the windows 32 bit version . An apparent compiler bug could cause crashes during encoding of video frames in VP8 if the CPU supported AVX. Win 64 bit and other platforms were not effected.

As there were no other changes the returned version by the asset remains at V0.9841.

iOS13 hotfix

V0.9842 has been released with a hotfix for iOS13.

In iOS 13 the local video can fail to show up / being sent. The new iOS version changed the video format by adding a padding at the end of each row of pixels causing a 1280×720 image to be 1280×768 in memory. The new hotfix will remove this padding and make sure the C# side remains compatible to all earlier versions.

You can already get the new version in the Download Area while the asset store release is waiting for approval from Unity.

Update: The hotfix has now arrived in the asset store. Note that the unity asset version will be “V0.9842” but the log output will still return “V0.9841”

V0.9841 released

V0.9841 contains several bugfixes for Windows & Android and restores compatibility to Unity 2017. See changelog for detailed information.

All versions starting with “V0.984” will be backwards compatible and won’t include any breaking changes. Update as early as possible to always have the most stable version.

Signaling server is now open source

The signaling server for the Unity asset WebRtcVideoChat is now open source under the BCD license with its original typescript source code. You can find it on github under its new name awrtc_signaling.

The current master branch is already prepared for the next version V0.984 and contains several changes such as updated dependencies, stability improvements and support for heatbeat messages which will allow the client side to detect disconnects quicker. It is also backwards compatible to all earlier versions. An update to the new version is highly recommended.

Please feel free to contribute and report issues & suggestions to the github issue tracker.

Open Source browser version + first V0.984 test version

The pure java script/typescript API and Unity WebGL plugin is now open source and freely available on github: https://github.com/because-why-not/awrtc_browser. It also contains a browser version of the CallApp which can connect to the Unity version out of the box. You can give it a try here.

The first test builds for the unity version of WebRTC Video Chat V0.984 are now available in the download area. The current version is not yet stable but will be updated on a weekly basis until it is ready for release. Please report any errors you find via e-mail or use the github issue tracker. See changelog to learn more about the next update.


V0.983 patch 1

A new patch is now pending review from Unity and should be released in a few days. The original version can trigger an exception if UnityCallFactory.GetVideoDevices() is called in WebGL if the project was build with Unity 2018.2 (and possibly other 2018 versions). The error is also triggered by the CallApp example.

You will get the following error message:
TypeError: Module.stringToUTF8 is not a function,TypeError: Module.stringToUTF8 is not a function

If you are using Unity 2018 with WebGL and don’t want to wait until the patch is released: You can open the file awrtc_unity.jslib and replace “Module.stringToUTF8” with “stringToUTF8”.

Update: The Asset has been updated and you will get the patched version automatically the next time you download & import the asset.

V0.982 released

The next version is now available in the Unity Asset Store. Here is the change log:

– Removed obsolete wrapper methods. Recent changes in WebRTC broke most of them
– Update to WebRTC 64 + switching to newer compiler versions (XCode 9, VS 2017, newer NDK)
– Cleanup of log calls
– ICall.SetMute / IsMute added to silence the local microphone on all platforms
– Added mute button in the CallApp
– added bool Send(string, bool, ConnectionId) to ICall and IBasicNetwork to support high throughput data transfer
– Rework of the frame delivery system. RawFrame is obsolete and will be replaced with IFrame (will be completed in V0.983)
– for testing: some platforms can deliver frames in i420p which reduces CPU load (see SimpleCall example)
– Added first changes to support direct access to some WebRTC functionality in the future
– Android supports native video now (camera 1 or camera 2 API depending on the device). The old camera system is deactivated by default.
– added AndroidHelper.IsFrontFacing / IsBackFacing. For all other platforms WebcamTexture.devices can be used for this.
– Android native plugin is bundled into an .aar file now. Unity will automatically include necessary changes for the AndroidManifest.xml
– Android comes with a java plugin now to support platform specific features in the future
– Android IL2CPP support has been added
– iOS plenty of bugfixes and performance improvements
– iOS comes with an Objective C plugin now to support platform specific features in the future
– WebGL version updated to use newer API calls
– WebGL fixed several bugs related to various image resolutions / rotated images received from mobile phones
– Bugfix: using invalid device names could cause crashes on some platforms
– Bugfix: Video shouldn’t stop anymore if the scene is changed on Android
– Bugfix: Fixed problems with the loud speaker mode for iOS device
– Bugfix: multi-threading issues / stalling on shutdown or startup