OpenWebRTC in WebKit Upstream Complete

WebKitGTK+ and Chrome WebRTC Interop

WebRTC in Safari 11 and iOS 11

Dark Light

It’s been a long time since the last blogpost, but that doesn’t mean that there haven’t been any progress. On the contrary, a bunch of new features from WebRTC 1.0 have been implemented and the upstreaming to the official WebKit repository is complete. Let’s start by looking at a new feature.

One major update is the introduction of the RTCRtpTranscevier object. It ties together an RTCRtpSender and an RTCRtpReceiver and represents a media description, also known as a “m= line”, in SDP. When you do addTrack() and get an RTCRtpSender, an RTCRtpTransceiver is also created automatically. With the transceiver, you also get an RTCRtpReceiver with a track, representing incoming media, that you can start rendering right away, but it will remain muted until you have negotiated media with the remote peer. There’s also a dedicated API, addTransceiver(), to work directly with transceivers. This API lets you do more advanced stuff like offering to receive five video tracks without sending any video yourself.

As described in previous blogposts, we have kept our experimental code in a fork of WebKit, but the intention has always been to upstream and work in the main WebKit repository. We are happy to say that we have reached a point where we can retire our fork and continue the development upstream. This means that you will get all our code when you do a regular checkout, or clone, of WebKit. We will keep the fork around for a while since it still contains some experimental code and hacks that we want to keep easily accessible.

Finally, some other great news. Philippe and Alex (Igalia) decided make the WebKit GTK+ MiniBrowser work in the wild with some real WebRTC-based services. As of this time, they have AppRTC and working.

Leave a Reply

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

Related Posts

WebKitGTK+ and Chrome WebRTC Interop

The process to upstream an RTCPeerConnection implementation, based on OpenWebRTC, to WebKit is under way. We are starting…

Mid-April Updates!

This blog post is long overdue. As WebRTC Expo is about to begin in Miami, I thought it…

Updated MediaStream API Upstreamed

The MediaStream API, with its primary interfaces MediaStream and MediaStreamTrack, is the glue of the WebRTC APIs. You…

Upstream of RTCPeerConnection started

RTCPeerConnection is the main object in WebRTC for sending media and data peer-to-peer. The API is constantly evolving…