[Bug 737316] Add support for sending file-descriptors over Unix domain sockets

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Sep 25 06:43:34 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=737316
  GStreamer | gstreamer (core) | git

Nicolas Dufresne (stormer) <nicolas.dufresne> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |nicolas.dufresne at collabora.
                   |                            |co.uk

--- Comment #5 from Nicolas Dufresne (stormer) <nicolas.dufresne at collabora.co.uk> 2014-09-25 13:43:24 UTC ---
fdsink/src is specialized for writing data into file descriptors, not socket.
So as Sebastien says, this should be a new element. I'm not particularly fan of
an hybrid between tcpsrc/sink and shmsrc/sink. I would personally prefer a
design closer to shmsrc/sink, but with memfd allocator (hence memfd Memory).
This same element, in reverse, should be able to zero copy memory that are
backed by FDs and can be mmaped. By experience, the meta is really not the
right place for this. In my opinion, we should make these new src/sink preserve
the framing, so it becomes a inter process RTP friendly mechanism.

The allocator interface proposed by Olivier is a really good starting point,
since it's compatible with the existing code for GstDmabufAllocator, next to
which we could add a GstMemfdAllocator (e.g. can be reused by a unix socket
src/sink along with some kdbus adapter).

For the rest, a payloader does not need such a property. It should just keep
doing what it's been doing so far. Payloader have got this optimization to not
merge Memory unless strictly required. So if upstream provides memfd backed
memory, they will remain this way. Then if downstream offers a memfd allocator,
the headers will be placed in memfd memory too, and all the sink will have to
do, is pass the FDs over the unix socket (or kdbus). In presence of normal
sinks, like tcpsink, udpsink, etc. The FDs will be mapped and streamed the
conventional way (with a copy along that).

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


More information about the gstreamer-bugs mailing list