[Webkit-unassigned] [Bug 68460] Add WebCore platform interfaces needed by updated MediaStream and PeerConnection design

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Sep 22 11:39:16 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=68460





--- Comment #16 from Adam Barth <abarth at webkit.org>  2011-09-22 11:39:15 PST ---
> > How would feel about moving MediaStreamClient from being a Client interface to being a Platform interface?
> 
> I think MediaStreamClient is too high-level. E.g., the PeerConnection-related methods in MediaStreamClient maps almost directly to the PeerConnection JavaScript API. This makes PeerConnection a thin layer that just forwards calls to the platform. The PeerHandler API is the result of us following the steps in the specification as closely as possible and call the platform when necessary.

This raises the question of how much of the implementation should live in WebCore versus how much of the implementation should live in an external library.  My understanding in talking with Tommy is that he'd like to use a relatively high-level library to perform those operations because they don't require any specific coupling with WebCore.  You seem interested in using a lower-level library and including more code in WebCore.

Both of these approaches seem somewhat reasonable.  It's often a tough call what to do with code that's not coupled with the rest of WebCore.  We can either put it in Platform, where it can be easily reused by multiple ports or we can factor it out into a separate library, which keeps WebCore lean.  My preference is for the later.  I actually wish we did more features that way, e.g. as depicted in this diagram:

https://docs.google.com/drawings/d/10WlCj2J3arxf4cDGRKteNinaP755iFnmYtYtnNSCQOY/edit?authkey=CP6plYAI&hl=en_US#

I don't want to twist your arm, but it seems like we could set this up in the following layers:

JavaScript Bindings
PeerConnection DOM objects / events / etc
MediaStreamClient-like API
 -> Option to implement the API with a high-level library
 -> Option to implement the API with PeerHandler and a lower-level library

My my ideal world, we'd have the PeerHandler implementation in svn.webkit.org in a new top-level module (as a peer to JavaScriptCore and WebCore), but that's more of a dream for the future than something we need to do in this iteration.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list