[webkit-dev] WebRTC in WebKit
adam.bergkvist at ericsson.com
Thu Jan 29 05:46:28 PST 2015
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
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.
> 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.
More information about the webkit-dev