[webkit-dev] WebRTC in WebKit

Adam Bergkvist adam.bergkvist at ericsson.com
Thu Jan 29 05:46:28 PST 2015


Hi Benjamin

Thanks for you feedback. Please see answers inline.

On 28/01/15 20:14, Benjamin Poulain wrote:
> Getting WebRTC working on WebKitGTK sounds awesome.
>
> I am a little concerned with the use of an abstraction layer as a
> backend. I am afraid this could lead to weird abstractions.
>
> Typically in WebKit we try to have baseline code in C++ that handles
> everything that can be shared between ports, and platform abstractions
> for everything port and/or platform specific.
>
> Using OpenWebRTC, there would be no abstractions and WebCore would just
> be a bridge between JavaScript and OpenWebRTC. Is that correct?

There will surely be a generic abstraction layer hiding OpenWebRTC from 
WebCore. We want to implement the API specification in WebCore to make 
it sharable between ports and even WebRTC backends, very much in line 
with what you describe above. This involves replacing parts of the 
current WebKit WebRTC infrastructure where API calls often go directly 
out to the backend.

Where the platform gets involved, the intention is to have abstract 
representation of real-time media sources, media endpoints (peers 
capable sending/receiving media/data) and channels for generic data. An 
example would be that you configure a (platform) media endpoint how to 
send and receive allowing multiple variants, and future versions, of JS 
APIs to provide that information.

For example:

RTCPeerConnection
  |
MediaEndpoint
  |
OWRMediaEndpoint

> Could you explain a bit why you chose to use an abstraction layer at the
> WebRTC level instead of interfacing directly with GStreamer at the
> platform abstraction level?
>

The abstraction layer we aim for is not really at the WebRTC layer. I 
mean it's not on a JS API layer as RTCPeerConnection. But on the other 
hand, using GStreamer directly would duplicate a lot of functionality 
that has been built in to OpenWebRTC to present a friendlier bundle to 
developers who wants to develop both Web and native WebRTC apps. One way 
to describe OpenWebRTC is as a communication framework compatible with 
WebRTC on protocol and media level.

/Adam



More information about the webkit-dev mailing list