LiveSwitch's Predecessor SDK Takes Advantage of H.264/AVC and VP8 Support in Edge 40
Anton Venema
Jan 25, 2016 9:12:00 PM
Back in January, Microsoft announced Edge support for WebRTC 1.0, H.264/AVC and VP8 in its Insider Preview track. With the Creator’s Update released in April, this support is now rolling out to Windows 10 devices around the world as part of Edge version 40.
As usual, IceLink abstracts away the browser differences, so if your web application is using the current release of IceLink, you don’t need to do anything. As your customers upgrade their Windows software, their experience within your web application will simply improve.
In versions of Edge prior to 40, it was necessary to “enable experimental H.264/AVC support” manually, but with Edge 40, full support for both the H.264/AVC and VP8 video codecs is enabled by default, and IceLink takes advantage of this automatically.
It’s also a really good sign that Microsoft decided to implement Edge support for “goog-remb”, an experimental RTCP feedback message that improves maximum bandwidth estimation for a real-time media session.
Originally proposed by Harald Alvestrand from Google (hence the “goog-” prefix), the specification for this message is on its way towards standardization and will be available soon in all IceLink client stacks. Seeing Microsoft adopt not just an experimental feature, but one developed by Google, indicates a willingness to cooperate which can be nothing but good for everyone.
This is all an incredible step forward for Edge, but Microsoft still has a long way to go:
For example, Edge throws a strange hexadecimal error code if you attempt to start it up with an ICE server that supports TCP. IceLink handles this internally, so if and when Edge adds support for TCP, it will enable automatically.
The more time we spent with the WebRTC 1.0 API in Edge, the more we found that it was actually easier and more stable to work directly with the ORTC API instead of trying to work around the same set of issues in a different code branch.
For this reason, IceLink still uses the ORTC API in Edge internally (for now), even when the WebRTC 1.0 API is present.