NEW244002
[GStreamer][WebRTC] Move network access to NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=244002
Summary [GStreamer][WebRTC] Move network access to NetworkProcess
Philippe Normand
Reported 2022-08-16 11:45:52 PDT
SSIA
Attachments
Philippe Normand
Comment 1 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...
Philippe Normand
Comment 2 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.
Philippe Normand
Comment 3 2025-08-04 09:10:25 PDT
For now I'm submitting a libnice backend. Later with librice we can have another backend...
Philippe Normand
Comment 4 2025-08-04 10:04:09 PDT
Philippe Normand
Comment 5 2025-08-23 04:59:39 PDT
(In reply to Philippe Normand from comment #3) > For now I'm submitting a libnice backend. Later with librice we can have > another backend... The libnice approach doesn't work out, it's prone to deadlocks, sync IPC calls and some internal MediaStream code (related with tracks observation stopping and closing down the PeerConnection) compete to run on the main thread... This was a nice experiment but I'm afraid not the way forward. We've learned some new things though that hopefully will apply to the librice backend yet to be written.
Philippe Normand
Comment 6 2025-09-08 10:37:14 PDT
I have a working librice-based backend in https://github.com/philn/WebKit/tree/wip/webrtc-rice Likely some leaks to fix and iterate a bit, but it's looking like the way forward :)
Philippe Normand
Comment 7 2025-09-15 05:02:04 PDT
Note You need to log in before you can comment on or make changes to this bug.