Bug 244002 - [GStreamer][WebRTC] Move network access to NetworkProcess
Summary: [GStreamer][WebRTC] Move network access to NetworkProcess
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks: GstWebRTC 274711
  Show dependency treegraph
 
Reported: 2022-08-16 11:45 PDT by Philippe Normand
Modified: 2024-06-12 04:16 PDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philippe Normand 2022-08-16 11:45:52 PDT
SSIA
Comment 1 Philippe Normand 2022-08-30 07:03:56 PDT
There are 2 possible approaches:

a. Somehow move the transport GStreamer elements to the network process, using the newly gstwebrtc ICE split that will ship in GStreamer 1.22. That will require GStreamer initialization in the network process + a custom pipeline there, unless I misunderstood the intent. This approach is still not clear to me.

b. Abstract sockets handling in libnice, perhaps using a factory pattern. That would allow the Agent to request sockets creations from the WebProcess, we could then build a socket wrapper similar to the existing infrastructure in-place already for the libwebrtc backend. This is lower-level, but imho nicer...
Comment 2 Philippe Normand 2024-06-12 04:16:37 PDT
Another option, which looks "nicer", would consist of using librice (https://github.com/ystreet/librice) which would eventually be supported by GstWebRTC. Then we could make a WebKit-specific network backend for librice.