The October product release is here! This is primarily a bug fix release, and quite a big one at that. A big thank you to everyone who reported issues and helped us diagnose problems. Support for DTLS handshaking almost made it into this release (it's about 95% complete), but we felt stability needed to take priority over new features. Some bug fix highlights:
- Updated Android video capture in IceLink to use NV21 instead of YV12 since several Samsung devices implement YV12 incorrectly.
- Added exception handling for bad references in WebSync/TheRest when initializing. (Bad references should still be fixed, but at least the software loads.)
- Updated socket receive code to iterative instead of recursive implementation in WebSync Cache. (Should avoid StackOverflowException on very large requests/responses.)
- Updated NET.Server's HttpListener implementation so HEAD requests are ignored. (Should avoid ProtocolViolationException.)
- Resolved glitch in iOS/Mac base64 implementation.
- Updated IceLink WPF image render provider to avoid race condition with initial Image control creation.
- Updated STUN client implementations to accept either XOR-MAPPED-ADDRESS or MAPPED-ADDRESS in response.
- Fixed several bugs related to Android audio capture and playback in IceLink.
- Fixed bug where video could not be received without video being offered in IceLink.
- Fixed race condition in IceLink where candidates might arrive before a link had completely initialized.
- Fixed UDP socket implementation in Java so it returns the proper dot-notation of an IP address.
- Updated TURN server implementation to interface with Chrome's TURN client implementation.
- Added SecuritySafeCritical attribute to Windows 8 DNS resolution methods in IceLink to avoid security exception.
- Fixed locking issue in IceLink Conference when connecting to multiple peers.
- Fixed bug where some TURN connections might not be established if the controlled client was behind a symmetric firewall.
- Updated IceLink WebSync extension so all events are properly detached when leaving a conference.
- Updated .NET LayoutManager to catch exceptions thrown when manipulating controls in IceLink.
- Fixed data-channel SSRC generation in IceLink so it never overflows to a negative number.
- Fixed error thrown when sending an empty string to a data-channel in IceLink.
It's not all bug fixes, though. A few new features:
- Added DomainName to WebSyncEventArgs. This represents the client-side referrer (or DomainName specified by thick clients).
- Added ConnectArgs to StreamFailureArgs. This represents the connect arguments about to be used to re-handshake with the server and allows simple modification of the arguments before this happens.
- Added TextViewLogProvider for Android, FMTextViewLogProvider for iOS/Mac, and TextBlockLogProvider for Windows 8/Phone.
- Added LocalCandidates and RemoteCandidates properties to Link in IceLink for access to selected local/remote candidates.
As always, we welcome your feedback! Check out support.frozenmountain.com to submit and vote on feature requests/ideas as well as ask questions from our technical staff and receive prompt answers. For any other issues, feel free to send us a message.